(BraceGroup
  left: <Id.Lit_LBrace '{'>
  children: [
    (C {<.>} {<'/DietPi/dietpi/func/dietpi-globals'>})
    (C {<G_CHECK_ROOT_USER>})
    (C {<G_CHECK_ROOTFS_RW>})
    (C {<export>} {<Id.Lit_VarLike 'G_PROGRAM_NAME='> (SQ <DietPi-Software>)})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FP_INSTALLED_FILE='> name:FP_INSTALLED_FILE)
          op: assign_op.Equal
          rhs: {(SQ <'/DietPi/dietpi/.installed'>)}
          spids: [135]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'FP_INSTALLED_FILE_TEMP='>
              name: FP_INSTALLED_FILE_TEMP
            )
          op: assign_op.Equal
          rhs: {(SQ <'/tmp/dietpi-software.installed'>)}
          spids: [141]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'FP_DIETPIAUTOMATION_LOG='>
              name: FP_DIETPIAUTOMATION_LOG
            )
          op: assign_op.Equal
          rhs: {(SQ <'/root/DietPi-Automation.log'>)}
          spids: [148]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'FP_DIETPI_DEDICATED_USBDRIVE='>
              name: FP_DIETPI_DEDICATED_USBDRIVE
            )
          op: assign_op.Equal
          rhs: {(SQ )}
          spids: [159]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'UNINSTALL_FILE='> name:UNINSTALL_FILE)
          op: assign_op.Equal
          rhs: {(SQ <'/tmp/dietpi_uninstall_list'>)}
          spids: [169]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FOLDER_MUSIC='> name:FOLDER_MUSIC)
          op: assign_op.Equal
          rhs: {(SQ <Music>)}
          spids: [180]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FOLDER_PICTURES='> name:FOLDER_PICTURES)
          op: assign_op.Equal
          rhs: {(SQ <Pictures>)}
          spids: [186]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FOLDER_VIDEO='> name:FOLDER_VIDEO)
          op: assign_op.Equal
          rhs: {(SQ <Video>)}
          spids: [192]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FOLDER_DOWNLOADS='> name:FOLDER_DOWNLOADS)
          op: assign_op.Equal
          rhs: {(SQ <downloads>)}
          spids: [198]
        )
      ]
      redirects: []
    )
    (command.ShFunction
      name: Write_InstallFileList
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<local>} {<Id.Lit_VarLike 'write_software_in_pending_state='> <0>})
            (C {<local>} {<Id.Lit_VarLike 'fp_target='> (DQ ($ Id.VSub_DollarName FP_INSTALLED_FILE))})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} 
                              {(DQ <temp>)} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fp_target='> name:fp_target)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName FP_INSTALLED_FILE_TEMP))}
                          spids: [249]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'write_software_in_pending_state='>
                              name: write_software_in_pending_state
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [255]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [228 245]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.Simple
              words: [{<rm>} {(DQ ($ Id.VSub_DollarName fp_target))}]
              redirects: [
                (redir
                  op: <Id.Redir_AndGreat '&>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {<'/dev/null'>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 0>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_Less
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DAmp
                                          left: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: 
                                                {
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                    var_name: aSOFTWARE_INSTALL_STATE
                                                    bracket_op: 
                                                      (bracket_op.ArrayIndex
                                                        expr: {($ Id.VSub_DollarName i)}
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  )
                                                }
                                              right: {<Id.Lit_Digits 1>}
                                            )
                                          right: 
                                            (arith_expr.Unary
                                              op_id: Id.Arith_Bang
                                              child: 
                                                {
                                                  ($ Id.VSub_DollarName 
write_software_in_pending_state
                                                  )
                                                }
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.Simple
                              words: [
                                {<echo>}
                                {<-e>}
                                {(DQ <'aSOFTWARE_INSTALL_STATE['> ($ Id.VSub_DollarName i) <']=0'>)}
                              ]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DGreat '>>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {(DQ ($ Id.VSub_DollarName fp_target))}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                          ]
                          spids: [307 332]
                        )
                      ]
                      else_action: [
                        (command.Simple
                          words: [
                            {<echo>}
                            {<-e>}
                            {
                              (DQ <'aSOFTWARE_INSTALL_STATE['> ($ Id.VSub_DollarName i) <']='> 
                                (braced_var_sub
                                  left: <Id.Left_DollarBrace '${'>
                                  token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                  var_name: aSOFTWARE_INSTALL_STATE
                                  bracket_op: (bracket_op.ArrayIndex expr:{($ Id.VSub_DollarName i)})
                                  right: <Id.Right_DollarBrace '}'>
                                )
                              )
                            }
                          ]
                          redirects: [
                            (redir
                              op: <Id.Redir_DGreat '>>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {(DQ ($ Id.VSub_DollarName fp_target))}
                            )
                          ]
                          more_env: []
                          do_fork: T
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.Simple
              words: [{<cat>}]
              redirects: [
                (redir
                  op: <Id.Redir_DLess '<<'>
                  loc: (redir_loc.Fd fd:0)
                  arg: 
                    (redir_param.HereDoc
                      here_begin: {<_EOF_>}
                      here_end_span_id: 440
                      stdin_parts: [
                        <'\n'>
                        <'#DietPi Choice System: SSH Server\n'>
                        <'INDEX_SSHSERVER_CURRENT='>
                        ($ Id.VSub_DollarName INDEX_SSHSERVER_CURRENT)
                        <'\n'>
                        <'INDEX_SSHSERVER_TARGET='>
                        ($ Id.VSub_DollarName INDEX_SSHSERVER_TARGET)
                        <'\n'>
                        <'\n'>
                        <'#DietPi Choice System: File Server\n'>
                        <'INDEX_FILESERVER_CURRENT='>
                        ($ Id.VSub_DollarName INDEX_FILESERVER_CURRENT)
                        <'\n'>
                        <'INDEX_FILESERVER_TARGET='>
                        ($ Id.VSub_DollarName INDEX_FILESERVER_TARGET)
                        <'\n'>
                        <'\n'>
                        <'#DietPi Choice System: Logging\n'>
                        <'INDEX_LOGGING_CURRENT='>
                        ($ Id.VSub_DollarName INDEX_LOGGING_CURRENT)
                        <'\n'>
                        <'INDEX_LOGGING_TARGET='>
                        ($ Id.VSub_DollarName INDEX_LOGGING_TARGET)
                        <'\n'>
                        <'\n'>
                        <'#DietPi Preference System: Webserver base\n'>
                        <'INDEX_WEBSERVER_CURRENT='>
                        ($ Id.VSub_DollarName INDEX_WEBSERVER_CURRENT)
                        <'\n'>
                        <'INDEX_WEBSERVER_TARGET='>
                        ($ Id.VSub_DollarName INDEX_WEBSERVER_TARGET)
                        <'\n'>
                        <'\n'>
                      ]
                    )
                )
                (redir
                  op: <Id.Redir_DGreat '>>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {(DQ ($ Id.VSub_DollarName fp_target))}
                )
              ]
              more_env: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Read_InstallFileList
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<local>} {<Id.Lit_VarLike 'fp_target='> (DQ ($ Id.VSub_DollarName FP_INSTALLED_FILE))})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} 
                              {(DQ <temp>)} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fp_target='> name:fp_target)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName FP_INSTALLED_FILE_TEMP))}
                          spids: [484]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [463 480]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Reading database, please wait...'>)})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<-f>} {(DQ ($ Id.VSub_DollarName fp_target))} 
                              {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<.>} {(DQ ($ Id.VSub_DollarName fp_target))})]
                  spids: [513 526]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName G_DIETPI_INSTALL_STAGE)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INDEX_SSHSERVER_CURRENT='>
                              name: INDEX_SSHSERVER_CURRENT
                            )
                          op: assign_op.Equal
                          rhs: {<-1>}
                          spids: [564]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INDEX_SSHSERVER_TARGET='>
                              name: INDEX_SSHSERVER_TARGET
                            )
                          op: assign_op.Equal
                          rhs: {<-1>}
                          spids: [568]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INDEX_FILESERVER_CURRENT='>
                              name: INDEX_FILESERVER_CURRENT
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [573]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INDEX_FILESERVER_TARGET='>
                              name: INDEX_FILESERVER_TARGET
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [577]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INDEX_LOGGING_CURRENT='>
                              name: INDEX_LOGGING_CURRENT
                            )
                          op: assign_op.Equal
                          rhs: {<-1>}
                          spids: [582]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INDEX_LOGGING_TARGET='>
                              name: INDEX_LOGGING_TARGET
                            )
                          op: assign_op.Equal
                          rhs: {<-1>}
                          spids: [586]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INDEX_WEBSERVER_CURRENT='>
                              name: INDEX_WEBSERVER_CURRENT
                            )
                          op: assign_op.Equal
                          rhs: {<-2>}
                          spids: [591]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INDEX_WEBSERVER_TARGET='>
                              name: INDEX_WEBSERVER_TARGET
                            )
                          op: assign_op.Equal
                          rhs: {<-2>}
                          spids: [595]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [546 560]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Reset_NTPD
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              words: [{<killall>} {<-w>} {<'/DietPi/dietpi/func/run_ntpd'>}]
              redirects: [
                (redir
                  op: <Id.Redir_AndGreat '&>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {<'/dev/null'>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Simple
              words: [{<killall>} {<-w>} {<ntpd>}]
              redirects: [
                (redir
                  op: <Id.Redir_AndGreat '&>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {<'/dev/null'>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.Simple
              words: [{<rm>} {<'/var/lib/dietpi/.ntpd_exit_status'>}]
              redirects: [
                (redir
                  op: <Id.Redir_AndGreat '&>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {<'/dev/null'>}
                )
              ]
              more_env: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Check_NTPD_Status
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                {
                                  (command_sub
                                    left_token: <Id.Left_DollarParen '$('>
                                    child: 
                                      (command.Pipeline
                                        children: [
                                          (C {<route>})
                                          (C {<awk>} {(SQ <'{print $4}'>)})
                                          (C {<grep>} {<-ci>} {<-m1>} {(SQ <UG>)})
                                        ]
                                        negated: F
                                        stderr_indices: []
                                      )
                                    right: <Id.Eof_RParen _>
                                  )
                                }
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.WhileUntil
                      keyword: <Id.KW_While while>
                      cond: (condition.Shell commands:[(C {<true>})])
                      body: 
                        (command.DoGroup
                          children: [
                            (C {<'/DietPi/dietpi/func/run_ntpd'>} {<status>})
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_NEqual
                                                  left: {($ Id.VSub_QMark '?')}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Unary
                                                          op_id: Id.Arith_Bang
                                                          child: 
                                                            {($ Id.VSub_DollarName G_USER_INPUTS)}
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [(C {<Reset_NTPD>})]
                                          spids: [730 742]
                                        )
                                      ]
                                      else_action: [
                                        (C {<whiptail>} {<--title>} {(DQ <'NTPD update failed'>)} 
                                          {<--yesno>} 
                                          {
                                            (DQ 
                                              <
'NTPD timesync has not yet completed, or, failed to update. To prevent issues with outdated system time during installations, you must either:'
                                              > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n - Retry NTPD update (recommended)'> 
                                              <Id.Lit_BadBackslash '\\'> 
                                              <
'nThis will kill the current NTPD process and retry NTPD update. If this fails again, please use option below.'
                                              > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n - Override (last resort)'> 
                                              <Id.Lit_BadBackslash '\\'> 
                                              <
'nThis will override NTPD update checks, however, your system time will be out of sync and may cause issues during installations.'
                                              > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                                              <
'nYou can check the NTPD logs for debugging purposes with:'
                                              > <Id.Lit_BadBackslash '\\'> <'n   cat /var/log/ntpd.log'>
                                            )
                                          } {<--yes-button>} {(DQ <Override>)} {<--no-button>} {(DQ <Retry>)} {<--defaultno>} {<--backtitle>} 
                                          {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<20>} {<80>}
                                        )
                                        (command.If
                                          arms: [
                                            (if_arm
                                              cond: 
                                                (condition.Shell
                                                  commands: [
                                                    (command.Sentence
                                                      child: 
                                                        (command.DParen
                                                          child: 
                                                            (arith_expr.Binary
                                                              op_id: Id.Arith_DEqual
                                                              left: {($ Id.VSub_QMark '?')}
                                                              right: {<Id.Lit_Digits 1>}
                                                            )
                                                          redirects: []
                                                        )
                                                      terminator: <Id.Op_Semi _>
                                                    )
                                                  ]
                                                )
                                              action: [(C {<Reset_NTPD>})]
                                              spids: [815 829]
                                            )
                                          ]
                                          else_action: [
                                            (C {<Reset_NTPD>})
                                            (command.Simple
                                              words: [{<echo>} {<0>}]
                                              redirects: [
                                                (redir
                                                  op: <Id.Redir_Great '>'>
                                                  loc: (redir_loc.Fd fd:1)
                                                  arg: {<'/var/lib/dietpi/.ntpd_exit_status'>}
                                                )
                                              ]
                                              more_env: []
                                              do_fork: T
                                            )
                                            (command.Simple
                                              words: [{<echo>} {<1>}]
                                              redirects: [
                                                (redir
                                                  op: <Id.Redir_Great '>'>
                                                  loc: (redir_loc.Fd fd:1)
                                                  arg: {<'/var/lib/dietpi/.ntpd_override'>}
                                                )
                                              ]
                                              more_env: []
                                              do_fork: T
                                            )
                                          ]
                                          redirects: []
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [708 722]
                                )
                              ]
                              else_action: [(command.ControlFlow token:<Id.ControlFlow_Break break>)]
                              redirects: []
                            )
                          ]
                        )
                      redirects: []
                    )
                  ]
                  spids: [658 690]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DISABLE_REBOOT='> name:DISABLE_REBOOT)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [911]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'GLOBAL_PW='> name:GLOBAL_PW)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                child: 
                  (command.Pipeline
                    children: [
                      (C {<cat>} {<'/DietPi/dietpi.txt'>})
                      (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_GLOBAL_PASSWORD='>)})
                      (C {<sed>} {(SQ <'s/.*=//'>)})
                    ]
                    negated: F
                    stderr_indices: []
                  )
                right: <Id.Eof_RParen _>
              )
            }
          spids: [920]
        )
      ]
      redirects: []
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-n>} 
                      {(DQ ($ Id.VSub_DollarName GLOBAL_PW))} {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'GLOBAL_PW='> name:GLOBAL_PW)
                  op: assign_op.Equal
                  rhs: {(SQ <dietpi>)}
                  spids: [965]
                )
              ]
              redirects: []
            )
          ]
          spids: [946 961]
        )
      ]
      else_action: []
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'RAM_TOTAL='> name:RAM_TOTAL)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                child: 
                  (command.Pipeline
                    children: [
                      (C {<free>} {<-m>})
                      (C {<grep>} {<-m1>} {(SQ <'Mem:'>)})
                      (C {<awk>} {(SQ <'{print $2}'>)})
                    ]
                    negated: F
                    stderr_indices: []
                  )
                right: <Id.Eof_RParen _>
              )
            }
          spids: [980]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'GOSTARTINSTALL='> name:GOSTARTINSTALL)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1011]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
              name: INSTALL_URL_ADDRESS
            )
          op: assign_op.Equal
          rhs: {(SQ )}
          spids: [1015]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'INSTALL_DESCRIPTION='>
              name: INSTALL_DESCRIPTION
            )
          op: assign_op.Equal
          rhs: {(SQ <DietPi>)}
          spids: [1020]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'USER_EMONHUB_APIKEY_COMPLETED='>
              name: USER_EMONHUB_APIKEY_COMPLETED
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1031]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'USER_EMONHUB_APIKEY_CURRENT='>
              name: USER_EMONHUB_APIKEY_CURRENT
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1035]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'WIFIHOTSPOT_RTL8188C_DEVICE='>
              name: WIFIHOTSPOT_RTL8188C_DEVICE
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1039]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'USER_LINUX_AUTOINSTALL_PROMPT_DISPLAYED='>
              name: USER_LINUX_AUTOINSTALL_PROMPT_DISPLAYED
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1043]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FP_PHP_BASE_DIR='> name:FP_PHP_BASE_DIR)
          op: assign_op.Equal
          rhs: {(SQ <'/etc/php/7.0'>)}
          spids: [1052]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'PHP_APT_PACKAGE_NAME='>
              name: PHP_APT_PACKAGE_NAME
            )
          op: assign_op.Equal
          rhs: {(SQ <php>)}
          spids: [1058]
        )
      ]
      redirects: []
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (command.DParen
                      child: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Less
                          left: {($ Id.VSub_DollarName G_DISTRO)}
                          right: {<Id.Lit_Digits 4>}
                        )
                      redirects: []
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'FP_PHP_BASE_DIR='>
                      name: FP_PHP_BASE_DIR
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'/etc/php5'>)}
                  spids: [1082]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'PHP_APT_PACKAGE_NAME='>
                      name: PHP_APT_PACKAGE_NAME
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <php5>)}
                  spids: [1088]
                )
              ]
              redirects: []
            )
          ]
          spids: [1064 1078]
        )
      ]
      else_action: []
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USBDRIVE='> name:USBDRIVE)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1103]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'INSTALL_DIETPI_CHOICESMADE='>
              name: INSTALL_DIETPI_CHOICESMADE
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1112]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'INSTALL_LINUX_CHOICESMADE='>
              name: INSTALL_LINUX_CHOICESMADE
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1116]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'INSTALL_SSHSERVER_CHOICESMADE='>
              name: INSTALL_SSHSERVER_CHOICESMADE
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1129]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'INDEX_SSHSERVER_CURRENT='>
              name: INDEX_SSHSERVER_CURRENT
            )
          op: assign_op.Equal
          rhs: {<-1>}
          spids: [1133]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'INDEX_SSHSERVER_TARGET='>
              name: INDEX_SSHSERVER_TARGET
            )
          op: assign_op.Equal
          rhs: {<-1>}
          spids: [1137]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'INSTALL_FILESERVER_CHOICESMADE='>
              name: INSTALL_FILESERVER_CHOICESMADE
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1150]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'INDEX_FILESERVER_CURRENT='>
              name: INDEX_FILESERVER_CURRENT
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1154]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'INDEX_FILESERVER_TARGET='>
              name: INDEX_FILESERVER_TARGET
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1158]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'INSTALL_LOGGING_CHOICESMADE='>
              name: INSTALL_LOGGING_CHOICESMADE
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1171]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'INDEX_LOGGING_CURRENT='>
              name: INDEX_LOGGING_CURRENT
            )
          op: assign_op.Equal
          rhs: {<-1>}
          spids: [1175]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'INDEX_LOGGING_TARGET='>
              name: INDEX_LOGGING_TARGET
            )
          op: assign_op.Equal
          rhs: {<-1>}
          spids: [1179]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'INDEX_WEBSERVER_CURRENT='>
              name: INDEX_WEBSERVER_CURRENT
            )
          op: assign_op.Equal
          rhs: {<-2>}
          spids: [1192]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'INDEX_WEBSERVER_TARGET='>
              name: INDEX_WEBSERVER_TARGET
            )
          op: assign_op.Equal
          rhs: {<-2>}
          spids: [1196]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'aSOFTWARE_CATEGORIES_DIETPI='>
              name: aSOFTWARE_CATEGORIES_DIETPI
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1209]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'MAX_SOFTWARE_CATEGORIES_DIETPI='>
              name: MAX_SOFTWARE_CATEGORIES_DIETPI
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1216]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'aSOFTWARE_CATEGORIES_LINUX='>
              name: aSOFTWARE_CATEGORIES_LINUX
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1221]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'MAX_SOFTWARE_CATEGORIES_LINUX='>
              name: MAX_SOFTWARE_CATEGORIES_LINUX
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1225]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'TOTAL_SOFTWARE_INDEXS='>
              name: TOTAL_SOFTWARE_INDEXS
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1238]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'TOTAL_SOFTWARE_INDEXS_HARDLIMIT='>
              name: TOTAL_SOFTWARE_INDEXS_HARDLIMIT
            )
          op: assign_op.Equal
          rhs: {<171>}
          spids: [1242]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'INSTALLING_INDEX='> name:INSTALLING_INDEX)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1250]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'aSOFTWARE_CATEGORY_INDEX='>
              name: aSOFTWARE_CATEGORY_INDEX
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1258]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'aSOFTWARE_TYPE='> name:aSOFTWARE_TYPE)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1265]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'aSOFTWARE_INSTALL_STATE='>
              name: aSOFTWARE_INSTALL_STATE
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1273]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'aSOFTWARE_WHIP_NAME='>
              name: aSOFTWARE_WHIP_NAME
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1281]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'aSOFTWARE_WHIP_DESC='>
              name: aSOFTWARE_WHIP_DESC
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1288]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'FP_ONLINEDOC_URL='> name:FP_ONLINEDOC_URL)
          op: assign_op.Equal
          rhs: {(SQ <'http://dietpi.com/phpbb/viewtopic.php?'>)}
          spids: [1296]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'aSOFTWARE_ONLINEDOC_URL='>
              name: aSOFTWARE_ONLINEDOC_URL
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1302]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'aSOFTWARE_REQUIRES_USERINPUT='>
              name: aSOFTWARE_REQUIRES_USERINPUT
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1311]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'aSOFTWARE_REQUIRES_ALSA='>
              name: aSOFTWARE_REQUIRES_ALSA
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1320]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'aSOFTWARE_REQUIRES_XSERVERXORG='>
              name: aSOFTWARE_REQUIRES_XSERVERXORG
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1324]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'aSOFTWARE_REQUIRES_MYSQL='>
              name: aSOFTWARE_REQUIRES_MYSQL
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1328]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'aSOFTWARE_REQUIRES_SQLITE='>
              name: aSOFTWARE_REQUIRES_SQLITE
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1332]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'aSOFTWARE_REQUIRES_WEBSERVER='>
              name: aSOFTWARE_REQUIRES_WEBSERVER
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1336]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'aSOFTWARE_REQUIRES_DESKTOP='>
              name: aSOFTWARE_REQUIRES_DESKTOP
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1340]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'aSOFTWARE_REQUIRES_GIT='>
              name: aSOFTWARE_REQUIRES_GIT
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1344]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'aSOFTWARE_REQUIRES_BUILDESSENTIAL='>
              name: aSOFTWARE_REQUIRES_BUILDESSENTIAL
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1348]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'aSOFTWARE_REQUIRES_RSYSLOG='>
              name: aSOFTWARE_REQUIRES_RSYSLOG
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1352]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'aSOFTWARE_REQUIRES_FFMPEG='>
              name: aSOFTWARE_REQUIRES_FFMPEG
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1356]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'aSOFTWARE_REQUIRES_ORACLEJAVA='>
              name: aSOFTWARE_REQUIRES_ORACLEJAVA
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1360]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'aSOFTWARE_REQUIRES_NODEJS='>
              name: aSOFTWARE_REQUIRES_NODEJS
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [1364]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MAX_G_HW_MODEL='> name:MAX_G_HW_MODEL)
          op: assign_op.Equal
          rhs: {<71>}
          spids: [1373]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MAX_G_HW_ARCH='> name:MAX_G_HW_ARCH)
          op: assign_op.Equal
          rhs: {<10>}
          spids: [1380]
        )
      ]
      redirects: []
    )
    (C {<declare>} {<-A>} {<aSOFTWARE_AVAIL_G_HW_MODEL>})
    (C {<declare>} {<-A>} {<aSOFTWARE_AVAIL_G_HW_ARCH>})
    (command.ShFunction
      name: Software_Arrays_Init
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'aSOFTWARE_CATEGORIES_DIETPI='>
                      name: aSOFTWARE_CATEGORIES_DIETPI
                    )
                  op: assign_op.Equal
                  rhs: 
                    {
                      (sh_array_literal
                        left: <Id.Op_LParen _>
                        words: [
                          {
                            (DQ 
                              <
'────Desktops──────────────────────────────────────────────'
                              >
                            )
                          }
                          {
                            (DQ 
                              <
'────Remote Desktop Access─────────────────────────────────'
                              >
                            )
                          }
                          {
                            (DQ 
                              <
'────Media Systems─────────────────────────────────────────'
                              >
                            )
                          }
                          {
                            (DQ 
                              <
'────BitTorrent / Download Tools───────────────────────────'
                              >
                            )
                          }
                          {
                            (DQ 
                              <
'────Cloud / Backups───────────────────────────────────────'
                              >
                            )
                          }
                          {
                            (DQ 
                              <
'────Emulation & Gaming────────────────────────────────────'
                              >
                            )
                          }
                          {
                            (DQ 
                              <
'────Social / Search───────────────────────────────────────'
                              >
                            )
                          }
                          {
                            (DQ 
                              <
'────Camera / Surveillance─────────────────────────────────'
                              >
                            )
                          }
                          {
                            (DQ 
                              <
'────WiFi Hotspot──────────────────────────────────────────'
                              >
                            )
                          }
                          {
                            (DQ 
                              <
'────System Stats / Management─────────────────────────────'
                              >
                            )
                          }
                          {
                            (DQ 
                              <
'────Remote Access─────────────────────────────────────────'
                              >
                            )
                          }
                          {
                            (DQ 
                              <
'────Hardware Projects─────────────────────────────────────'
                              >
                            )
                          }
                          {
                            (DQ 
                              <
'────System Security───────────────────────────────────────'
                              >
                            )
                          }
                          {
                            (DQ 
                              <
'────Webserver Stacks──────────────────────────────────────'
                              >
                            )
                          }
                          {
                            (DQ 
                              <
'────Pi-hole───────────────────────────────────────────────'
                              >
                            )
                          }
                          {
                            (DQ 
                              <
'────File Servers──────────────────────────────────────────'
                              >
                            )
                          }
                          {
                            (DQ 
                              <
'────VPN Servers───────────────────────────────────────────'
                              >
                            )
                          }
                          {
                            (DQ 
                              <
'────Advanced Networking───────────────────────────────────'
                              >
                            )
                          }
                          {
                            (DQ 
                              <
'────Home Automation───────────────────────────────────────'
                              >
                            )
                          }
                          {
                            (DQ 
                              <
'────Printing──────────────────────────────────────────────'
                              >
                            )
                          }
                        ]
                      )
                    }
                  spids: [1685]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'MAX_SOFTWARE_CATEGORIES_DIETPI='>
                      name: MAX_SOFTWARE_CATEGORIES_DIETPI
                    )
                  op: assign_op.Equal
                  rhs: 
                    {
                      (braced_var_sub
                        left: <Id.Left_DollarBrace '${'>
                        token: <Id.VSub_Name aSOFTWARE_CATEGORIES_DIETPI>
                        var_name: aSOFTWARE_CATEGORIES_DIETPI
                        prefix_op: <Id.VSub_Pound '#'>
                        bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                        right: <Id.Right_DollarBrace '}'>
                      )
                    }
                  spids: [1855]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'aSOFTWARE_CATEGORIES_LINUX='>
                      name: aSOFTWARE_CATEGORIES_LINUX
                    )
                  op: assign_op.Equal
                  rhs: 
                    {
                      (sh_array_literal
                        left: <Id.Op_LParen _>
                        words: [
                          {
                            (DQ 
                              <
'────SSH Clients───────────────────────────────────────────'
                              >
                            )
                          }
                          {
                            (DQ 
                              <
'────Fileserver Clients────────────────────────────────────'
                              >
                            )
                          }
                          {
                            (DQ 
                              <
'────File Managers─────────────────────────────────────────'
                              >
                            )
                          }
                          {
                            (DQ 
                              <
'────System────────────────────────────────────────────────'
                              >
                            )
                          }
                          {
                            (DQ 
                              <
'────Shared Libraries──────────────────────────────────────'
                              >
                            )
                          }
                          {
                            (DQ 
                              <
'────Networking / Tools────────────────────────────────────'
                              >
                            )
                          }
                          {
                            (DQ 
                              <
'────Development / Programming─────────────────────────────'
                              >
                            )
                          }
                          {
                            (DQ 
                              <
'────Text Editors──────────────────────────────────────────'
                              >
                            )
                          }
                          {
                            (DQ 
                              <
'────Desktop Utilities─────────────────────────────────────'
                              >
                            )
                          }
                        ]
                      )
                    }
                  spids: [1870]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'MAX_SOFTWARE_CATEGORIES_LINUX='>
                      name: MAX_SOFTWARE_CATEGORIES_LINUX
                    )
                  op: assign_op.Equal
                  rhs: 
                    {
                      (braced_var_sub
                        left: <Id.Left_DollarBrace '${'>
                        token: <Id.VSub_Name aSOFTWARE_CATEGORIES_LINUX>
                        var_name: aSOFTWARE_CATEGORIES_LINUX
                        prefix_op: <Id.VSub_Pound '#'>
                        bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                        right: <Id.Right_DollarBrace '}'>
                      )
                    }
                  spids: [1952]
                )
              ]
              redirects: []
            )
            (C {<local>} {<Id.Lit_VarLike 'debug_array_count='> <0>})
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 0>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_Less
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS_HARDLIMIT)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.ForExpr
                      init: 
                        (arith_expr.BinaryAssign
                          op_id: Id.Arith_Equal
                          left: ($ Id.Lit_ArithVarLike j)
                          right: {<Id.Lit_Digits 0>}
                        )
                      cond: 
                        (arith_expr.Binary
                          op_id: Id.Arith_LessEqual
                          left: ($ Id.Lit_ArithVarLike j)
                          right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)}
                        )
                      update: 
                        (arith_expr.UnaryAssign
                          op_id: Id.Node_PostDPlus
                          child: ($ Id.Lit_ArithVarLike j)
                        )
                      body: 
                        (command.DoGroup
                          children: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['>
                                      name: aSOFTWARE_AVAIL_G_HW_MODEL
                                      index: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Comma
                                          left: {($ Id.VSub_DollarName i)}
                                          right: {($ Id.VSub_DollarName j)}
                                        )
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [2032]
                                )
                              ]
                              redirects: []
                            )
                          ]
                        )
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 0>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_Less
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS_HARDLIMIT)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.ForExpr
                      init: 
                        (arith_expr.BinaryAssign
                          op_id: Id.Arith_Equal
                          left: ($ Id.Lit_ArithVarLike j)
                          right: {<Id.Lit_Digits 0>}
                        )
                      cond: 
                        (arith_expr.Binary
                          op_id: Id.Arith_LessEqual
                          left: ($ Id.Lit_ArithVarLike j)
                          right: {($ Id.VSub_DollarName MAX_G_HW_ARCH)}
                        )
                      update: 
                        (arith_expr.UnaryAssign
                          op_id: Id.Node_PostDPlus
                          child: ($ Id.Lit_ArithVarLike j)
                        )
                      body: 
                        (command.DoGroup
                          children: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['>
                                      name: aSOFTWARE_AVAIL_G_HW_ARCH
                                      index: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Comma
                                          left: {($ Id.VSub_DollarName i)}
                                          right: {($ Id.VSub_DollarName j)}
                                        )
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [2107]
                                )
                              ]
                              redirects: []
                            )
                          ]
                        )
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 0>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_Less
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS_HARDLIMIT)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                              name: aSOFTWARE_ONLINEDOC_URL
                              index: {($ Id.VSub_DollarName i)}
                            )
                          op: assign_op.Equal
                          rhs: {(SQ )}
                          spids: [2171]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 0>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_Less
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS_HARDLIMIT)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_USERINPUT['>
                              name: aSOFTWARE_REQUIRES_USERINPUT
                              index: {($ Id.VSub_DollarName i)}
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [2224]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['>
                              name: aSOFTWARE_REQUIRES_ALSA
                              index: {($ Id.VSub_DollarName i)}
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [2233]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_XSERVERXORG['>
                              name: aSOFTWARE_REQUIRES_XSERVERXORG
                              index: {($ Id.VSub_DollarName i)}
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [2241]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_MYSQL['>
                              name: aSOFTWARE_REQUIRES_MYSQL
                              index: {($ Id.VSub_DollarName i)}
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [2249]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_SQLITE['>
                              name: aSOFTWARE_REQUIRES_SQLITE
                              index: {($ Id.VSub_DollarName i)}
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [2257]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['>
                              name: aSOFTWARE_REQUIRES_WEBSERVER
                              index: {($ Id.VSub_DollarName i)}
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [2265]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_DESKTOP['>
                              name: aSOFTWARE_REQUIRES_DESKTOP
                              index: {($ Id.VSub_DollarName i)}
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [2273]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_GIT['>
                              name: aSOFTWARE_REQUIRES_GIT
                              index: {($ Id.VSub_DollarName i)}
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [2281]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_BUILDESSENTIAL['>
                              name: aSOFTWARE_REQUIRES_BUILDESSENTIAL
                              index: {($ Id.VSub_DollarName i)}
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [2289]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_RSYSLOG['>
                              name: aSOFTWARE_REQUIRES_RSYSLOG
                              index: {($ Id.VSub_DollarName i)}
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [2297]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_FFMPEG['>
                              name: aSOFTWARE_REQUIRES_FFMPEG
                              index: {($ Id.VSub_DollarName i)}
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [2305]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ORACLEJAVA['>
                              name: aSOFTWARE_REQUIRES_ORACLEJAVA
                              index: {($ Id.VSub_DollarName i)}
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [2313]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_NODEJS['>
                              name: aSOFTWARE_REQUIRES_NODEJS
                              index: {($ Id.VSub_DollarName i)}
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [2321]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (C {<local>} {<Id.Lit_VarLike 'index_current='> <0>})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<23>}
                  spids: [2366]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <LXDE>)}
                  spids: [2371]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'ultra lightweight desktop'>)}
                  spids: [2381]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [2391]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [2399]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['>
                      name: aSOFTWARE_REQUIRES_ALSA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [2407]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_XSERVERXORG['>
                      name: aSOFTWARE_REQUIRES_XSERVERXORG
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [2415]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5#p42'>)}
                  spids: [2423]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<24>}
                  spids: [2438]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <MATE>)}
                  spids: [2442]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'desktop enviroment'>)}
                  spids: [2452]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [2462]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [2470]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['>
                      name: aSOFTWARE_REQUIRES_ALSA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [2478]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_XSERVERXORG['>
                      name: aSOFTWARE_REQUIRES_XSERVERXORG
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [2486]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=60#p2073'>)}
                  spids: [2494]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<25>}
                  spids: [2509]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <XFCE>)}
                  spids: [2514]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'lightweight desktop environment'>)}
                  spids: [2524]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [2534]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [2542]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['>
                      name: aSOFTWARE_REQUIRES_ALSA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [2550]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_XSERVERXORG['>
                      name: aSOFTWARE_REQUIRES_XSERVERXORG
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [2558]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=70#p2203'>)}
                  spids: [2566]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<26>}
                  spids: [2581]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <GNUStep>)}
                  spids: [2586]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'lightweight based on OpenStep'>)}
                  spids: [2596]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [2606]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [2614]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['>
                      name: aSOFTWARE_REQUIRES_ALSA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [2622]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_XSERVERXORG['>
                      name: aSOFTWARE_REQUIRES_XSERVERXORG
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [2630]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=60#p2072'>)}
                  spids: [2638]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<113>}
                  spids: [2653]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Chromium>)}
                  spids: [2658]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'(Optional) web browser'>)}
                  spids: [2668]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [2678]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [2686]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_DESKTOP['>
                      name: aSOFTWARE_REQUIRES_DESKTOP
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [2694]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'http://dietpi.com/phpbb/viewtopic.php?f=8&t=5&p=3011#p3011'>)}
                  spids: [2702]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['>
                      name: aSOFTWARE_AVAIL_G_HW_ARCH
                      index: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Comma
                          left: {($ Id.VSub_DollarName index_current)}
                          right: {<Id.Lit_Digits 1>}
                        )
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [2717]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['>
                      name: aSOFTWARE_AVAIL_G_HW_MODEL
                      index: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Comma
                          left: {($ Id.VSub_DollarName index_current)}
                          right: {<Id.Lit_Digits 20>}
                        )
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [2734]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<27>}
                  spids: [2755]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'TightVNC Server'>)}
                  spids: [2760]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'desktop for remote connection'>)}
                  spids: [2770]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [2780]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [2788]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_DESKTOP['>
                      name: aSOFTWARE_REQUIRES_DESKTOP
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [2796]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=30#p408'>)}
                  spids: [2804]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['>
                      name: aSOFTWARE_AVAIL_G_HW_ARCH
                      index: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Comma
                          left: {($ Id.VSub_DollarName index_current)}
                          right: {<Id.Lit_Digits 3>}
                        )
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [2819]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_GreatEqual
                                  left: {($ Id.VSub_DollarName G_DISTRO)}
                                  right: {<Id.Lit_Digits 4>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ForExpr
                      init: 
                        (arith_expr.BinaryAssign
                          op_id: Id.Arith_Equal
                          left: ($ Id.Lit_ArithVarLike i)
                          right: {<Id.Lit_Digits 0>}
                        )
                      cond: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Less
                          left: ($ Id.Lit_ArithVarLike i)
                          right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)}
                        )
                      update: 
                        (arith_expr.UnaryAssign
                          op_id: Id.Node_PostDPlus
                          child: ($ Id.Lit_ArithVarLike i)
                        )
                      body: 
                        (command.DoGroup
                          children: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['>
                                      name: aSOFTWARE_AVAIL_G_HW_MODEL
                                      index: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Comma
                                          left: {($ Id.VSub_DollarName index_current)}
                                          right: {($ Id.VSub_DollarName i)}
                                        )
                                    )
                                  op: assign_op.Equal
                                  rhs: {<0>}
                                  spids: [2877]
                                )
                              ]
                              redirects: []
                            )
                          ]
                        )
                      redirects: []
                    )
                  ]
                  spids: [2836 2850]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<28>}
                  spids: [2902]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'VNC4 Server'>)}
                  spids: [2907]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'desktop for remote connection'>)}
                  spids: [2917]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [2927]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [2935]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_DESKTOP['>
                      name: aSOFTWARE_REQUIRES_DESKTOP
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [2943]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=30#p408'>)}
                  spids: [2951]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<29>}
                  spids: [2966]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <XRDP>)}
                  spids: [2971]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'remote desktop protocol (rdp) server'>)}
                  spids: [2981]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [2991]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [2999]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_DESKTOP['>
                      name: aSOFTWARE_REQUIRES_DESKTOP
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [3007]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=70#p2074'>)}
                  spids: [3015]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<30>}
                  spids: [3030]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <NoMachine>)}
                  spids: [3035]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'multi-platform server and client access'>)}
                  spids: [3045]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [3055]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [3063]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_DESKTOP['>
                      name: aSOFTWARE_REQUIRES_DESKTOP
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [3071]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=60#p2071'>)}
                  spids: [3079]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['>
                      name: aSOFTWARE_AVAIL_G_HW_ARCH
                      index: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Comma
                          left: {($ Id.VSub_DollarName index_current)}
                          right: {<Id.Lit_Digits 3>}
                        )
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [3094]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<120>}
                  spids: [3111]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'RealVNC Server'>)}
                  spids: [3116]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'desktop for remote connection'>)}
                  spids: [3126]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [3136]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [3144]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_DESKTOP['>
                      name: aSOFTWARE_REQUIRES_DESKTOP
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [3152]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=4149#p4149'>)}
                  spids: [3160]
                )
              ]
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 10>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_Less
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['>
                              name: aSOFTWARE_AVAIL_G_HW_MODEL
                              index: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Comma
                                  left: {($ Id.VSub_DollarName index_current)}
                                  right: {($ Id.VSub_DollarName i)}
                                )
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [3198]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<31>}
                  spids: [3223]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Kodi>)}
                  spids: [3228]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'the media centre for linux'>)}
                  spids: [3238]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<2>}
                  spids: [3248]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [3256]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['>
                      name: aSOFTWARE_REQUIRES_ALSA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [3264]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_XSERVERXORG['>
                      name: aSOFTWARE_REQUIRES_XSERVERXORG
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [3272]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5#p43'>)}
                  spids: [3280]
                )
              ]
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 20>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_Less
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['>
                              name: aSOFTWARE_AVAIL_G_HW_MODEL
                              index: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Comma
                                  left: {($ Id.VSub_DollarName index_current)}
                                  right: {($ Id.VSub_DollarName i)}
                                )
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [3318]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<32>}
                  spids: [3339]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <YMPD>)}
                  spids: [3344]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'lightweight web interface music player for mpd'>)}
                  spids: [3354]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<2>}
                  spids: [3364]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [3372]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['>
                      name: aSOFTWARE_REQUIRES_ALSA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [3380]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5#p50'>)}
                  spids: [3388]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<119>}
                  spids: [3403]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <CAVA>)}
                  spids: [3408]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'optional: console audio vis for mpd'>)}
                  spids: [3418]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<2>}
                  spids: [3428]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [3436]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['>
                      name: aSOFTWARE_REQUIRES_ALSA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [3444]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=3928#p3928'>)}
                  spids: [3452]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['>
                      name: aSOFTWARE_AVAIL_G_HW_ARCH
                      index: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Comma
                          left: {($ Id.VSub_DollarName index_current)}
                          right: {<Id.Lit_Digits 10>}
                        )
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [3467]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<33>}
                  spids: [3484]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'SubSonic 5'>)}
                  spids: [3489]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'web interface media streaming server'>)}
                  spids: [3499]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<2>}
                  spids: [3509]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [3517]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['>
                      name: aSOFTWARE_REQUIRES_ALSA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [3525]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_FFMPEG['>
                      name: aSOFTWARE_REQUIRES_FFMPEG
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [3533]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ORACLEJAVA['>
                      name: aSOFTWARE_REQUIRES_ORACLEJAVA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [3541]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['>
                      name: aSOFTWARE_REQUIRES_ALSA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [3549]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=30#p213'>)}
                  spids: [3557]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<34>}
                  spids: [3572]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'SubSonic 6'>)}
                  spids: [3577]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'web interface media streaming server'>)}
                  spids: [3587]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<2>}
                  spids: [3597]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [3605]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['>
                      name: aSOFTWARE_REQUIRES_ALSA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [3613]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_FFMPEG['>
                      name: aSOFTWARE_REQUIRES_FFMPEG
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [3621]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ORACLEJAVA['>
                      name: aSOFTWARE_REQUIRES_ORACLEJAVA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [3629]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['>
                      name: aSOFTWARE_REQUIRES_ALSA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [3637]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=30#p213'>)}
                  spids: [3645]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<35>}
                  spids: [3660]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <SqueezeBox>)}
                  spids: [3665]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'logitech media server (lms)'>)}
                  spids: [3675]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<2>}
                  spids: [3685]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [3693]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=1009#p1009'>)}
                  spids: [3701]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<36>}
                  spids: [3716]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <SqueezeLite>)}
                  spids: [3721]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'audio player for lms & squeezebox'>)}
                  spids: [3731]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<2>}
                  spids: [3741]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [3749]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['>
                      name: aSOFTWARE_REQUIRES_ALSA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [3757]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=1009#p1009'>)}
                  spids: [3765]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<37>}
                  spids: [3780]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'Shairport Sync'>)}
                  spids: [3785]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'airplay audio player with multiroom sync'>)}
                  spids: [3795]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<2>}
                  spids: [3805]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [3813]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['>
                      name: aSOFTWARE_REQUIRES_ALSA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [3821]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=1221#p1221'>)}
                  spids: [3829]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['>
                      name: aSOFTWARE_AVAIL_G_HW_ARCH
                      index: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Comma
                          left: {($ Id.VSub_DollarName index_current)}
                          right: {<Id.Lit_Digits 10>}
                        )
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [3844]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<38>}
                  spids: [3861]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <BruteFIR>)}
                  spids: [3866]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'eq and digital room correction via alsa'>)}
                  spids: [3876]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<2>}
                  spids: [3886]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [3894]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['>
                      name: aSOFTWARE_REQUIRES_ALSA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [3902]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=57#p57'>)}
                  spids: [3910]
                )
              ]
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 10>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_LessEqual
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['>
                              name: aSOFTWARE_AVAIL_G_HW_MODEL
                              index: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Comma
                                  left: {($ Id.VSub_DollarName index_current)}
                                  right: {($ Id.VSub_DollarName i)}
                                )
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [3948]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<39>}
                  spids: [3969]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <ReadyMedia>)}
                  spids: [3974]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'(MiniDLNA) media streaming server (dlna, upnp)'>)}
                  spids: [3984]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<2>}
                  spids: [3994]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [4002]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['>
                      name: aSOFTWARE_REQUIRES_ALSA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [4010]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5#p49'>)}
                  spids: [4018]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<40>}
                  spids: [4033]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Ampache>)}
                  spids: [4038]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'web interface media streaming server'>)}
                  spids: [4048]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<2>}
                  spids: [4058]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [4066]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['>
                      name: aSOFTWARE_REQUIRES_ALSA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [4074]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_GIT['>
                      name: aSOFTWARE_REQUIRES_GIT
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [4082]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_FFMPEG['>
                      name: aSOFTWARE_REQUIRES_FFMPEG
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [4090]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['>
                      name: aSOFTWARE_REQUIRES_WEBSERVER
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [4098]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_MYSQL['>
                      name: aSOFTWARE_REQUIRES_MYSQL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [4106]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=40#p554'>)}
                  spids: [4114]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<41>}
                  spids: [4129]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'Emby Server'>)}
                  spids: [4134]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'web interface media streaming server'>)}
                  spids: [4144]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<2>}
                  spids: [4154]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [4162]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_FFMPEG['>
                      name: aSOFTWARE_REQUIRES_FFMPEG
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [4170]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=1789#p1789'>)}
                  spids: [4178]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['>
                      name: aSOFTWARE_AVAIL_G_HW_ARCH
                      index: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Comma
                          left: {($ Id.VSub_DollarName index_current)}
                          right: {<Id.Lit_Digits 1>}
                        )
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [4193]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['>
                      name: aSOFTWARE_AVAIL_G_HW_ARCH
                      index: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Comma
                          left: {($ Id.VSub_DollarName index_current)}
                          right: {<Id.Lit_Digits 3>}
                        )
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [4210]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<42>}
                  spids: [4227]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'Plex Media Server'>)}
                  spids: [4232]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'web interface media streaming server'>)}
                  spids: [4242]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<2>}
                  spids: [4252]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [4260]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=1949#p1949'>)}
                  spids: [4268]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['>
                      name: aSOFTWARE_AVAIL_G_HW_ARCH
                      index: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Comma
                          left: {($ Id.VSub_DollarName index_current)}
                          right: {<Id.Lit_Digits 1>}
                        )
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [4283]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<43>}
                  spids: [4300]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Murmur>)}
                  spids: [4305]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'mumble voip server'>)}
                  spids: [4315]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<2>}
                  spids: [4325]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [4333]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=1691#p1691'>)}
                  spids: [4341]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<118>}
                  spids: [4356]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Mopidy>)}
                  spids: [4361]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'web interface music & radio player'>)}
                  spids: [4371]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<2>}
                  spids: [4381]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [4389]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=80#p3611'>)}
                  spids: [4397]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['>
                      name: aSOFTWARE_REQUIRES_ALSA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [4407]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<121>}
                  spids: [4420]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'Roon Bridge'>)}
                  spids: [4425]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'Turns device into Roon capable audio player'>)}
                  spids: [4435]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<2>}
                  spids: [4445]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [4453]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=80#p4153'>)}
                  spids: [4461]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['>
                      name: aSOFTWARE_REQUIRES_ALSA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [4471]
                )
              ]
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 0>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_LessEqual
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName MAX_G_HW_ARCH)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['>
                              name: aSOFTWARE_AVAIL_G_HW_ARCH
                              index: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Comma
                                  left: {($ Id.VSub_DollarName index_current)}
                                  right: {($ Id.VSub_DollarName i)}
                                )
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [4507]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 2>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_LessEqual
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 10>}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['>
                              name: aSOFTWARE_AVAIL_G_HW_ARCH
                              index: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Comma
                                  left: {($ Id.VSub_DollarName index_current)}
                                  right: {($ Id.VSub_DollarName i)}
                                )
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [4551]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<124>}
                  spids: [4572]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'NAA daemon'>)}
                  spids: [4577]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'signalyst network audio adaptor (naa)'>)}
                  spids: [4587]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<2>}
                  spids: [4597]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [4605]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=90#p4294'>)}
                  spids: [4613]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['>
                      name: aSOFTWARE_REQUIRES_ALSA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [4623]
                )
              ]
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 0>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_LessEqual
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName MAX_G_HW_ARCH)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['>
                              name: aSOFTWARE_AVAIL_G_HW_ARCH
                              index: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Comma
                                  left: {($ Id.VSub_DollarName index_current)}
                                  right: {($ Id.VSub_DollarName i)}
                                )
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [4659]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['>
                      name: aSOFTWARE_AVAIL_G_HW_ARCH
                      index: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Comma
                          left: {($ Id.VSub_DollarName index_current)}
                          right: {<Id.Lit_Digits 2>}
                        )
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [4680]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<128>}
                  spids: [4697]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <MPD>)}
                  spids: [4702]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'music player daemon'>)}
                  spids: [4712]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<2>}
                  spids: [4722]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [4730]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['>
                      name: aSOFTWARE_REQUIRES_ALSA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [4738]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ )}
                  spids: [4746]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<129>}
                  spids: [4760]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'O!MPD'>)}
                  spids: [4765]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'feature-rich, web interface audio player for mpd'>)}
                  spids: [4775]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<2>}
                  spids: [4785]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [4793]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=5171#p5171'>)}
                  spids: [4801]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['>
                      name: aSOFTWARE_REQUIRES_ALSA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [4811]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['>
                      name: aSOFTWARE_REQUIRES_WEBSERVER
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [4819]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_MYSQL['>
                      name: aSOFTWARE_REQUIRES_MYSQL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [4827]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['>
                      name: aSOFTWARE_AVAIL_G_HW_MODEL
                      index: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Comma
                          left: {($ Id.VSub_DollarName index_current)}
                          right: {<Id.Lit_Digits 20>}
                        )
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [4840]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<135>}
                  spids: [4857]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <IceCast>)}
                  spids: [4862]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'Shoutcast streaming server (+DarkIce)'>)}
                  spids: [4872]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<2>}
                  spids: [4882]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [4890]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['>
                      name: aSOFTWARE_REQUIRES_ALSA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [4898]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=6526#p6526'>)}
                  spids: [4906]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['>
                      name: aSOFTWARE_AVAIL_G_HW_MODEL
                      index: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Comma
                          left: {($ Id.VSub_DollarName index_current)}
                          right: {<Id.Lit_Digits 20>}
                        )
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [4921]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<141>}
                  spids: [4938]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'Spotify Connect Web'>)}
                  spids: [4943]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'web interface for spotify premium'>)}
                  spids: [4953]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<2>}
                  spids: [4963]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [4971]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=7013#p7013'>)}
                  spids: [4979]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['>
                      name: aSOFTWARE_REQUIRES_ALSA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [4989]
                )
              ]
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 0>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_LessEqual
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName MAX_G_HW_ARCH)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['>
                              name: aSOFTWARE_AVAIL_G_HW_ARCH
                              index: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Comma
                                  left: {($ Id.VSub_DollarName index_current)}
                                  right: {($ Id.VSub_DollarName i)}
                                )
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [5025]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['>
                      name: aSOFTWARE_AVAIL_G_HW_ARCH
                      index: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Comma
                          left: {($ Id.VSub_DollarName index_current)}
                          right: {<Id.Lit_Digits 2>}
                        )
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [5046]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<143>}
                  spids: [5063]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Koel>)}
                  spids: [5068]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'web interface audio streamer'>)}
                  spids: [5078]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<2>}
                  spids: [5088]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [5096]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=7305#p7305'>)}
                  spids: [5104]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['>
                      name: aSOFTWARE_REQUIRES_WEBSERVER
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [5114]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_MYSQL['>
                      name: aSOFTWARE_REQUIRES_MYSQL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [5122]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_NODEJS['>
                      name: aSOFTWARE_REQUIRES_NODEJS
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [5130]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_BUILDESSENTIAL['>
                      name: aSOFTWARE_REQUIRES_BUILDESSENTIAL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [5138]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_FFMPEG['>
                      name: aSOFTWARE_REQUIRES_FFMPEG
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [5146]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<146>}
                  spids: [5159]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <PlexPy>)}
                  spids: [5164]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'monitoring and tracking tool for Plex'>)}
                  spids: [5174]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<2>}
                  spids: [5184]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [5192]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=7463#p7463'>)}
                  spids: [5200]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_GIT['>
                      name: aSOFTWARE_REQUIRES_GIT
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [5210]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['>
                      name: aSOFTWARE_AVAIL_G_HW_ARCH
                      index: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Comma
                          left: {($ Id.VSub_DollarName index_current)}
                          right: {<Id.Lit_Digits 3>}
                        )
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [5223]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<148>}
                  spids: [5241]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'JRiver MC'>)}
                  spids: [5246]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'media centre'>)}
                  spids: [5256]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<2>}
                  spids: [5266]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [5274]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['>
                      name: aSOFTWARE_REQUIRES_ALSA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [5282]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_XSERVERXORG['>
                      name: aSOFTWARE_REQUIRES_XSERVERXORG
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [5290]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=110#p7536'>)}
                  spids: [5298]
                )
              ]
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 10>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_LessEqual
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['>
                              name: aSOFTWARE_AVAIL_G_HW_MODEL
                              index: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Comma
                                  left: {($ Id.VSub_DollarName index_current)}
                                  right: {($ Id.VSub_DollarName i)}
                                )
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [5336]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<154>}
                  spids: [5357]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'Roon Server'>)}
                  spids: [5362]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'Roon capable audio player and core'>)}
                  spids: [5372]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<2>}
                  spids: [5382]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [5390]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=7966#p7966'>)}
                  spids: [5398]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['>
                      name: aSOFTWARE_REQUIRES_ALSA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [5408]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_FFMPEG['>
                      name: aSOFTWARE_REQUIRES_FFMPEG
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [5416]
                )
              ]
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 0>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_LessEqual
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName MAX_G_HW_ARCH)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['>
                              name: aSOFTWARE_AVAIL_G_HW_ARCH
                              index: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Comma
                                  left: {($ Id.VSub_DollarName index_current)}
                                  right: {($ Id.VSub_DollarName i)}
                                )
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [5452]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['>
                      name: aSOFTWARE_AVAIL_G_HW_ARCH
                      index: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Comma
                          left: {($ Id.VSub_DollarName index_current)}
                          right: {<Id.Lit_Digits 10>}
                        )
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [5469]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<159>}
                  spids: [5486]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Allo>)}
                  spids: [5491]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'web interface'>)}
                  spids: [5501]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<2>}
                  spids: [5511]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<-1>}
                  spids: [5519]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ )}
                  spids: [5527]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['>
                      name: aSOFTWARE_REQUIRES_ALSA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [5536]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['>
                      name: aSOFTWARE_REQUIRES_WEBSERVER
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [5544]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_MYSQL['>
                      name: aSOFTWARE_REQUIRES_MYSQL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [5552]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<160>}
                  spids: [5565]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Allo_update>)}
                  spids: [5570]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'quick reinstall/update web only'>)}
                  spids: [5580]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<2>}
                  spids: [5590]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<-1>}
                  spids: [5598]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ )}
                  spids: [5606]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<163>}
                  spids: [5620]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Gmediarender>)}
                  spids: [5625]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'DLNA audio render/endpoint'>)}
                  spids: [5635]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<2>}
                  spids: [5645]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [5653]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['>
                      name: aSOFTWARE_REQUIRES_ALSA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [5661]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=9012#p9012'>)}
                  spids: [5669]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<167>}
                  spids: [5684]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Raspotify>)}
                  spids: [5689]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'spotify connect client'>)}
                  spids: [5699]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<2>}
                  spids: [5709]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [5717]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['>
                      name: aSOFTWARE_REQUIRES_ALSA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [5725]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=9368#p9368'>)}
                  spids: [5733]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['>
                      name: aSOFTWARE_AVAIL_G_HW_ARCH
                      index: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Comma
                          left: {($ Id.VSub_DollarName index_current)}
                          right: {<Id.Lit_Digits 3>}
                        )
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [5748]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['>
                      name: aSOFTWARE_AVAIL_G_HW_ARCH
                      index: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Comma
                          left: {($ Id.VSub_DollarName index_current)}
                          right: {<Id.Lit_Digits 10>}
                        )
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [5765]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<168>}
                  spids: [5782]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <moOde>)}
                  spids: [5787]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'audiophile-quality music playback'>)}
                  spids: [5797]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<2>}
                  spids: [5807]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<-1>}
                  spids: [5815]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['>
                      name: aSOFTWARE_REQUIRES_WEBSERVER
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [5823]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_SQLITE['>
                      name: aSOFTWARE_REQUIRES_SQLITE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [5831]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_BUILDESSENTIAL['>
                      name: aSOFTWARE_REQUIRES_BUILDESSENTIAL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [5839]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_GIT['>
                      name: aSOFTWARE_REQUIRES_GIT
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [5847]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['>
                      name: aSOFTWARE_REQUIRES_ALSA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [5855]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <xxxxxxxxxxxxxxxxx>)}
                  spids: [5863]
                )
              ]
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 10>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_LessEqual
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['>
                              name: aSOFTWARE_AVAIL_G_HW_MODEL
                              index: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Comma
                                  left: {($ Id.VSub_DollarName index_current)}
                                  right: {($ Id.VSub_DollarName i)}
                                )
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [5901]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<44>}
                  spids: [5926]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Transmission>)}
                  spids: [5931]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'bittorrent server with web interface (c)'>)}
                  spids: [5941]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<3>}
                  spids: [5951]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [5959]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5#p46'>)}
                  spids: [5967]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<45>}
                  spids: [5982]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Deluge>)}
                  spids: [5987]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'bittorrent server with web interface (python)'>)}
                  spids: [5997]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<3>}
                  spids: [6007]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [6015]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=10#p61'>)}
                  spids: [6023]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<46>}
                  spids: [6038]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <qBitTorrent>)}
                  spids: [6043]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'bittorrent server with web interface (c++)'>)}
                  spids: [6053]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<3>}
                  spids: [6063]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [6071]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=70#p2272'>)}
                  spids: [6079]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<107>}
                  spids: [6094]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <rTorrent>)}
                  spids: [6099]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'bittorrent server with rutorrent web interface'>)}
                  spids: [6109]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<3>}
                  spids: [6119]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [6127]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['>
                      name: aSOFTWARE_REQUIRES_WEBSERVER
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [6135]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=2603#p2603'>)}
                  spids: [6147]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<116>}
                  spids: [6162]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <SickRage>)}
                  spids: [6167]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'automatically download TV shows'>)}
                  spids: [6177]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<3>}
                  spids: [6187]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [6195]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=3327#p3327'>)}
                  spids: [6203]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<132>}
                  spids: [6219]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Aria2>)}
                  spids: [6224]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'download manager with web interface'>)}
                  spids: [6234]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<3>}
                  spids: [6244]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [6252]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=6177#p6177'>)}
                  spids: [6260]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['>
                      name: aSOFTWARE_REQUIRES_WEBSERVER
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [6270]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_SQLITE['>
                      name: aSOFTWARE_REQUIRES_SQLITE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [6278]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<139>}
                  spids: [6291]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <SABnzbd>)}
                  spids: [6296]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'nzb download manager'>)}
                  spids: [6306]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<3>}
                  spids: [6316]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [6324]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=6747#p6747'>)}
                  spids: [6332]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_BUILDESSENTIAL['>
                      name: aSOFTWARE_REQUIRES_BUILDESSENTIAL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [6342]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<142>}
                  spids: [6355]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <CouchPotato>)}
                  spids: [6360]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'automatically download movies'>)}
                  spids: [6370]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<3>}
                  spids: [6380]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [6388]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=6747#p6747'>)}
                  spids: [6396]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_BUILDESSENTIAL['>
                      name: aSOFTWARE_REQUIRES_BUILDESSENTIAL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [6406]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_GIT['>
                      name: aSOFTWARE_REQUIRES_GIT
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [6414]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<144>}
                  spids: [6427]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Sonarr>)}
                  spids: [6432]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'automatically download TV shows'>)}
                  spids: [6442]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<3>}
                  spids: [6452]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [6460]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=7455#p7455'>)}
                  spids: [6468]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<145>}
                  spids: [6483]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Radarr>)}
                  spids: [6488]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'automatically download movies'>)}
                  spids: [6498]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<3>}
                  spids: [6508]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [6516]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=7457#p7457'>)}
                  spids: [6524]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<147>}
                  spids: [6539]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Jackett>)}
                  spids: [6544]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'api Support for your torrent trackers.'>)}
                  spids: [6554]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<3>}
                  spids: [6564]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [6572]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=7503#p7503'>)}
                  spids: [6580]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<149>}
                  spids: [6595]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <NZBget>)}
                  spids: [6600]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'nzb download manager'>)}
                  spids: [6610]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<3>}
                  spids: [6620]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [6628]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=7575#p7575'>)}
                  spids: [6636]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<155>}
                  spids: [6651]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'HTPC Manager'>)}
                  spids: [6656]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'manage your HTPC from anywhere'>)}
                  spids: [6666]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_GIT['>
                      name: aSOFTWARE_REQUIRES_GIT
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [6676]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<3>}
                  spids: [6684]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [6692]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=8043#p8043'>)}
                  spids: [6700]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<47>}
                  spids: [6719]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <ownCloud>)}
                  spids: [6724]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'your very own cloud (eg: dropbox)'>)}
                  spids: [6734]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<4>}
                  spids: [6744]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [6752]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['>
                      name: aSOFTWARE_REQUIRES_WEBSERVER
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [6760]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_MYSQL['>
                      name: aSOFTWARE_REQUIRES_MYSQL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [6768]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5#p47'>)}
                  spids: [6776]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<114>}
                  spids: [6791]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Nextcloud>)}
                  spids: [6796]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'A safe home for all your data'>)}
                  spids: [6806]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<4>}
                  spids: [6816]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [6824]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['>
                      name: aSOFTWARE_REQUIRES_WEBSERVER
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [6832]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_MYSQL['>
                      name: aSOFTWARE_REQUIRES_MYSQL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [6840]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=3026#p3026'>)}
                  spids: [6848]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<48>}
                  spids: [6863]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Pydio>)}
                  spids: [6868]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'feature-rich backup and sync server'>)}
                  spids: [6878]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<4>}
                  spids: [6888]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [6896]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['>
                      name: aSOFTWARE_REQUIRES_WEBSERVER
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [6904]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_MYSQL['>
                      name: aSOFTWARE_REQUIRES_MYSQL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [6912]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=1064#p1064'>)}
                  spids: [6920]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<111>}
                  spids: [6935]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'UrBackup server'>)}
                  spids: [6940]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'full system backup server'>)}
                  spids: [6950]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<4>}
                  spids: [6960]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [6968]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=65#p65'>)}
                  spids: [6976]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['>
                      name: aSOFTWARE_AVAIL_G_HW_ARCH
                      index: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Comma
                          left: {($ Id.VSub_DollarName index_current)}
                          right: {<Id.Lit_Digits 1>}
                        )
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [6991]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<49>}
                  spids: [7008]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Gogs>)}
                  spids: [7013]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'personal github server with web interface'>)}
                  spids: [7023]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<4>}
                  spids: [7033]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [7041]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_GIT['>
                      name: aSOFTWARE_REQUIRES_GIT
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [7049]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_MYSQL['>
                      name: aSOFTWARE_REQUIRES_MYSQL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [7057]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=70#p2187'>)}
                  spids: [7065]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['>
                      name: aSOFTWARE_AVAIL_G_HW_ARCH
                      index: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Comma
                          left: {($ Id.VSub_DollarName index_current)}
                          right: {<Id.Lit_Digits 3>}
                        )
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [7080]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<50>}
                  spids: [7097]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Syncthing>)}
                  spids: [7102]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'backup and sync server with web interface'>)}
                  spids: [7112]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<4>}
                  spids: [7122]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [7130]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=70#p2363'>)}
                  spids: [7138]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<134>}
                  spids: [7153]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Tonido>)}
                  spids: [7158]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'lightweight cloud based backup system'>)}
                  spids: [7168]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<4>}
                  spids: [7178]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [7186]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=6476#p6476'>)}
                  spids: [7194]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['>
                      name: aSOFTWARE_AVAIL_G_HW_ARCH
                      index: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Comma
                          left: {($ Id.VSub_DollarName index_current)}
                          right: {<Id.Lit_Digits 1>}
                        )
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [7209]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['>
                      name: aSOFTWARE_AVAIL_G_HW_ARCH
                      index: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Comma
                          left: {($ Id.VSub_DollarName index_current)}
                          right: {<Id.Lit_Digits 3>}
                        )
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [7226]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<158>}
                  spids: [7243]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Minio>)}
                  spids: [7247]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'S3 compatible distributed object server'>)}
                  spids: [7257]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<4>}
                  spids: [7267]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [7275]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<161>}
                  spids: [7288]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <FuguHub>)}
                  spids: [7292]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'Lightweight WebDAV cloud (eg: dropbox) with a CMS'>)}
                  spids: [7302]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<4>}
                  spids: [7312]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [7320]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['>
                      name: aSOFTWARE_AVAIL_G_HW_ARCH
                      index: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Comma
                          left: {($ Id.VSub_DollarName index_current)}
                          right: {<Id.Lit_Digits 3>}
                        )
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [7342]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<165>}
                  spids: [7359]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Gitea>)}
                  spids: [7364]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'Git with a cup of tea'>)}
                  spids: [7374]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<4>}
                  spids: [7384]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [7392]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_GIT['>
                      name: aSOFTWARE_REQUIRES_GIT
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [7400]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_MYSQL['>
                      name: aSOFTWARE_REQUIRES_MYSQL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [7408]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=9863#p9863'>)}
                  spids: [7416]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<108>}
                  spids: [7436]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <AmiBerry>)}
                  spids: [7441]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'amiga emulator'>)}
                  spids: [7451]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<5>}
                  spids: [7461]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [7469]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['>
                      name: aSOFTWARE_REQUIRES_ALSA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [7477]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=64#p64'>)}
                  spids: [7485]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_XSERVERXORG['>
                      name: aSOFTWARE_REQUIRES_XSERVERXORG
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [7495]
                )
              ]
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 10>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_LessEqual
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['>
                              name: aSOFTWARE_AVAIL_G_HW_MODEL
                              index: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Comma
                                  left: {($ Id.VSub_DollarName index_current)}
                                  right: {($ Id.VSub_DollarName i)}
                                )
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [7531]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<51>}
                  spids: [7552]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <OpenTyrian>)}
                  spids: [7557]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'a classic retro game, addictive'>)}
                  spids: [7567]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<5>}
                  spids: [7577]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [7585]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['>
                      name: aSOFTWARE_REQUIRES_ALSA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [7593]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_XSERVERXORG['>
                      name: aSOFTWARE_REQUIRES_XSERVERXORG
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [7601]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5#p45'>)}
                  spids: [7609]
                )
              ]
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 10>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_LessEqual
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['>
                              name: aSOFTWARE_AVAIL_G_HW_MODEL
                              index: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Comma
                                  left: {($ Id.VSub_DollarName index_current)}
                                  right: {($ Id.VSub_DollarName i)}
                                )
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [7647]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<112>}
                  spids: [7668]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <DXX-Rebirth>)}
                  spids: [7673]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'Descent 1/2'>)}
                  spids: [7683]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<5>}
                  spids: [7693]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [7701]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['>
                      name: aSOFTWARE_REQUIRES_ALSA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [7709]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=2963#p2963'>)}
                  spids: [7717]
                )
              ]
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 10>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_LessEqual
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['>
                              name: aSOFTWARE_AVAIL_G_HW_MODEL
                              index: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Comma
                                  left: {($ Id.VSub_DollarName index_current)}
                                  right: {($ Id.VSub_DollarName i)}
                                )
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [7755]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<52>}
                  spids: [7776]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Cuberite>)}
                  spids: [7781]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'minecraft server with web interface (c++)'>)}
                  spids: [7791]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<5>}
                  spids: [7801]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [7809]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=60#p2068'>)}
                  spids: [7817]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['>
                      name: aSOFTWARE_AVAIL_G_HW_ARCH
                      index: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Comma
                          left: {($ Id.VSub_DollarName index_current)}
                          right: {<Id.Lit_Digits 3>}
                        )
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [7832]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<53>}
                  spids: [7849]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <MineOS>)}
                  spids: [7854]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'minecraft servers with web interface (java)'>)}
                  spids: [7864]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<5>}
                  spids: [7874]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [7882]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_BUILDESSENTIAL['>
                      name: aSOFTWARE_REQUIRES_BUILDESSENTIAL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [7890]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_GIT['>
                      name: aSOFTWARE_REQUIRES_GIT
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [7898]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ORACLEJAVA['>
                      name: aSOFTWARE_REQUIRES_ORACLEJAVA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [7906]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_NODEJS['>
                      name: aSOFTWARE_REQUIRES_NODEJS
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [7914]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=60#p2069'>)}
                  spids: [7922]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<156>}
                  spids: [7937]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Steam>)}
                  spids: [7942]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <client>)}
                  spids: [7952]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<5>}
                  spids: [7962]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [7970]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=8016#p8016'>)}
                  spids: [7978]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['>
                      name: aSOFTWARE_REQUIRES_ALSA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [7988]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_XSERVERXORG['>
                      name: aSOFTWARE_REQUIRES_XSERVERXORG
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [7996]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_DESKTOP['>
                      name: aSOFTWARE_REQUIRES_DESKTOP
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [8004]
                )
              ]
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 0>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_LessEqual
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['>
                              name: aSOFTWARE_AVAIL_G_HW_MODEL
                              index: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Comma
                                  left: {($ Id.VSub_DollarName index_current)}
                                  right: {($ Id.VSub_DollarName i)}
                                )
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [8040]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['>
                      name: aSOFTWARE_AVAIL_G_HW_MODEL
                      index: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Comma
                          left: {($ Id.VSub_DollarName index_current)}
                          right: {<Id.Lit_Digits 21>}
                        )
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [8057]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<164>}
                  spids: [8074]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Nukkit>)}
                  spids: [8078]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'A nuclear-powered server for Minecraft Pocket Edition'>)}
                  spids: [8088]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<5>}
                  spids: [8098]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [8106]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ORACLEJAVA['>
                      name: aSOFTWARE_REQUIRES_ORACLEJAVA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [8114]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<54>}
                  spids: [8131]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Forums>)}
                  spids: [8136]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'phpbb forums'>)}
                  spids: [8146]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<6>}
                  spids: [8156]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [8164]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['>
                      name: aSOFTWARE_REQUIRES_WEBSERVER
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [8172]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_MYSQL['>
                      name: aSOFTWARE_REQUIRES_MYSQL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [8180]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=5#p51'>)}
                  spids: [8188]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<55>}
                  spids: [8203]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Wordpress>)}
                  spids: [8208]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'website blog and publishing platform'>)}
                  spids: [8218]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<6>}
                  spids: [8228]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [8236]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['>
                      name: aSOFTWARE_REQUIRES_WEBSERVER
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [8244]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_MYSQL['>
                      name: aSOFTWARE_REQUIRES_MYSQL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [8252]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=30#p395'>)}
                  spids: [8260]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<56>}
                  spids: [8275]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'Image Gallery'>)}
                  spids: [8280]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'website to host / browse your images'>)}
                  spids: [8290]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<6>}
                  spids: [8300]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [8308]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['>
                      name: aSOFTWARE_REQUIRES_WEBSERVER
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [8316]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=40#p480'>)}
                  spids: [8324]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<57>}
                  spids: [8339]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <BaiKal>)}
                  spids: [8344]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'lightweight caldav + carddav server'>)}
                  spids: [8354]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<6>}
                  spids: [8364]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [8372]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['>
                      name: aSOFTWARE_REQUIRES_WEBSERVER
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [8380]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_MYSQL['>
                      name: aSOFTWARE_REQUIRES_MYSQL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [8388]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=50#p1502'>)}
                  spids: [8396]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<58>}
                  spids: [8411]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <OpenBazaar>)}
                  spids: [8416]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'decentralized peer to peer bitcoin market'>)}
                  spids: [8426]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<6>}
                  spids: [8436]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [8444]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_BUILDESSENTIAL['>
                      name: aSOFTWARE_REQUIRES_BUILDESSENTIAL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [8452]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_GIT['>
                      name: aSOFTWARE_REQUIRES_GIT
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [8460]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=1796#p1796'>)}
                  spids: [8468]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<133>}
                  spids: [8483]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <YaCy>)}
                  spids: [8488]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'decentralized open source search engine'>)}
                  spids: [8498]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<6>}
                  spids: [8508]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [8516]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ORACLEJAVA['>
                      name: aSOFTWARE_REQUIRES_ORACLEJAVA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [8524]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=6202#p6202'>)}
                  spids: [8532]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<59>}
                  spids: [8556]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'DietPi Cam'>)}
                  spids: [8561]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'web interface & controls for your rpi camera'>)}
                  spids: [8571]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<7>}
                  spids: [8581]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [8589]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['>
                      name: aSOFTWARE_REQUIRES_WEBSERVER
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [8597]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5#p48'>)}
                  spids: [8605]
                )
              ]
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 10>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_LessEqual
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['>
                              name: aSOFTWARE_AVAIL_G_HW_MODEL
                              index: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Comma
                                  left: {($ Id.VSub_DollarName index_current)}
                                  right: {($ Id.VSub_DollarName i)}
                                )
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [8643]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<136>}
                  spids: [8664]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <MotionEye>)}
                  spids: [8669]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'web interface & surveillance for your camera'>)}
                  spids: [8679]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<7>}
                  spids: [8689]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [8697]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=6610#p6610'>)}
                  spids: [8705]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_FFMPEG['>
                      name: aSOFTWARE_REQUIRES_FFMPEG
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [8715]
                )
              ]
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 10>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_LessEqual
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['>
                              name: aSOFTWARE_AVAIL_G_HW_MODEL
                              index: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Comma
                                  left: {($ Id.VSub_DollarName index_current)}
                                  right: {($ Id.VSub_DollarName i)}
                                )
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [8751]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<60>}
                  spids: [8781]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'WiFi Hotspot'>)}
                  spids: [8786]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'turn your device into a wifi hotspot'>)}
                  spids: [8796]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<8>}
                  spids: [8806]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [8814]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=1207#p1207'>)}
                  spids: [8822]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['>
                      name: aSOFTWARE_AVAIL_G_HW_MODEL
                      index: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Comma
                          left: {($ Id.VSub_DollarName index_current)}
                          right: {<Id.Lit_Digits 20>}
                        )
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [8837]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<61>}
                  spids: [8854]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'Tor Hotspot'>)}
                  spids: [8859]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'optional: route hotspot traffic through tor'>)}
                  spids: [8869]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<8>}
                  spids: [8879]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [8887]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=1529#p1529'>)}
                  spids: [8895]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['>
                      name: aSOFTWARE_AVAIL_G_HW_MODEL
                      index: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Comma
                          left: {($ Id.VSub_DollarName index_current)}
                          right: {<Id.Lit_Digits 20>}
                        )
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [8910]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<62>}
                  spids: [8936]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <DietPi-Cloudshell>)}
                  spids: [8941]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'system stats displayed on lcd/panel'>)}
                  spids: [8951]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<9>}
                  spids: [8961]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [8969]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=20#p204'>)}
                  spids: [8977]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<63>}
                  spids: [8992]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <LinuxDash>)}
                  spids: [8997]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'web interface system stats'>)}
                  spids: [9007]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<9>}
                  spids: [9017]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [9025]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['>
                      name: aSOFTWARE_REQUIRES_WEBSERVER
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [9033]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=20#p108'>)}
                  spids: [9041]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<64>}
                  spids: [9056]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <PhpSysInfo>)}
                  spids: [9061]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'web interface system stats'>)}
                  spids: [9071]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<9>}
                  spids: [9081]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [9089]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['>
                      name: aSOFTWARE_REQUIRES_WEBSERVER
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [9097]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=30#p451'>)}
                  spids: [9105]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<65>}
                  spids: [9120]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <NetData>)}
                  spids: [9125]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'real-time performance monitoring'>)}
                  spids: [9135]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<9>}
                  spids: [9145]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [9153]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_NODEJS['>
                      name: aSOFTWARE_REQUIRES_NODEJS
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [9161]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=60#p1611'>)}
                  spids: [9169]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<66>}
                  spids: [9184]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <RPi-Monitor>)}
                  spids: [9189]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'web interface system stats'>)}
                  spids: [9199]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<9>}
                  spids: [9209]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [9217]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=50#p1503'>)}
                  spids: [9225]
                )
              ]
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 10>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_LessEqual
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['>
                              name: aSOFTWARE_AVAIL_G_HW_MODEL
                              index: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Comma
                                  left: {($ Id.VSub_DollarName index_current)}
                                  right: {($ Id.VSub_DollarName i)}
                                )
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [9263]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<106>}
                  spids: [9284]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Raspcontrol>)}
                  spids: [9289]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'web interface system stats'>)}
                  spids: [9299]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<9>}
                  spids: [9309]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [9317]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=20#p89'>)}
                  spids: [9325]
                )
              ]
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 10>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_LessEqual
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['>
                              name: aSOFTWARE_AVAIL_G_HW_MODEL
                              index: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Comma
                                  left: {($ Id.VSub_DollarName index_current)}
                                  right: {($ Id.VSub_DollarName i)}
                                )
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [9363]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<115>}
                  spids: [9384]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Webmin>)}
                  spids: [9389]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'web interface system management'>)}
                  spids: [9399]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<9>}
                  spids: [9409]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [9417]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=80#p3047'>)}
                  spids: [9425]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_RSYSLOG['>
                      name: aSOFTWARE_REQUIRES_RSYSLOG
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [9435]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<126>}
                  spids: [9448]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <OpenMediaVault>)}
                  spids: [9453]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'nas solution with web interface'>)}
                  spids: [9463]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<9>}
                  spids: [9473]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<-1>}
                  spids: [9481]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=4859#p4859'>)}
                  spids: [9492]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['>
                      name: aSOFTWARE_REQUIRES_WEBSERVER
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [9502]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_USERINPUT['>
                      name: aSOFTWARE_REQUIRES_USERINPUT
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [9510]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<162>}
                  spids: [9523]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Docker>)}
                  spids: [9528]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'Build, ship, and run distributed applications'>)}
                  spids: [9538]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<9>}
                  spids: [9548]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [9556]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['>
                      name: aSOFTWARE_AVAIL_G_HW_ARCH
                      index: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Comma
                          left: {($ Id.VSub_DollarName index_current)}
                          right: {<Id.Lit_Digits 3>}
                        )
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [9569]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<67>}
                  spids: [9590]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <NoIp>)}
                  spids: [9595]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'url website address for your device'>)}
                  spids: [9605]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<10>}
                  spids: [9615]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [9623]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=10#p58'>)}
                  spids: [9631]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<68>}
                  spids: [9646]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Remot3.it>)}
                  spids: [9651]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'(Weaved) access your device over the internet'>)}
                  spids: [9661]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<10>}
                  spids: [9671]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [9679]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=20#p188'>)}
                  spids: [9687]
                )
              ]
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 0>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_LessEqual
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName MAX_G_HW_ARCH)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['>
                              name: aSOFTWARE_AVAIL_G_HW_ARCH
                              index: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Comma
                                  left: {($ Id.VSub_DollarName index_current)}
                                  right: {($ Id.VSub_DollarName i)}
                                )
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [9725]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['>
                      name: aSOFTWARE_AVAIL_G_HW_ARCH
                      index: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Comma
                          left: {($ Id.VSub_DollarName index_current)}
                          right: {<Id.Lit_Digits 1>}
                        )
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [9746]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['>
                      name: aSOFTWARE_AVAIL_G_HW_ARCH
                      index: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Comma
                          left: {($ Id.VSub_DollarName index_current)}
                          right: {<Id.Lit_Digits 2>}
                        )
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [9758]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<138>}
                  spids: [9775]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <VirtualHere>)}
                  spids: [9780]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'server: share USB devices over the network'>)}
                  spids: [9790]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<10>}
                  spids: [9800]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [9808]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=6709#p6709'>)}
                  spids: [9816]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<69>}
                  spids: [9840]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <RPi.GPIO>)}
                  spids: [9845]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'gpio interface library for rpi (python)'>)}
                  spids: [9855]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<11>}
                  spids: [9865]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [9873]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=40#p1065'>)}
                  spids: [9881]
                )
              ]
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 10>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_LessEqual
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['>
                              name: aSOFTWARE_AVAIL_G_HW_MODEL
                              index: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Comma
                                  left: {($ Id.VSub_DollarName index_current)}
                                  right: {($ Id.VSub_DollarName i)}
                                )
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [9919]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<70>}
                  spids: [9940]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <WiringPi>)}
                  spids: [9945]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'gpio interface library (c)'>)}
                  spids: [9955]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<11>}
                  spids: [9965]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [9973]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_BUILDESSENTIAL['>
                      name: aSOFTWARE_REQUIRES_BUILDESSENTIAL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [9981]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=1066#p1066'>)}
                  spids: [9989]
                )
              ]
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 20>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_LessEqual
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['>
                              name: aSOFTWARE_AVAIL_G_HW_MODEL
                              index: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Comma
                                  left: {($ Id.VSub_DollarName index_current)}
                                  right: {($ Id.VSub_DollarName i)}
                                )
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [10027]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['>
                      name: aSOFTWARE_AVAIL_G_HW_MODEL
                      index: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Comma
                          left: {($ Id.VSub_DollarName index_current)}
                          right: {<Id.Lit_Digits 51>}
                        )
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [10048]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<71>}
                  spids: [10065]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <WebIOPi>)}
                  spids: [10070]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'web interface to control rpi.gpio'>)}
                  spids: [10080]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<11>}
                  spids: [10090]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [10098]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_BUILDESSENTIAL['>
                      name: aSOFTWARE_REQUIRES_BUILDESSENTIAL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [10106]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=20#p189'>)}
                  spids: [10114]
                )
              ]
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 3>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_LessEqual
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['>
                              name: aSOFTWARE_AVAIL_G_HW_MODEL
                              index: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Comma
                                  left: {($ Id.VSub_DollarName index_current)}
                                  right: {($ Id.VSub_DollarName i)}
                                )
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [10152]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<72>}
                  spids: [10173]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <I2c>)}
                  spids: [10178]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'enables support for i2c based hardware'>)}
                  spids: [10188]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<11>}
                  spids: [10198]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [10206]
                )
              ]
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 10>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_LessEqual
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['>
                              name: aSOFTWARE_AVAIL_G_HW_MODEL
                              index: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Comma
                                  left: {($ Id.VSub_DollarName index_current)}
                                  right: {($ Id.VSub_DollarName i)}
                                )
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [10242]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<122>}
                  spids: [10263]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Node-Red>)}
                  spids: [10268]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'tool for wiring devices, APIs and online services'>)}
                  spids: [10278]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<11>}
                  spids: [10288]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [10296]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_NODEJS['>
                      name: aSOFTWARE_REQUIRES_NODEJS
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [10304]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_BUILDESSENTIAL['>
                      name: aSOFTWARE_REQUIRES_BUILDESSENTIAL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [10312]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=80#p4292'>)}
                  spids: [10320]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<123>}
                  spids: [10335]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'Mosquitto '>)}
                  spids: [10340]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'MQTT messaging broker'>)}
                  spids: [10350]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<11>}
                  spids: [10360]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [10368]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=90#p4293'>)}
                  spids: [10376]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<131>}
                  spids: [10391]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'Blynk Server'>)}
                  spids: [10396]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'msg controller for blynk mobile app and sbcs'>)}
                  spids: [10406]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<11>}
                  spids: [10416]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [10424]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=5901#p5901'>)}
                  spids: [10432]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ORACLEJAVA['>
                      name: aSOFTWARE_REQUIRES_ORACLEJAVA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [10442]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_NODEJS['>
                      name: aSOFTWARE_REQUIRES_NODEJS
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [10450]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_BUILDESSENTIAL['>
                      name: aSOFTWARE_REQUIRES_BUILDESSENTIAL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [10458]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<166>}
                  spids: [10471]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <PI-SPC>)}
                  spids: [10476]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'audiophonics pi-spc power control module'>)}
                  spids: [10486]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<11>}
                  spids: [10496]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [10504]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=9359#p9359'>)}
                  spids: [10512]
                )
              ]
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 10>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_LessEqual
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['>
                              name: aSOFTWARE_AVAIL_G_HW_MODEL
                              index: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Comma
                                  left: {($ Id.VSub_DollarName index_current)}
                                  right: {($ Id.VSub_DollarName i)}
                                )
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [10550]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<169>}
                  spids: [10571]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'Google AIY'>)}
                  spids: [10576]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'voice kit'>)}
                  spids: [10586]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<11>}
                  spids: [10596]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [10604]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ALSA['>
                      name: aSOFTWARE_REQUIRES_ALSA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [10612]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_GIT['>
                      name: aSOFTWARE_REQUIRES_GIT
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [10620]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=9486#p9486'>)}
                  spids: [10628]
                )
              ]
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 10>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_LessEqual
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['>
                              name: aSOFTWARE_AVAIL_G_HW_MODEL
                              index: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Comma
                                  left: {($ Id.VSub_DollarName index_current)}
                                  right: {($ Id.VSub_DollarName i)}
                                )
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [10666]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<73>}
                  spids: [10691]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Fail2Ban>)}
                  spids: [10696]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'prevents brute-force attacks with ip ban'>)}
                  spids: [10706]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<12>}
                  spids: [10716]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [10724]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_RSYSLOG['>
                      name: aSOFTWARE_REQUIRES_RSYSLOG
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [10732]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=30#p452'>)}
                  spids: [10740]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<75>}
                  spids: [10763]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <LASP>)}
                  spids: [10768]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'apache2  | sqlite  | php'>)}
                  spids: [10778]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<13>}
                  spids: [10788]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [10796]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=10#p52'>)}
                  spids: [10804]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<76>}
                  spids: [10819]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <LAAP>)}
                  spids: [10824]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'apache2  | mariadb | php'>)}
                  spids: [10834]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<13>}
                  spids: [10844]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [10852]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=10#p52'>)}
                  spids: [10860]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<78>}
                  spids: [10875]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <LESP>)}
                  spids: [10880]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'nginx    | sqlite  | php'>)}
                  spids: [10890]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<13>}
                  spids: [10900]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [10908]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5#p5'>)}
                  spids: [10916]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<79>}
                  spids: [10931]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <LEAP>)}
                  spids: [10936]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'nginx    | mariadb | php'>)}
                  spids: [10946]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<13>}
                  spids: [10956]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [10964]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5#p5'>)}
                  spids: [10972]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<81>}
                  spids: [10987]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <LLSP>)}
                  spids: [10992]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'lighttpd | sqlite  | php'>)}
                  spids: [11002]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<13>}
                  spids: [11012]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [11020]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=1335#p1335'>)}
                  spids: [11028]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<82>}
                  spids: [11043]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <LLAP>)}
                  spids: [11048]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'lighttpd | mariadb | php'>)}
                  spids: [11058]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<13>}
                  spids: [11068]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [11076]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=1335#p1335'>)}
                  spids: [11084]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<83>}
                  spids: [11099]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Apache2>)}
                  spids: [11104]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <webserver>)}
                  spids: [11114]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<13>}
                  spids: [11124]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<-1>}
                  spids: [11132]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=10#p52'>)}
                  spids: [11140]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<84>}
                  spids: [11155]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Lighttpd>)}
                  spids: [11160]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <webserver>)}
                  spids: [11170]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<13>}
                  spids: [11180]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<-1>}
                  spids: [11188]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=1335#p1335'>)}
                  spids: [11196]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<85>}
                  spids: [11211]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Nginx>)}
                  spids: [11216]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <webserver>)}
                  spids: [11226]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<13>}
                  spids: [11236]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<-1>}
                  spids: [11244]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5#p5'>)}
                  spids: [11252]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<87>}
                  spids: [11267]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <SQlite>)}
                  spids: [11272]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <database>)}
                  spids: [11282]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<13>}
                  spids: [11292]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<-1>}
                  spids: [11300]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=1335#p1335'>)}
                  spids: [11308]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<88>}
                  spids: [11323]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <MariaDB>)}
                  spids: [11328]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <database>)}
                  spids: [11338]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<13>}
                  spids: [11348]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<-1>}
                  spids: [11356]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=1335#p1335'>)}
                  spids: [11364]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<89>}
                  spids: [11379]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <PHP>)}
                  spids: [11384]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <webserver>)}
                  spids: [11394]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<13>}
                  spids: [11404]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<-1>}
                  spids: [11412]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=1335#p1335'>)}
                  spids: [11420]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<90>}
                  spids: [11435]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <phpMyAdmin>)}
                  spids: [11440]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'optional mysql admin tools'>)}
                  spids: [11450]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<13>}
                  spids: [11460]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [11468]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['>
                      name: aSOFTWARE_REQUIRES_WEBSERVER
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [11476]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_MYSQL['>
                      name: aSOFTWARE_REQUIRES_MYSQL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [11484]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=10#p54'>)}
                  spids: [11492]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<91>}
                  spids: [11507]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Redis>)}
                  spids: [11512]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'optional non-sql database store'>)}
                  spids: [11522]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<13>}
                  spids: [11532]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [11540]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<92>}
                  spids: [11553]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <CertBot>)}
                  spids: [11558]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'free, ssl cert install allowing https://'>)}
                  spids: [11568]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<13>}
                  spids: [11578]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [11586]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=1061#p1062'>)}
                  spids: [11594]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<125>}
                  spids: [11609]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Tomcat8>)}
                  spids: [11614]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'apache tomcat server'>)}
                  spids: [11624]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<13>}
                  spids: [11634]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [11642]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=4316#p4316'>)}
                  spids: [11650]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_ORACLEJAVA['>
                      name: aSOFTWARE_REQUIRES_ORACLEJAVA
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [11660]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<93>}
                  spids: [11677]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Pi-hole>)}
                  spids: [11682]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'block adverts for any device on your network'>)}
                  spids: [11692]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<14>}
                  spids: [11702]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [11710]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_GIT['>
                      name: aSOFTWARE_REQUIRES_GIT
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [11718]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['>
                      name: aSOFTWARE_REQUIRES_WEBSERVER
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [11726]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=20#p174'>)}
                  spids: [11734]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_USERINPUT['>
                      name: aSOFTWARE_REQUIRES_USERINPUT
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [11744]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<94>}
                  spids: [11766]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <ProFTP>)}
                  spids: [11771]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'lightweight ftp server'>)}
                  spids: [11781]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<15>}
                  spids: [11791]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [11799]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=10#p55'>)}
                  spids: [11807]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<95>}
                  spids: [11822]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <vsFTPD>)}
                  spids: [11827]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'alternative ftp server'>)}
                  spids: [11837]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<15>}
                  spids: [11847]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [11855]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'?f=8&t=5&p=2820#p2820'>)}
                  spids: [11863]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<96>}
                  spids: [11878]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Samba>)}
                  spids: [11883]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'feature-rich file server'>)}
                  spids: [11893]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<15>}
                  spids: [11903]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [11911]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=10#p56'>)}
                  spids: [11919]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<109>}
                  spids: [11934]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <NFS>)}
                  spids: [11939]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'network file system server'>)}
                  spids: [11949]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<15>}
                  spids: [11959]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [11967]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=10#p56'>)}
                  spids: [11975]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<97>}
                  spids: [11999]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <OpenVPN>)}
                  spids: [12004]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'vpn server'>)}
                  spids: [12014]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<16>}
                  spids: [12024]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [12032]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_RSYSLOG['>
                      name: aSOFTWARE_REQUIRES_RSYSLOG
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [12040]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=613#p613'>)}
                  spids: [12048]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<117>}
                  spids: [12063]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <PiVPN>)}
                  spids: [12068]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'openvpn installer & management tool'>)}
                  spids: [12078]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<16>}
                  spids: [12088]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [12096]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_RSYSLOG['>
                      name: aSOFTWARE_REQUIRES_RSYSLOG
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [12104]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'http://dietpi.com/phpbb/viewtopic.php?f=8&t=5&p=3469#p3469'>)}
                  spids: [12112]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_USERINPUT['>
                      name: aSOFTWARE_REQUIRES_USERINPUT
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [12122]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<98>}
                  spids: [12145]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <HaProxy>)}
                  spids: [12150]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'high performance tcp/http load balancer'>)}
                  spids: [12160]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<17>}
                  spids: [12170]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [12178]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_BUILDESSENTIAL['>
                      name: aSOFTWARE_REQUIRES_BUILDESSENTIAL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [12186]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=30#p221'>)}
                  spids: [12194]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<99>}
                  spids: [12213]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <EmonPi>)}
                  spids: [12218]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'energy usage addon board with web interface'>)}
                  spids: [12228]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<18>}
                  spids: [12238]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [12246]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=1529#p1525'>)}
                  spids: [12254]
                )
              ]
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 10>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_LessEqual
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['>
                              name: aSOFTWARE_AVAIL_G_HW_MODEL
                              index: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Comma
                                  left: {($ Id.VSub_DollarName index_current)}
                                  right: {($ Id.VSub_DollarName i)}
                                )
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [12292]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<100>}
                  spids: [12313]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Grasshopper>)}
                  spids: [12318]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'web app to control bticino myhome'>)}
                  spids: [12328]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<18>}
                  spids: [12338]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [12346]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_WEBSERVER['>
                      name: aSOFTWARE_REQUIRES_WEBSERVER
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [12354]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_SQLITE['>
                      name: aSOFTWARE_REQUIRES_SQLITE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [12362]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=20#p70'>)}
                  spids: [12370]
                )
              ]
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 10>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_LessEqual
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['>
                              name: aSOFTWARE_AVAIL_G_HW_MODEL
                              index: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Comma
                                  left: {($ Id.VSub_DollarName index_current)}
                                  right: {($ Id.VSub_DollarName i)}
                                )
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [12408]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<157>}
                  spids: [12429]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'Home Assistant'>)}
                  spids: [12434]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'open-source home automation platform'>)}
                  spids: [12444]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<18>}
                  spids: [12454]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [12462]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_GIT['>
                      name: aSOFTWARE_REQUIRES_GIT
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [12470]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_BUILDESSENTIAL['>
                      name: aSOFTWARE_REQUIRES_BUILDESSENTIAL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [12478]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_SQLITE['>
                      name: aSOFTWARE_REQUIRES_SQLITE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [12486]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_FFMPEG['>
                      name: aSOFTWARE_REQUIRES_FFMPEG
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [12494]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=20#p70'>)}
                  spids: [12502]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<137>}
                  spids: [12526]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <CloudPrint>)}
                  spids: [12531]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'print server for google cloud print'>)}
                  spids: [12541]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<19>}
                  spids: [12551]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [12559]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=6630#p6630'>)}
                  spids: [12567]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_RSYSLOG['>
                      name: aSOFTWARE_REQUIRES_RSYSLOG
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [12577]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName G_DISTRO)}
                                  right: {<Id.Lit_Digits 3>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_ARCH['>
                              name: aSOFTWARE_AVAIL_G_HW_ARCH
                              index: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Comma
                                  left: {($ Id.VSub_DollarName index_current)}
                                  right: {<Id.Lit_Digits 3>}
                                )
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [12611]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [12593 12607]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<153>}
                  spids: [12632]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <OctoPrint>)}
                  spids: [12637]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'web interface for controlling 3d printers'>)}
                  spids: [12647]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<19>}
                  spids: [12657]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [12665]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&p=7958#p7958'>)}
                  spids: [12673]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_BUILDESSENTIAL['>
                      name: aSOFTWARE_REQUIRES_BUILDESSENTIAL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [12683]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_GIT['>
                      name: aSOFTWARE_REQUIRES_GIT
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [12691]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [12724]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'OpenSSH Client'>)}
                  spids: [12729]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ )}
                  spids: [12739]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [12748]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [12756]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [12777]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'Samba Client'>)}
                  spids: [12782]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'access network shares'>)}
                  spids: [12792]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [12802]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [12810]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <' dietpi-config > Network Options: NAS/Misc'>)}
                  spids: [12818]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<2>}
                  spids: [12832]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Curlftpfs>)}
                  spids: [12837]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'ftp client with filesystem mount'>)}
                  spids: [12847]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [12857]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [12865]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <' dietpi-config > Network Options: NAS/Misc'>)}
                  spids: [12873]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<110>}
                  spids: [12887]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'NFS Client'>)}
                  spids: [12892]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'network file system client'>)}
                  spids: [12902]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [12912]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [12920]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <' dietpi-config > Network Options: NAS/Misc'>)}
                  spids: [12928]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<3>}
                  spids: [12951]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <MC>)}
                  spids: [12956]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'midnight commander, powerful file manager'>)}
                  spids: [12966]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<2>}
                  spids: [12976]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [12984]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<4>}
                  spids: [12996]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <ViFM>)}
                  spids: [13001]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'file manager with vi bindings'>)}
                  spids: [13011]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<2>}
                  spids: [13021]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [13029]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<5>}
                  spids: [13050]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <ALSA>)}
                  spids: [13055]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'linux sound system'>)}
                  spids: [13065]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<3>}
                  spids: [13075]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [13083]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<6>}
                  spids: [13095]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Xserver>)}
                  spids: [13100]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'linux display system'>)}
                  spids: [13110]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<3>}
                  spids: [13120]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [13128]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<151>}
                  spids: [13141]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Nvidia>)}
                  spids: [13146]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'display driver'>)}
                  spids: [13156]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<3>}
                  spids: [13166]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [13174]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_XSERVERXORG['>
                      name: aSOFTWARE_REQUIRES_XSERVERXORG
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [13182]
                )
              ]
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 0>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_Less
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['>
                              name: aSOFTWARE_AVAIL_G_HW_MODEL
                              index: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Comma
                                  left: {($ Id.VSub_DollarName index_current)}
                                  right: {($ Id.VSub_DollarName i)}
                                )
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [13214]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['>
                      name: aSOFTWARE_AVAIL_G_HW_MODEL
                      index: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Comma
                          left: {($ Id.VSub_DollarName index_current)}
                          right: {<Id.Lit_Digits 21>}
                        )
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [13231]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<170>}
                  spids: [13248]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <NTP>)}
                  spids: [13253]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'date and time sync'>)}
                  spids: [13263]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<3>}
                  spids: [13273]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<-1>}
                  spids: [13281]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<7>}
                  spids: [13301]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <FFmpeg>)}
                  spids: [13306]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'audio & visual libary'>)}
                  spids: [13316]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<4>}
                  spids: [13326]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [13334]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<8>}
                  spids: [13346]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Java>)}
                  spids: [13351]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'OpenJDK 8 + JRE libary'>)}
                  spids: [13361]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<4>}
                  spids: [13371]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [13379]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<9>}
                  spids: [13391]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Node.js>)}
                  spids: [13396]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'javascript runtime'>)}
                  spids: [13406]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<4>}
                  spids: [13416]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [13424]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<130>}
                  spids: [13436]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'Python Pip'>)}
                  spids: [13441]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'python pip package installer'>)}
                  spids: [13451]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<4>}
                  spids: [13461]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [13469]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<140>}
                  spids: [13481]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <SDL2>)}
                  spids: [13486]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'simple direct layer 2'>)}
                  spids: [13496]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<4>}
                  spids: [13506]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [13514]
                )
              ]
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 10>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_LessEqual
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName MAX_G_HW_MODEL)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['>
                              name: aSOFTWARE_AVAIL_G_HW_MODEL
                              index: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Comma
                                  left: {($ Id.VSub_DollarName index_current)}
                                  right: {($ Id.VSub_DollarName i)}
                                )
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [13550]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<150>}
                  spids: [13571]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Mono>)}
                  spids: [13576]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'runtime libraries and repo'>)}
                  spids: [13586]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<4>}
                  spids: [13596]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [13604]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<10>}
                  spids: [13622]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <iftop>)}
                  spids: [13627]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'displays bandwidth usage information'>)}
                  spids: [13637]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<5>}
                  spids: [13647]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [13655]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<11>}
                  spids: [13667]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <IPTraf>)}
                  spids: [13672]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'interactive colorful ip lan monitor'>)}
                  spids: [13682]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<5>}
                  spids: [13692]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [13700]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<12>}
                  spids: [13712]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Iperf>)}
                  spids: [13717]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'internet protocol bandwidth measuring tool'>)}
                  spids: [13727]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<5>}
                  spids: [13737]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [13745]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<13>}
                  spids: [13757]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <MTR-Tiny>)}
                  spids: [13762]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'full screen ncurses traceroute tool'>)}
                  spids: [13772]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<5>}
                  spids: [13782]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [13790]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<14>}
                  spids: [13802]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <nLoad>)}
                  spids: [13807]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'realtime console network usage monitor'>)}
                  spids: [13817]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<5>}
                  spids: [13827]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [13835]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<15>}
                  spids: [13847]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <tcpdump>)}
                  spids: [13852]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'command-line network traffic analyzer'>)}
                  spids: [13862]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<5>}
                  spids: [13872]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [13880]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<152>}
                  spids: [13892]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Avahi-Daemon>)}
                  spids: [13897]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'hostname broadcast (mac, pc bonjour)'>)}
                  spids: [13907]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<5>}
                  spids: [13917]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [13925]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<16>}
                  spids: [13943]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Build-Essentials>)}
                  spids: [13948]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'common packages for compile'>)}
                  spids: [13958]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<6>}
                  spids: [13968]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [13976]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<17>}
                  spids: [13988]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'Git Client'>)}
                  spids: [13993]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'git clone etc'>)}
                  spids: [14003]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<6>}
                  spids: [14013]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [14021]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<18>}
                  spids: [14042]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Emacs>)}
                  spids: [14047]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'gnu emacs editor'>)}
                  spids: [14057]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<7>}
                  spids: [14067]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [14075]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<19>}
                  spids: [14087]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Jed>)}
                  spids: [14092]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'editor for programmers'>)}
                  spids: [14102]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<7>}
                  spids: [14112]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [14120]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<20>}
                  spids: [14132]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Vim>)}
                  spids: [14137]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'vi enhanced text editor'>)}
                  spids: [14147]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<7>}
                  spids: [14157]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [14165]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<21>}
                  spids: [14177]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Vim-Tiny>)}
                  spids: [14182]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'compact release of vim'>)}
                  spids: [14192]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<7>}
                  spids: [14202]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [14210]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<127>}
                  spids: [14222]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <NeoVim>)}
                  spids: [14227]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'heavily refactored vim fork'>)}
                  spids: [14237]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<7>}
                  spids: [14247]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [14255]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Less
                                  left: {($ Id.VSub_DollarName G_DISTRO)}
                                  right: {<Id.Lit_Digits 4>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_AVAIL_G_HW_MODEL['>
                              name: aSOFTWARE_AVAIL_G_HW_MODEL
                              index: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Comma
                                  left: {($ Id.VSub_DollarName index_current)}
                                  right: {($ Id.VSub_DollarName G_HW_MODEL)}
                                )
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [14286]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [14268 14282]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<22>}
                  spids: [14316]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <QuiteRSS>)}
                  spids: [14321]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'cross-platform, free rss reader'>)}
                  spids: [14331]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<8>}
                  spids: [14341]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [14349]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_REQUIRES_DESKTOP['>
                      name: aSOFTWARE_REQUIRES_DESKTOP
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [14357]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<101>}
                  spids: [14383]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'Log Rotate'>)}
                  spids: [14388]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'rotates log files'>)}
                  spids: [14398]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [14408]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<-1>}
                  spids: [14416]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=20#p68'>)}
                  spids: [14424]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<102>}
                  spids: [14438]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Rsyslog>)}
                  spids: [14443]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'system logging'>)}
                  spids: [14453]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [14463]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<-1>}
                  spids: [14471]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=20#p68'>)}
                  spids: [14479]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<103>}
                  spids: [14493]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <DietPi-Ramlog>)}
                  spids: [14498]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'minimal, optimized logging'>)}
                  spids: [14508]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [14518]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<-1>}
                  spids: [14526]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=20#p68'>)}
                  spids: [14534]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<104>}
                  spids: [14561]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <Dropbear>)}
                  spids: [14566]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'ssh server'>)}
                  spids: [14576]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [14586]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<-1>}
                  spids: [14594]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=10#p62'>)}
                  spids: [14602]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<105>}
                  spids: [14616]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'OpenSSH Server'>)}
                  spids: [14621]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ )}
                  spids: [14631]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [14640]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<-1>}
                  spids: [14648]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_ONLINEDOC_URL['>
                      name: aSOFTWARE_ONLINEDOC_URL
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'f=8&t=5&start=10#p63'>)}
                  spids: [14656]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<74>}
                  spids: [14683]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'free index'>)}
                  spids: [14687]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ )}
                  spids: [14697]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [14706]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<-1>}
                  spids: [14714]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<77>}
                  spids: [14722]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'free index'>)}
                  spids: [14726]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ )}
                  spids: [14736]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [14745]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<-1>}
                  spids: [14753]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<80>}
                  spids: [14761]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'free index'>)}
                  spids: [14765]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ )}
                  spids: [14775]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [14784]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<-1>}
                  spids: [14792]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index_current='> name:index_current)
                  op: assign_op.Equal
                  rhs: {<86>}
                  spids: [14800]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_NAME['>
                      name: aSOFTWARE_WHIP_NAME
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ <'free index'>)}
                  spids: [14804]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_WHIP_DESC['>
                      name: aSOFTWARE_WHIP_DESC
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {(SQ )}
                  spids: [14814]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_CATEGORY_INDEX['>
                      name: aSOFTWARE_CATEGORY_INDEX
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [14823]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_TYPE['>
                      name: aSOFTWARE_TYPE
                      index: {($ Id.VSub_DollarName index_current)}
                    )
                  op: assign_op.Equal
                  rhs: {<-1>}
                  spids: [14831]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'TOTAL_SOFTWARE_INDEXS='>
                      name: TOTAL_SOFTWARE_INDEXS
                    )
                  op: assign_op.Equal
                  rhs: 
                    {
                      (braced_var_sub
                        left: <Id.Left_DollarBrace '${'>
                        token: <Id.VSub_Name aSOFTWARE_TYPE>
                        var_name: aSOFTWARE_TYPE
                        prefix_op: <Id.VSub_Pound '#'>
                        bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                        right: <Id.Right_DollarBrace '}'>
                      )
                    }
                  spids: [14848]
                )
              ]
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 0>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_Less
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {($ Id.VSub_DollarName i)}
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [14889]
                        )
                      ]
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                      name: aSOFTWARE_INSTALL_STATE
                      index: {<Id.Lit_Digits 103>}
                    )
                  op: assign_op.Equal
                  rhs: {<2>}
                  spids: [14906]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                      name: aSOFTWARE_INSTALL_STATE
                      index: {<Id.Lit_Digits 104>}
                    )
                  op: assign_op.Equal
                  rhs: {<2>}
                  spids: [14914]
                )
              ]
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Software_Arrays_Destroy
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<unset>} {<aSOFTWARE_CATEGORIES_DIETPI>})
            (C {<unset>} {<aSOFTWARE_CATEGORIES_LINUX>})
            (C {<unset>} {<aSOFTWARE_CATEGORY_INDEX>})
            (C {<unset>} {<aSOFTWARE_TYPE>})
            (C {<unset>} {<aSOFTWARE_WHIP_NAME>})
            (C {<unset>} {<aSOFTWARE_WHIP_DESC>})
            (C {<unset>} {<aSOFTWARE_ONLINEDOC_URL>})
            (C {<unset>} {<aSOFTWARE_INSTALL_STATE>})
            (C {<unset>} {<aSOFTWARE_REQUIRES_USERINPUT>})
            (C {<unset>} {<aSOFTWARE_REQUIRES_ALSA>})
            (C {<unset>} {<aSOFTWARE_REQUIRES_XSERVERXORG>})
            (C {<unset>} {<aSOFTWARE_REQUIRES_MYSQL>})
            (C {<unset>} {<aSOFTWARE_REQUIRES_SQLITE>})
            (C {<unset>} {<aSOFTWARE_REQUIRES_WEBSERVER>})
            (C {<unset>} {<aSOFTWARE_REQUIRES_DESKTOP>})
            (C {<unset>} {<aSOFTWARE_REQUIRES_GIT>})
            (C {<unset>} {<aSOFTWARE_REQUIRES_BUILDESSENTIAL>})
            (C {<unset>} {<aSOFTWARE_REQUIRES_RSYSLOG>})
            (C {<unset>} {<aSOFTWARE_REQUIRES_FFMPEG>})
            (C {<unset>} {<aSOFTWARE_REQUIRES_ORACLEJAVA>})
            (C {<unset>} {<aSOFTWARE_REQUIRES_NODEJS>})
            (C {<unset>} {<aSOFTWARE_AVAIL_G_HW_MODEL>})
            (C {<unset>} {<aSOFTWARE_AVAIL_G_HW_ARCH>})
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Install_Disable_Requires_UserInput
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Unary
                                  op_id: Id.Arith_Bang
                                  child: {($ Id.VSub_DollarName G_USER_INPUTS)}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ForExpr
                      init: 
                        (arith_expr.BinaryAssign
                          op_id: Id.Arith_Equal
                          left: ($ Id.Lit_ArithVarLike i)
                          right: {<Id.Lit_Digits 0>}
                        )
                      cond: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Less
                          left: ($ Id.Lit_ArithVarLike i)
                          right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)}
                        )
                      update: 
                        (arith_expr.UnaryAssign
                          op_id: Id.Node_PostDPlus
                          child: ($ Id.Lit_ArithVarLike i)
                        )
                      body: 
                        (command.DoGroup
                          children: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DAmp
                                                  left: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DEqual
                                                      left: 
                                                        {
                                                          (braced_var_sub
                                                            left: <Id.Left_DollarBrace '${'>
                                                            token: 
                                                              <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                            var_name: aSOFTWARE_INSTALL_STATE
                                                            bracket_op: 
                                                              (bracket_op.ArrayIndex
                                                                expr: {($ Id.VSub_DollarName i)}
                                                              )
                                                            right: <Id.Right_DollarBrace '}'>
                                                          )
                                                        }
                                                      right: {<Id.Lit_Digits 1>}
                                                    )
                                                  right: 
                                                    {
                                                      (braced_var_sub
                                                        left: <Id.Left_DollarBrace '${'>
                                                        token: 
                                                          <Id.VSub_Name aSOFTWARE_REQUIRES_USERINPUT>
                                                        var_name: aSOFTWARE_REQUIRES_USERINPUT
                                                        bracket_op: 
                                                          (bracket_op.ArrayIndex
                                                            expr: {($ Id.VSub_DollarName i)}
                                                          )
                                                        right: <Id.Right_DollarBrace '}'>
                                                      )
                                                    }
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.IndexedName
                                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                              name: aSOFTWARE_INSTALL_STATE
                                              index: {($ Id.VSub_DollarName i)}
                                            )
                                          op: assign_op.Equal
                                          rhs: {<0>}
                                          spids: [15149]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (C {<G_DIETPI-NOTIFY>} {<2>} 
                                      {
                                        (DQ 
                                          (braced_var_sub
                                            left: <Id.Left_DollarBrace '${'>
                                            token: <Id.VSub_Name aSOFTWARE_WHIP_NAME>
                                            var_name: aSOFTWARE_WHIP_NAME
                                            bracket_op: 
                                              (bracket_op.ArrayIndex
                                                expr: {($ Id.VSub_DollarName i)}
                                              )
                                            right: <Id.Right_DollarBrace '}'>
                                          ) <': Requires user input and can not be automated.'>
                                        )
                                      }
                                    )
                                    (C {<G_DIETPI-NOTIFY>} {<1>} 
                                      {
                                        (DQ 
                                          (braced_var_sub
                                            left: <Id.Left_DollarBrace '${'>
                                            token: <Id.VSub_Name aSOFTWARE_WHIP_NAME>
                                            var_name: aSOFTWARE_WHIP_NAME
                                            bracket_op: 
                                              (bracket_op.ArrayIndex
                                                expr: {($ Id.VSub_DollarName i)}
                                              )
                                            right: <Id.Right_DollarBrace '}'>
                                          ) <': Will not be installed. Please run \'dietpi-software\' to install.'>
                                        )
                                      }
                                    )
                                  ]
                                  spids: [15112 15141]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                        )
                      redirects: []
                    )
                  ]
                  spids: [15073 15085]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Install_Flag_Prereq_Software
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<G_DIETPI-NOTIFY>} {<3>} {<DietPi-Software>} {(DQ <'Checking for prerequisite software'>)})
            (C {<local>} {<Id.Lit_VarLike 'index='> <0>})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 166>})
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 70>}
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [15274]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [15251 15270]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 159>})
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 36>}
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [15314]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 37>}
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [15325]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 65>}
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [15352]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 96>}
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [15363]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 121>}
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [15375]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 124>}
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [15386]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 129>}
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [15401]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 163>}
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [15416]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [15291 15310]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 168>})
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_DIETPI-NOTIFY>} {<2>} 
                      {
                        (DQ 
                          (braced_var_sub
                            left: <Id.Left_DollarBrace '${'>
                            token: <Id.VSub_Name aSOFTWARE_WHIP_NAME>
                            var_name: aSOFTWARE_WHIP_NAME
                            bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 128>})
                            right: <Id.Right_DollarBrace '}'>
                          ) <' will be installed'>
                        )
                      }
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 128>}
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [15487]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_DIETPI-NOTIFY>} {<2>} 
                      {
                        (DQ 
                          (braced_var_sub
                            left: <Id.Left_DollarBrace '${'>
                            token: <Id.VSub_Name aSOFTWARE_WHIP_NAME>
                            var_name: aSOFTWARE_WHIP_NAME
                            bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 78>})
                            right: <Id.Right_DollarBrace '}'>
                          ) <' will be installed'>
                        )
                      }
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 78>}
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [15514]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_DIETPI-NOTIFY>} {<2>} 
                      {
                        (DQ 
                          (braced_var_sub
                            left: <Id.Left_DollarBrace '${'>
                            token: <Id.VSub_Name aSOFTWARE_WHIP_NAME>
                            var_name: aSOFTWARE_WHIP_NAME
                            bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 1>})
                            right: <Id.Right_DollarBrace '}'>
                          ) <' will be installed'>
                        )
                      }
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 1>}
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [15541]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_DIETPI-NOTIFY>} {<2>} 
                      {
                        (DQ 
                          (braced_var_sub
                            left: <Id.Left_DollarBrace '${'>
                            token: <Id.VSub_Name aSOFTWARE_WHIP_NAME>
                            var_name: aSOFTWARE_WHIP_NAME
                            bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 96>})
                            right: <Id.Right_DollarBrace '}'>
                          ) <' will be installed'>
                        )
                      }
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 96>}
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [15568]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [15436 15455]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 169>})
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 69>}
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [15611]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [15588 15607]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'index='> name:index)
                  op: assign_op.Equal
                  rhs: {<152>}
                  spids: [15635]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DPipe
                                  left: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DPipe
                                      left: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DPipe
                                          left: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DPipe
                                              left: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DPipe
                                                  left: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DEqual
                                                      left: 
                                                        {
                                                          (braced_var_sub
                                                            left: <Id.Left_DollarBrace '${'>
                                                            token: 
                                                              <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                            var_name: aSOFTWARE_INSTALL_STATE
                                                            bracket_op: 
                                                              (bracket_op.ArrayIndex
                                                                expr: {<Id.Lit_Digits 31>}
                                                              )
                                                            right: <Id.Right_DollarBrace '}'>
                                                          )
                                                        }
                                                      right: {<Id.Lit_Digits 1>}
                                                    )
                                                  right: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DEqual
                                                      left: 
                                                        {
                                                          (braced_var_sub
                                                            left: <Id.Left_DollarBrace '${'>
                                                            token: 
                                                              <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                            var_name: aSOFTWARE_INSTALL_STATE
                                                            bracket_op: 
                                                              (bracket_op.ArrayIndex
                                                                expr: {<Id.Lit_Digits 37>}
                                                              )
                                                            right: <Id.Right_DollarBrace '}'>
                                                          )
                                                        }
                                                      right: {<Id.Lit_Digits 1>}
                                                    )
                                                )
                                              right: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: 
                                                    {
                                                      (braced_var_sub
                                                        left: <Id.Left_DollarBrace '${'>
                                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                        var_name: aSOFTWARE_INSTALL_STATE
                                                        bracket_op: 
                                                          (bracket_op.ArrayIndex
                                                            expr: {<Id.Lit_Digits 128>}
                                                          )
                                                        right: <Id.Right_DollarBrace '}'>
                                                      )
                                                    }
                                                  right: {<Id.Lit_Digits 1>}
                                                )
                                            )
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: 
                                                {
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                    var_name: aSOFTWARE_INSTALL_STATE
                                                    bracket_op: 
                                                      (bracket_op.ArrayIndex
                                                        expr: {<Id.Lit_Digits 138>}
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  )
                                                }
                                              right: {<Id.Lit_Digits 1>}
                                            )
                                        )
                                      right: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 163>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                    )
                                  right: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: 
                                        {
                                          (braced_var_sub
                                            left: <Id.Left_DollarBrace '${'>
                                            token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                            var_name: aSOFTWARE_INSTALL_STATE
                                            bracket_op: 
                                              (bracket_op.ArrayIndex
                                                expr: {<Id.Lit_Digits 168>}
                                              )
                                            right: <Id.Right_DollarBrace '}'>
                                          )
                                        }
                                      right: {<Id.Lit_Digits 1>}
                                    )
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {($ Id.VSub_DollarName index)}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                      name: aSOFTWARE_INSTALL_STATE
                                      index: {($ Id.VSub_DollarName index)}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [15755]
                                )
                              ]
                              redirects: []
                            )
                            (C {<G_DIETPI-NOTIFY>} {<2>} 
                              {
                                (DQ 
                                  (braced_var_sub
                                    left: <Id.Left_DollarBrace '${'>
                                    token: <Id.VSub_Name aSOFTWARE_WHIP_NAME>
                                    var_name: aSOFTWARE_WHIP_NAME
                                    bracket_op: 
                                      (bracket_op.ArrayIndex
                                        expr: {($ Id.VSub_DollarName index)}
                                      )
                                    right: <Id.Right_DollarBrace '}'>
                                  ) <' will be installed'>
                                )
                              }
                            )
                          ]
                          spids: [15732 15751]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [15639 15728]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DPipe
                                  left: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DPipe
                                      left: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DPipe
                                          left: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: 
                                                {
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                    var_name: aSOFTWARE_INSTALL_STATE
                                                    bracket_op: 
                                                      (bracket_op.ArrayIndex
                                                        expr: {<Id.Lit_Digits 41>}
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  )
                                                }
                                              right: {<Id.Lit_Digits 1>}
                                            )
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: 
                                                {
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                    var_name: aSOFTWARE_INSTALL_STATE
                                                    bracket_op: 
                                                      (bracket_op.ArrayIndex
                                                        expr: {<Id.Lit_Digits 144>}
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  )
                                                }
                                              right: {<Id.Lit_Digits 1>}
                                            )
                                        )
                                      right: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 145>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                    )
                                  right: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: 
                                        {
                                          (braced_var_sub
                                            left: <Id.Left_DollarBrace '${'>
                                            token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                            var_name: aSOFTWARE_INSTALL_STATE
                                            bracket_op: 
                                              (bracket_op.ArrayIndex
                                                expr: {<Id.Lit_Digits 147>}
                                              )
                                            right: <Id.Right_DollarBrace '}'>
                                          )
                                        }
                                      right: {<Id.Lit_Digits 1>}
                                    )
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 150>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                      name: aSOFTWARE_INSTALL_STATE
                                      index: {<Id.Lit_Digits 150>}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [15884]
                                )
                              ]
                              redirects: []
                            )
                            (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Mono runtime libary will be installed'>)})
                          ]
                          spids: [15861 15880]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [15796 15857]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 108>})
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 140>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                      name: aSOFTWARE_INSTALL_STATE
                                      index: {<Id.Lit_Digits 140>}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [15961]
                                )
                              ]
                              redirects: []
                            )
                            (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'SDL2 will be installed'>)})
                          ]
                          spids: [15938 15957]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [15915 15934]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DPipe
                                  left: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DPipe
                                      left: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DPipe
                                          left: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DPipe
                                              left: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DPipe
                                                  left: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DPipe
                                                      left: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DPipe
                                                          left: 
                                                            (arith_expr.Binary
                                                              op_id: Id.Arith_DEqual
                                                              left: 
                                                                {
                                                                  (braced_var_sub
                                                                    left: <Id.Left_DollarBrace '${'>
                                                                    token: 
                                                                      <Id.VSub_Name 
aSOFTWARE_INSTALL_STATE
                                                                      >
                                                                    var_name: 
aSOFTWARE_INSTALL_STATE
                                                                    bracket_op: 
                                                                      (bracket_op.ArrayIndex
                                                                        expr: {<Id.Lit_Digits 58>}
                                                                      )
                                                                    right: <Id.Right_DollarBrace '}'>
                                                                  )
                                                                }
                                                              right: {<Id.Lit_Digits 1>}
                                                            )
                                                          right: 
                                                            (arith_expr.Binary
                                                              op_id: Id.Arith_DEqual
                                                              left: 
                                                                {
                                                                  (braced_var_sub
                                                                    left: <Id.Left_DollarBrace '${'>
                                                                    token: 
                                                                      <Id.VSub_Name 
aSOFTWARE_INSTALL_STATE
                                                                      >
                                                                    var_name: 
aSOFTWARE_INSTALL_STATE
                                                                    bracket_op: 
                                                                      (bracket_op.ArrayIndex
                                                                        expr: {<Id.Lit_Digits 99>}
                                                                      )
                                                                    right: <Id.Right_DollarBrace '}'>
                                                                  )
                                                                }
                                                              right: {<Id.Lit_Digits 1>}
                                                            )
                                                        )
                                                      right: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DEqual
                                                          left: 
                                                            {
                                                              (braced_var_sub
                                                                left: <Id.Left_DollarBrace '${'>
                                                                token: 
                                                                  <Id.VSub_Name 
aSOFTWARE_INSTALL_STATE
                                                                  >
                                                                var_name: aSOFTWARE_INSTALL_STATE
                                                                bracket_op: 
                                                                  (bracket_op.ArrayIndex
                                                                    expr: {<Id.Lit_Digits 118>}
                                                                  )
                                                                right: <Id.Right_DollarBrace '}'>
                                                              )
                                                            }
                                                          right: {<Id.Lit_Digits 1>}
                                                        )
                                                    )
                                                  right: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DEqual
                                                      left: 
                                                        {
                                                          (braced_var_sub
                                                            left: <Id.Left_DollarBrace '${'>
                                                            token: 
                                                              <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                            var_name: aSOFTWARE_INSTALL_STATE
                                                            bracket_op: 
                                                              (bracket_op.ArrayIndex
                                                                expr: {<Id.Lit_Digits 136>}
                                                              )
                                                            right: <Id.Right_DollarBrace '}'>
                                                          )
                                                        }
                                                      right: {<Id.Lit_Digits 1>}
                                                    )
                                                )
                                              right: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: 
                                                    {
                                                      (braced_var_sub
                                                        left: <Id.Left_DollarBrace '${'>
                                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                        var_name: aSOFTWARE_INSTALL_STATE
                                                        bracket_op: 
                                                          (bracket_op.ArrayIndex
                                                            expr: {<Id.Lit_Digits 139>}
                                                          )
                                                        right: <Id.Right_DollarBrace '}'>
                                                      )
                                                    }
                                                  right: {<Id.Lit_Digits 1>}
                                                )
                                            )
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: 
                                                {
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                    var_name: aSOFTWARE_INSTALL_STATE
                                                    bracket_op: 
                                                      (bracket_op.ArrayIndex
                                                        expr: {<Id.Lit_Digits 142>}
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  )
                                                }
                                              right: {<Id.Lit_Digits 1>}
                                            )
                                        )
                                      right: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 153>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                    )
                                  right: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: 
                                        {
                                          (braced_var_sub
                                            left: <Id.Left_DollarBrace '${'>
                                            token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                            var_name: aSOFTWARE_INSTALL_STATE
                                            bracket_op: 
                                              (bracket_op.ArrayIndex
                                                expr: {<Id.Lit_Digits 169>}
                                              )
                                            right: <Id.Right_DollarBrace '}'>
                                          )
                                        }
                                      right: {<Id.Lit_Digits 1>}
                                    )
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 130>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                      name: aSOFTWARE_INSTALL_STATE
                                      index: {<Id.Lit_Digits 130>}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [16136]
                                )
                              ]
                              redirects: []
                            )
                            (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Python-Pip will be installed'>)})
                          ]
                          spids: [16113 16132]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [15992 16109]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DPipe
                                  left: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DPipe
                                      left: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 32>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      right: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 119>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                    )
                                  right: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: 
                                        {
                                          (braced_var_sub
                                            left: <Id.Left_DollarBrace '${'>
                                            token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                            var_name: aSOFTWARE_INSTALL_STATE
                                            bracket_op: 
                                              (bracket_op.ArrayIndex
                                                expr: {<Id.Lit_Digits 129>}
                                              )
                                            right: <Id.Right_DollarBrace '}'>
                                          )
                                        }
                                      right: {<Id.Lit_Digits 1>}
                                    )
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 128>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                      name: aSOFTWARE_INSTALL_STATE
                                      index: {<Id.Lit_Digits 128>}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [16257]
                                )
                              ]
                              redirects: []
                            )
                            (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'MPD will be installed'>)})
                          ]
                          spids: [16230 16249]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [16179 16226]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 126>})
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 94>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                      name: aSOFTWARE_INSTALL_STATE
                                      index: {<Id.Lit_Digits 94>}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [16338]
                                )
                              ]
                              redirects: []
                            )
                            (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'ProFTP will be installed'>)})
                          ]
                          spids: [16315 16334]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 96>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                      name: aSOFTWARE_INSTALL_STATE
                                      index: {<Id.Lit_Digits 96>}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [16388]
                                )
                              ]
                              redirects: []
                            )
                            (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Samba Server will be installed'>)})
                          ]
                          spids: [16365 16384]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [16288 16307]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DPipe
                                  left: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: 
                                        {
                                          (braced_var_sub
                                            left: <Id.Left_DollarBrace '${'>
                                            token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                            var_name: aSOFTWARE_INSTALL_STATE
                                            bracket_op: 
                                              (bracket_op.ArrayIndex
                                                expr: {<Id.Lit_Digits 47>}
                                              )
                                            right: <Id.Right_DollarBrace '}'>
                                          )
                                        }
                                      right: {<Id.Lit_Digits 1>}
                                    )
                                  right: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: 
                                        {
                                          (braced_var_sub
                                            left: <Id.Left_DollarBrace '${'>
                                            token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                            var_name: aSOFTWARE_INSTALL_STATE
                                            bracket_op: 
                                              (bracket_op.ArrayIndex
                                                expr: {<Id.Lit_Digits 114>}
                                              )
                                            right: <Id.Right_DollarBrace '}'>
                                          )
                                        }
                                      right: {<Id.Lit_Digits 1>}
                                    )
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 91>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                      name: aSOFTWARE_INSTALL_STATE
                                      index: {<Id.Lit_Digits 91>}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [16479]
                                )
                              ]
                              redirects: []
                            )
                            (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Redis will be installed'>)})
                          ]
                          spids: [16456 16475]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [16419 16452]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 82>})
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 84>}
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [16548]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 88>}
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [16556]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 89>}
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [16564]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [16526 16545]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 81>})
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 84>}
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [16602]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 87>}
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [16610]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 89>}
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [16618]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [16580 16599]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 79>})
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 85>}
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [16656]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 88>}
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [16664]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 89>}
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [16672]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [16634 16653]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 78>})
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 85>}
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [16710]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 87>}
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [16718]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 89>}
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [16726]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [16688 16707]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 76>})
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 83>}
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [16764]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 88>}
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [16772]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 89>}
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [16780]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [16742 16761]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 75>})
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 83>}
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [16818]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 87>}
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [16826]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 89>}
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [16834]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [16796 16815]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 0>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_Less
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DAmp
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_REQUIRES_WEBSERVER>
                                                var_name: aSOFTWARE_REQUIRES_WEBSERVER
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {($ Id.VSub_DollarName i)}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: 
                                                {
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                    var_name: aSOFTWARE_INSTALL_STATE
                                                    bracket_op: 
                                                      (bracket_op.ArrayIndex
                                                        expr: {($ Id.VSub_DollarName i)}
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  )
                                                }
                                              right: {<Id.Lit_Digits 1>}
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DAmp
                                                  left: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DAmp
                                                      left: 
                                                        (arith_expr.Unary
                                                          op_id: Id.Arith_Bang
                                                          child: 
                                                            {
                                                              (braced_var_sub
                                                                left: <Id.Left_DollarBrace '${'>
                                                                token: 
                                                                  <Id.VSub_Name 
aSOFTWARE_INSTALL_STATE
                                                                  >
                                                                var_name: aSOFTWARE_INSTALL_STATE
                                                                bracket_op: 
                                                                  (bracket_op.ArrayIndex
                                                                    expr: {<Id.Lit_Digits 83>}
                                                                  )
                                                                right: <Id.Right_DollarBrace '}'>
                                                              )
                                                            }
                                                        )
                                                      right: 
                                                        (arith_expr.Unary
                                                          op_id: Id.Arith_Bang
                                                          child: 
                                                            {
                                                              (braced_var_sub
                                                                left: <Id.Left_DollarBrace '${'>
                                                                token: 
                                                                  <Id.VSub_Name 
aSOFTWARE_INSTALL_STATE
                                                                  >
                                                                var_name: aSOFTWARE_INSTALL_STATE
                                                                bracket_op: 
                                                                  (bracket_op.ArrayIndex
                                                                    expr: {<Id.Lit_Digits 84>}
                                                                  )
                                                                right: <Id.Right_DollarBrace '}'>
                                                              )
                                                            }
                                                        )
                                                    )
                                                  right: 
                                                    (arith_expr.Unary
                                                      op_id: Id.Arith_Bang
                                                      child: 
                                                        {
                                                          (braced_var_sub
                                                            left: <Id.Left_DollarBrace '${'>
                                                            token: 
                                                              <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                            var_name: aSOFTWARE_INSTALL_STATE
                                                            bracket_op: 
                                                              (bracket_op.ArrayIndex
                                                                expr: {<Id.Lit_Digits 85>}
                                                              )
                                                            right: <Id.Right_DollarBrace '}'>
                                                          )
                                                        }
                                                    )
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DEqual
                                                          left: 
                                                            {
                                                              ($ Id.VSub_DollarName 
INDEX_WEBSERVER_TARGET
                                                              )
                                                            }
                                                          right: {<Id.Lit_Digits 0>}
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.IndexedName
                                                      left: 
                                                        <Id.Lit_ArrayLhsOpen 
'aSOFTWARE_INSTALL_STATE['
                                                        >
                                                      name: aSOFTWARE_INSTALL_STATE
                                                      index: {<Id.Lit_Digits 83>}
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {<1>}
                                                  spids: [16985]
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (C {<G_DIETPI-NOTIFY>} {<2>} 
                                              {(DQ <'Apache2 will be installed'>)}
                                            )
                                          ]
                                          spids: [16963 16977]
                                        )
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DEqual
                                                          left: 
                                                            {
                                                              ($ Id.VSub_DollarName 
INDEX_WEBSERVER_TARGET
                                                              )
                                                            }
                                                          right: 
                                                            (arith_expr.Unary
                                                              op_id: Id.Node_UnaryMinus
                                                              child: {<Id.Lit_Digits 1>}
                                                            )
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.IndexedName
                                                      left: 
                                                        <Id.Lit_ArrayLhsOpen 
'aSOFTWARE_INSTALL_STATE['
                                                        >
                                                      name: aSOFTWARE_INSTALL_STATE
                                                      index: {<Id.Lit_Digits 85>}
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {<1>}
                                                  spids: [17026]
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (C {<G_DIETPI-NOTIFY>} {<2>} 
                                              {(DQ <'Nginx will be installed'>)}
                                            )
                                          ]
                                          spids: [17003 17018]
                                        )
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DEqual
                                                          left: 
                                                            {
                                                              ($ Id.VSub_DollarName 
INDEX_WEBSERVER_TARGET
                                                              )
                                                            }
                                                          right: 
                                                            (arith_expr.Unary
                                                              op_id: Id.Node_UnaryMinus
                                                              child: {<Id.Lit_Digits 2>}
                                                            )
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.IndexedName
                                                      left: 
                                                        <Id.Lit_ArrayLhsOpen 
'aSOFTWARE_INSTALL_STATE['
                                                        >
                                                      name: aSOFTWARE_INSTALL_STATE
                                                      index: {<Id.Lit_Digits 84>}
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {<1>}
                                                  spids: [17067]
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (C {<G_DIETPI-NOTIFY>} {<2>} 
                                              {(DQ <'Lighttpd will be installed'>)}
                                            )
                                          ]
                                          spids: [17044 17059]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.IndexedName
                                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                              name: aSOFTWARE_INSTALL_STATE
                                              index: {<Id.Lit_Digits 89>}
                                            )
                                          op: assign_op.Equal
                                          rhs: {<1>}
                                          spids: [17093]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'PHP will be installed'>)})
                                  ]
                                  spids: [16914 16955]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ControlFlow
                              token: <Id.ControlFlow_Break break>
                            )
                          ]
                          spids: [16873 16902]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 0>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_Less
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DAmp
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_REQUIRES_MYSQL>
                                                var_name: aSOFTWARE_REQUIRES_MYSQL
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {($ Id.VSub_DollarName i)}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: 
                                                {
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                    var_name: aSOFTWARE_INSTALL_STATE
                                                    bracket_op: 
                                                      (bracket_op.ArrayIndex
                                                        expr: {($ Id.VSub_DollarName i)}
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  )
                                                }
                                              right: {<Id.Lit_Digits 1>}
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Unary
                                                  op_id: Id.Arith_Bang
                                                  child: 
                                                    {
                                                      (braced_var_sub
                                                        left: <Id.Left_DollarBrace '${'>
                                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                        var_name: aSOFTWARE_INSTALL_STATE
                                                        bracket_op: 
                                                          (bracket_op.ArrayIndex
                                                            expr: {<Id.Lit_Digits 88>}
                                                          )
                                                        right: <Id.Right_DollarBrace '}'>
                                                      )
                                                    }
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.IndexedName
                                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                              name: aSOFTWARE_INSTALL_STATE
                                              index: {<Id.Lit_Digits 88>}
                                            )
                                          op: assign_op.Equal
                                          rhs: {<1>}
                                          spids: [17216]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'MariaDB will be installed'>)})
                                  ]
                                  spids: [17191 17208]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ControlFlow
                              token: <Id.ControlFlow_Break break>
                            )
                          ]
                          spids: [17154 17183]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 0>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_Less
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DAmp
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_REQUIRES_SQLITE>
                                                var_name: aSOFTWARE_REQUIRES_SQLITE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {($ Id.VSub_DollarName i)}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: 
                                                {
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                    var_name: aSOFTWARE_INSTALL_STATE
                                                    bracket_op: 
                                                      (bracket_op.ArrayIndex
                                                        expr: {($ Id.VSub_DollarName i)}
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  )
                                                }
                                              right: {<Id.Lit_Digits 1>}
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                      name: aSOFTWARE_INSTALL_STATE
                                      index: {<Id.Lit_Digits 87>}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [17315]
                                )
                              ]
                              redirects: []
                            )
                            (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'SQlite will be installed'>)})
                            (command.ControlFlow
                              token: <Id.ControlFlow_Break break>
                            )
                          ]
                          spids: [17278 17307]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_GreatEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 83>})
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 87>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                      name: aSOFTWARE_INSTALL_STATE
                                      index: {<Id.Lit_Digits 75>}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [17408]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [17381 17400]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 88>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                      name: aSOFTWARE_INSTALL_STATE
                                      index: {<Id.Lit_Digits 76>}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [17452]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [17425 17444]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [17354 17373]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_GreatEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 85>})
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 87>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                      name: aSOFTWARE_INSTALL_STATE
                                      index: {<Id.Lit_Digits 78>}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [17524]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [17497 17516]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 88>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                      name: aSOFTWARE_INSTALL_STATE
                                      index: {<Id.Lit_Digits 79>}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [17568]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [17541 17560]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [17470 17489]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_GreatEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 84>})
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 87>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                      name: aSOFTWARE_INSTALL_STATE
                                      index: {<Id.Lit_Digits 81>}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [17639]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [17612 17631]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 88>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                      name: aSOFTWARE_INSTALL_STATE
                                      index: {<Id.Lit_Digits 82>}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [17683]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [17656 17675]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [17585 17604]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 0>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_Less
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DAmp
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_REQUIRES_DESKTOP>
                                                var_name: aSOFTWARE_REQUIRES_DESKTOP
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {($ Id.VSub_DollarName i)}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: 
                                                {
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                    var_name: aSOFTWARE_INSTALL_STATE
                                                    bracket_op: 
                                                      (bracket_op.ArrayIndex
                                                        expr: {($ Id.VSub_DollarName i)}
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  )
                                                }
                                              right: {<Id.Lit_Digits 1>}
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DAmp
                                                  left: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DAmp
                                                      left: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DAmp
                                                          left: 
                                                            (arith_expr.Unary
                                                              op_id: Id.Arith_Bang
                                                              child: 
                                                                {
                                                                  (braced_var_sub
                                                                    left: <Id.Left_DollarBrace '${'>
                                                                    token: 
                                                                      <Id.VSub_Name 
aSOFTWARE_INSTALL_STATE
                                                                      >
                                                                    var_name: 
aSOFTWARE_INSTALL_STATE
                                                                    bracket_op: 
                                                                      (bracket_op.ArrayIndex
                                                                        expr: {<Id.Lit_Digits 23>}
                                                                      )
                                                                    right: <Id.Right_DollarBrace '}'>
                                                                  )
                                                                }
                                                            )
                                                          right: 
                                                            (arith_expr.Unary
                                                              op_id: Id.Arith_Bang
                                                              child: 
                                                                {
                                                                  (braced_var_sub
                                                                    left: <Id.Left_DollarBrace '${'>
                                                                    token: 
                                                                      <Id.VSub_Name 
aSOFTWARE_INSTALL_STATE
                                                                      >
                                                                    var_name: 
aSOFTWARE_INSTALL_STATE
                                                                    bracket_op: 
                                                                      (bracket_op.ArrayIndex
                                                                        expr: {<Id.Lit_Digits 24>}
                                                                      )
                                                                    right: <Id.Right_DollarBrace '}'>
                                                                  )
                                                                }
                                                            )
                                                        )
                                                      right: 
                                                        (arith_expr.Unary
                                                          op_id: Id.Arith_Bang
                                                          child: 
                                                            {
                                                              (braced_var_sub
                                                                left: <Id.Left_DollarBrace '${'>
                                                                token: 
                                                                  <Id.VSub_Name 
aSOFTWARE_INSTALL_STATE
                                                                  >
                                                                var_name: aSOFTWARE_INSTALL_STATE
                                                                bracket_op: 
                                                                  (bracket_op.ArrayIndex
                                                                    expr: {<Id.Lit_Digits 25>}
                                                                  )
                                                                right: <Id.Right_DollarBrace '}'>
                                                              )
                                                            }
                                                        )
                                                    )
                                                  right: 
                                                    (arith_expr.Unary
                                                      op_id: Id.Arith_Bang
                                                      child: 
                                                        {
                                                          (braced_var_sub
                                                            left: <Id.Left_DollarBrace '${'>
                                                            token: 
                                                              <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                            var_name: aSOFTWARE_INSTALL_STATE
                                                            bracket_op: 
                                                              (bracket_op.ArrayIndex
                                                                expr: {<Id.Lit_Digits 26>}
                                                              )
                                                            right: <Id.Right_DollarBrace '}'>
                                                          )
                                                        }
                                                    )
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.IndexedName
                                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                              name: aSOFTWARE_INSTALL_STATE
                                              index: {<Id.Lit_Digits 23>}
                                            )
                                          op: assign_op.Equal
                                          rhs: {<1>}
                                          spids: [17822]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (C {<G_DIETPI-NOTIFY>} {<2>} 
                                      {(DQ <'LXDE desktop will be installed'>)}
                                    )
                                  ]
                                  spids: [17765 17818]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ControlFlow
                              token: <Id.ControlFlow_Break break>
                            )
                          ]
                          spids: [17728 17757]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 0>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_Less
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DAmp
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_REQUIRES_GIT>
                                                var_name: aSOFTWARE_REQUIRES_GIT
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {($ Id.VSub_DollarName i)}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: 
                                                {
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                    var_name: aSOFTWARE_INSTALL_STATE
                                                    bracket_op: 
                                                      (bracket_op.ArrayIndex
                                                        expr: {($ Id.VSub_DollarName i)}
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  )
                                                }
                                              right: {<Id.Lit_Digits 1>}
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                      name: aSOFTWARE_INSTALL_STATE
                                      index: {<Id.Lit_Digits 17>}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [17920]
                                )
                              ]
                              redirects: []
                            )
                            (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Git will be installed'>)})
                            (command.ControlFlow
                              token: <Id.ControlFlow_Break break>
                            )
                          ]
                          spids: [17883 17912]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 0>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_Less
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DAmp
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: 
                                                  <Id.VSub_Name aSOFTWARE_REQUIRES_BUILDESSENTIAL>
                                                var_name: aSOFTWARE_REQUIRES_BUILDESSENTIAL
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {($ Id.VSub_DollarName i)}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: 
                                                {
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                    var_name: aSOFTWARE_INSTALL_STATE
                                                    bracket_op: 
                                                      (bracket_op.ArrayIndex
                                                        expr: {($ Id.VSub_DollarName i)}
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  )
                                                }
                                              right: {<Id.Lit_Digits 1>}
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                      name: aSOFTWARE_INSTALL_STATE
                                      index: {<Id.Lit_Digits 16>}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [18015]
                                )
                              ]
                              redirects: []
                            )
                            (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Build-Essential will be installed'>)})
                            (command.ControlFlow
                              token: <Id.ControlFlow_Break break>
                            )
                          ]
                          spids: [17978 18007]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 0>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_Less
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DAmp
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_REQUIRES_RSYSLOG>
                                                var_name: aSOFTWARE_REQUIRES_RSYSLOG
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {($ Id.VSub_DollarName i)}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: 
                                                {
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                    var_name: aSOFTWARE_INSTALL_STATE
                                                    bracket_op: 
                                                      (bracket_op.ArrayIndex
                                                        expr: {($ Id.VSub_DollarName i)}
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  )
                                                }
                                              right: {<Id.Lit_Digits 1>}
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                      name: aSOFTWARE_INSTALL_STATE
                                      index: {<Id.Lit_Digits 102>}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [18110]
                                )
                              ]
                              redirects: []
                            )
                            (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Rsyslog will be installed'>)})
                            (command.ControlFlow
                              token: <Id.ControlFlow_Break break>
                            )
                          ]
                          spids: [18073 18102]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 0>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_Less
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DAmp
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_REQUIRES_FFMPEG>
                                                var_name: aSOFTWARE_REQUIRES_FFMPEG
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {($ Id.VSub_DollarName i)}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: 
                                                {
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                    var_name: aSOFTWARE_INSTALL_STATE
                                                    bracket_op: 
                                                      (bracket_op.ArrayIndex
                                                        expr: {($ Id.VSub_DollarName i)}
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  )
                                                }
                                              right: {<Id.Lit_Digits 1>}
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                      name: aSOFTWARE_INSTALL_STATE
                                      index: {<Id.Lit_Digits 7>}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [18205]
                                )
                              ]
                              redirects: []
                            )
                            (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'FFmpeg will be installed'>)})
                            (command.ControlFlow
                              token: <Id.ControlFlow_Break break>
                            )
                          ]
                          spids: [18168 18197]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 0>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_Less
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DAmp
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_REQUIRES_ORACLEJAVA>
                                                var_name: aSOFTWARE_REQUIRES_ORACLEJAVA
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {($ Id.VSub_DollarName i)}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: 
                                                {
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                    var_name: aSOFTWARE_INSTALL_STATE
                                                    bracket_op: 
                                                      (bracket_op.ArrayIndex
                                                        expr: {($ Id.VSub_DollarName i)}
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  )
                                                }
                                              right: {<Id.Lit_Digits 1>}
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                      name: aSOFTWARE_INSTALL_STATE
                                      index: {<Id.Lit_Digits 8>}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [18300]
                                )
                              ]
                              redirects: []
                            )
                            (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'OpenJDK 8 will be installed'>)})
                            (command.ControlFlow
                              token: <Id.ControlFlow_Break break>
                            )
                          ]
                          spids: [18263 18292]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 0>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_Less
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DAmp
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_REQUIRES_NODEJS>
                                                var_name: aSOFTWARE_REQUIRES_NODEJS
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {($ Id.VSub_DollarName i)}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: 
                                                {
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                    var_name: aSOFTWARE_INSTALL_STATE
                                                    bracket_op: 
                                                      (bracket_op.ArrayIndex
                                                        expr: {($ Id.VSub_DollarName i)}
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  )
                                                }
                                              right: {<Id.Lit_Digits 1>}
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                      name: aSOFTWARE_INSTALL_STATE
                                      index: {<Id.Lit_Digits 9>}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [18395]
                                )
                              ]
                              redirects: []
                            )
                            (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'NodeJS will be installed'>)})
                            (command.ControlFlow
                              token: <Id.ControlFlow_Break break>
                            )
                          ]
                          spids: [18358 18387]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 0>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_Less
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DAmp
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_REQUIRES_ALSA>
                                                var_name: aSOFTWARE_REQUIRES_ALSA
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {($ Id.VSub_DollarName i)}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: 
                                                {
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                    var_name: aSOFTWARE_INSTALL_STATE
                                                    bracket_op: 
                                                      (bracket_op.ArrayIndex
                                                        expr: {($ Id.VSub_DollarName i)}
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  )
                                                }
                                              right: {<Id.Lit_Digits 1>}
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                      name: aSOFTWARE_INSTALL_STATE
                                      index: {<Id.Lit_Digits 5>}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [18490]
                                )
                              ]
                              redirects: []
                            )
                            (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Alsa will be installed'>)})
                            (command.ControlFlow
                              token: <Id.ControlFlow_Break break>
                            )
                          ]
                          spids: [18453 18482]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 0>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_Less
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DAmp
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_REQUIRES_XSERVERXORG>
                                                var_name: aSOFTWARE_REQUIRES_XSERVERXORG
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {($ Id.VSub_DollarName i)}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: 
                                                {
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                    var_name: aSOFTWARE_INSTALL_STATE
                                                    bracket_op: 
                                                      (bracket_op.ArrayIndex
                                                        expr: {($ Id.VSub_DollarName i)}
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  )
                                                }
                                              right: {<Id.Lit_Digits 1>}
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                      name: aSOFTWARE_INSTALL_STATE
                                      index: {<Id.Lit_Digits 6>}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [18585]
                                )
                              ]
                              redirects: []
                            )
                            (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Xserver will be installed'>)})
                            (command.ControlFlow
                              token: <Id.ControlFlow_Break break>
                            )
                          ]
                          spids: [18548 18577]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Create_Desktop_Shared_Items
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<wget>} 
              {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/.gtk-bookmarks'>} {<-O>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.gtk-bookmarks'>}
            )
            (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName HOME)) <'/Desktop'>})
            (C {<ln>} {<-sf>} {<'/usr/share/applications/htop.desktop'>} 
              {(DQ ($ Id.VSub_DollarName HOME)) <'/Desktop/htop.desktop'>}
            )
            (C {<mkdir>} {<-p>} {<'/usr/share/applications'>})
            (C {<wget>} 
              {<http> <Id.Lit_Colon ':'> 
                <'//dietpi.com/downloads/conf/desktop/dietpi-software.desktop'>
              } {<-O>} {<'/usr/share/applications/dietpi-software.desktop'>}
            )
            (C {<wget>} 
              {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/dietpi-update.desktop'>} {<-O>} {<'/usr/share/applications/dietpi-update.desktop'>}
            )
            (C {<wget>} 
              {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/dietpi-config.desktop'>} {<-O>} {<'/usr/share/applications/dietpi-config.desktop'>}
            )
            (C {<wget>} 
              {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/dietpi-backup.desktop'>} {<-O>} {<'/usr/share/applications/dietpi-backup.desktop'>}
            )
            (C {<wget>} 
              {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/dietpi-sync.desktop'>} {<-O>} {<'/usr/share/applications/dietpi-sync.desktop'>}
            )
            (C {<wget>} 
              {<http> <Id.Lit_Colon ':'> 
                <'//dietpi.com/downloads/conf/desktop/dietpi-bugreport.desktop'>
              } {<-O>} {<'/usr/share/applications/dietpi-bugreport.desktop'>}
            )
            (C {<wget>} 
              {<http> <Id.Lit_Colon ':'> 
                <'//dietpi.com/downloads/conf/desktop/dietpi-process_tool.desktop'>
              } {<-O>} {<'/usr/share/applications/dietpi-process_tool.desktop'>}
            )
            (C {<wget>} 
              {<http> <Id.Lit_Colon ':'> 
                <'//dietpi.com/downloads/conf/desktop/dietpi-cleaner.desktop'>
              } {<-O>} {<'/usr/share/applications/dietpi-cleaner.desktop'>}
            )
            (C {<wget>} 
              {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/dietpi-cron.desktop'>} {<-O>} {<'/usr/share/applications/dietpi-cron.desktop'>}
            )
            (C {<wget>} 
              {<http> <Id.Lit_Colon ':'> 
                <'//dietpi.com/downloads/conf/desktop/dietpi-launcher.desktop'>
              } {<-O>} {<'/usr/share/applications/dietpi-launcher.desktop'>}
            )
            (C {<wget>} 
              {<http> <Id.Lit_Colon ':'> 
                <'//dietpi.com/downloads/conf/desktop/dietpi-justboom.desktop'>
              } {<-O>} {<'/usr/share/applications/dietpi-justboom.desktop'>}
            )
            (C {<ln>} {<-sf>} {<'/usr/share/applications/dietpi-software.desktop'>} 
              {(DQ ($ Id.VSub_DollarName HOME)) <'/Desktop/dietpi-software.desktop'>}
            )
            (C {<ln>} {<-sf>} {<'/usr/share/applications/dietpi-config.desktop'>} 
              {(DQ ($ Id.VSub_DollarName HOME)) <'/Desktop/dietpi-config.desktop'>}
            )
            (C {<ln>} {<-sf>} {<'/usr/share/applications/dietpi-launcher.desktop'>} 
              {(DQ ($ Id.VSub_DollarName HOME)) <'/Desktop/dietpi-launcher.desktop'>}
            )
            (C {<mkdir>} {<-p>} {<'/var/lib/dietpi/dietpi-software/installed/desktop_icons'>})
            (C {<wget>} 
              {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/dietpi-icon.png'>} {<-O>} {<'/var/lib/dietpi/dietpi-software/installed/desktop_icons/dietpi-icon.png'>}
            )
            (C {<wget>} 
              {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/grey_16x16.png'>} {<-O>} {<'/var/lib/dietpi/dietpi-software/installed/desktop_icons/grey_16x16.png'>}
            )
            (C {<wget>} 
              {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/kodi-icon.png'>} {<-O>} {<'/var/lib/dietpi/dietpi-software/installed/desktop_icons/kodi-icon.png'>}
            )
            (C {<wget>} 
              {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/justboom.png'>} {<-O>} {<'/var/lib/dietpi/dietpi-software/installed/desktop_icons/justboom.png'>}
            )
            (C {<sed>} {<-i>} 
              {
                (SQ 
                  <
's#^Icon=/etc/dietpi/desktop_icons#Icon=/var/lib/dietpi/dietpi-software/installed/desktop_icons#g'
                  >
                )
              } {<'/usr/share/applications/'> <Id.Lit_Star '*'> <.desktop>}
            )
            (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/usr/share/applications/'> <Id.Lit_Star '*'>})
            (C {<chmod>} {<Id.Lit_Other '+'> <x>} 
              {(DQ ($ Id.VSub_DollarName HOME)) <'/Desktop/'> <Id.Lit_Star '*'>}
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Create_UserContent_Folders
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<mkdir>} {<-p>} 
              {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/'> 
                (DQ ($ Id.VSub_DollarName FOLDER_MUSIC))
              }
            )
            (C {<mkdir>} {<-p>} 
              {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/'> 
                (DQ ($ Id.VSub_DollarName FOLDER_PICTURES))
              }
            )
            (C {<mkdir>} {<-p>} 
              {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/'> 
                (DQ ($ Id.VSub_DollarName FOLDER_VIDEO))
              }
            )
            (C {<mkdir>} {<-p>} 
              {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/'> 
                (DQ ($ Id.VSub_DollarName FOLDER_DOWNLOADS))
              }
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Download_Test_Media
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} 
                              {
                                (DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/'> 
                                  ($ Id.VSub_DollarName FOLDER_MUSIC)
                                ) <'/fourdee_tech.ogg'>
                              } {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<wget>} 
                      {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/audio/fourdee_tech.ogg'>} {<-O>} 
                      {
                        (DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/'> 
                          ($ Id.VSub_DollarName FOLDER_MUSIC)
                        ) <'/fourdee_tech.ogg'>
                      }
                    )
                    (C {<wget>} 
                      {<http> <Id.Lit_Colon ':'> 
                        <'//network.absoluteradio.co.uk/core/audio/ogg/live.pls'> <Id.Lit_QMark '?'> <Id.Lit_VarLike 'service='> <vrbb>
                      } {<-O>} 
                      {
                        (DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/'> 
                          ($ Id.VSub_DollarName FOLDER_MUSIC)
                        ) <'/Absolute-Radio.pls'>
                      }
                    )
                    (C {<wget>} 
                      {<http> <Id.Lit_Colon ':'> 
                        <'//network.absoluteradio.co.uk/core/audio/ogg/live.pls'> <Id.Lit_QMark '?'> <Id.Lit_VarLike 'service='> <a8bb>
                      } {<-O>} 
                      {
                        (DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/'> 
                          ($ Id.VSub_DollarName FOLDER_MUSIC)
                        ) <'/Absolute-Radio-80s.pls'>
                      }
                    )
                    (C {<wget>} 
                      {<http> <Id.Lit_Colon ':'> 
                        <'//network.absoluteradio.co.uk/core/audio/ogg/live.pls'> <Id.Lit_QMark '?'> <Id.Lit_VarLike 'service='> <a9bb>
                      } {<-O>} 
                      {
                        (DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/'> 
                          ($ Id.VSub_DollarName FOLDER_MUSIC)
                        ) <'/Absolute-Radio-90s.pls'>
                      }
                    )
                    (C {<wget>} 
                      {<http> <Id.Lit_Colon ':'> 
                        <'//network.absoluteradio.co.uk/core/audio/ogg/live.pls'> <Id.Lit_QMark '?'> <Id.Lit_VarLike 'service='> <a0bb>
                      } {<-O>} 
                      {
                        (DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/'> 
                          ($ Id.VSub_DollarName FOLDER_MUSIC)
                        ) <'/Absolute-Radio-00s.pls'>
                      }
                    )
                  ]
                  spids: [19022 19040]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Optimize_BitTorrent
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<local>} {<Id.Lit_VarLike 'output='> <0>})
            (C {<local>} {<Id.Lit_VarLike 'gigabit_device='> <1>})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DPipe
                                  left: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DPipe
                                      left: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DPipe
                                          left: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DPipe
                                              left: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DPipe
                                                  left: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_LessEqual
                                                      left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                      right: {<Id.Lit_Digits 3>}
                                                    )
                                                  right: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DEqual
                                                      left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                      right: {<Id.Lit_Digits 30>}
                                                    )
                                                )
                                              right: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                  right: {<Id.Lit_Digits 32>}
                                                )
                                            )
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                              right: {<Id.Lit_Digits 40>}
                                            )
                                        )
                                      right: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                          right: {<Id.Lit_Digits 60>}
                                        )
                                    )
                                  right: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                      right: {<Id.Lit_Digits 70>}
                                    )
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'gigabit_device='>
                              name: gigabit_device
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [19244]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [19186 19240]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_Number 1)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'output='> name:output)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (word_part.ArithSub
                                anode: 
                                  (arith_expr.Binary
                                    op_id: Id.Arith_Slash
                                    left: {($ Id.VSub_DollarName RAM_TOTAL)}
                                    right: {<Id.Lit_Digits 10>}
                                  )
                              )
                            }
                          spids: [19275]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [19257 19271]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_Number 1)}
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'output='> name:output)
                          op: assign_op.Equal
                          rhs: {<2>}
                          spids: [19311]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DPipe
                                          left: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                              right: {<Id.Lit_Digits 20>}
                                            )
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                              right: {<Id.Lit_Digits 21>}
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'output='> name:output)
                                  op: assign_op.Equal
                                  rhs: {<3>}
                                  spids: [19346]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [19320 19342]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [19293 19307]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_Number 1)}
                                  right: {<Id.Lit_Digits 2>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'output='> name:output)
                          op: assign_op.Equal
                          rhs: {<20>}
                          spids: [19377]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DPipe
                                          left: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                              right: {<Id.Lit_Digits 20>}
                                            )
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                              right: {<Id.Lit_Digits 21>}
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'output='> name:output)
                                  op: assign_op.Equal
                                  rhs: {<40>}
                                  spids: [19412]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [19386 19408]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: {($ Id.VSub_DollarName gigabit_device)}
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'output='> name:output)
                                  op: assign_op.Equal
                                  rhs: {<30>}
                                  spids: [19435]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [19421 19431]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                          right: {<Id.Lit_Digits 3>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'output='> name:output)
                                  op: assign_op.Equal
                                  rhs: {<15>}
                                  spids: [19466]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [19448 19462]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                          right: {<Id.Lit_Digits 2>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'output='> name:output)
                                  op: assign_op.Equal
                                  rhs: {<13>}
                                  spids: [19493]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [19475 19489]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_LessEqual
                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'output='> name:output)
                                  op: assign_op.Equal
                                  rhs: {<7>}
                                  spids: [19520]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [19502 19516]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [19359 19373]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_Number 1)}
                                  right: {<Id.Lit_Digits 3>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'output='> name:output)
                          op: assign_op.Equal
                          rhs: {<3>}
                          spids: [19551]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DPipe
                                          left: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                              right: {<Id.Lit_Digits 20>}
                                            )
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                              right: {<Id.Lit_Digits 21>}
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'output='> name:output)
                                  op: assign_op.Equal
                                  rhs: {<5>}
                                  spids: [19586]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [19560 19582]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: {($ Id.VSub_DollarName gigabit_device)}
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'output='> name:output)
                                  op: assign_op.Equal
                                  rhs: {<4>}
                                  spids: [19609]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [19595 19605]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_LessEqual
                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                          right: {<Id.Lit_Digits 3>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'output='> name:output)
                                  op: assign_op.Equal
                                  rhs: {<2>}
                                  spids: [19636]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [19618 19632]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [19533 19547]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<echo>} {($ Id.VSub_DollarName output)})
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Install_Dietpi_Software
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<23>}
                  spids: [19843]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'http://dietpi.com/downloads/conf/desktop'>)}
                          spids: [19878]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<G_AGI>} {<lxde>} {<upower>} {<policykit-1>} {<iceweasel>} {<p7zip-full>} 
                      {<--no-install-recommends>}
                    )
                  ]
                  spids: [19847 19866]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<24>}
                  spids: [19921]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'http://dietpi.com/downloads/conf/desktop'>)}
                          spids: [19956]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<G_AGI>} {<mate-desktop-environment-extras>} {<upower>} {<policykit-1>} 
                      {<iceweasel>} {<p7zip-full>} {<--no-install-recommends>}
                    )
                  ]
                  spids: [19925 19944]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<26>}
                  spids: [19995]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'http://dietpi.com/downloads/conf/desktop'>)}
                          spids: [20030]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<G_AGI>} {<x-window-system-core>} {<wmaker>} {<gnustep>} {<gnustep-devel>} 
                      {<gnustep-games>} {<libc-dbg>} {<upower>} {<policykit-1>} {<iceweasel>} {<p7zip-full>} {<--no-install-recommends>}
                    )
                  ]
                  spids: [19999 20018]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<25>}
                  spids: [20079]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'http://dietpi.com/downloads/conf/desktop'>)}
                          spids: [20114]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<G_AGI>} {<xfce4>} {<xfce4-terminal>} {<gnome-icon-theme>} {<tango-icon-theme>} 
                      {<iceweasel>} {<p7zip-full>} {<--no-install-recommends>}
                    )
                  ]
                  spids: [20083 20102]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<29>}
                  spids: [20155]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<xrdp>})]
                  spids: [20159 20178]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<30>}
                  spids: [20200]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_DESCRIPTION='>
                              name: INSTALL_DESCRIPTION
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <'NoMachine (Secure RDP Server & Client)'>)}
                          spids: [20230]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
'http://dietpi.com/downloads/binaries/all/nomachine_5.1.44_1_amd64.deb'
                                        >
                                      )
                                    }
                                  spids: [20259]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [20241 20255]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
'http://dietpi.com/downloads/binaries/all/nomachine_5.1.44_3_armv6hf.deb'
                                        >
                                      )
                                    }
                                  spids: [20288]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [20270 20284]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 2>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
'http://dietpi.com/downloads/binaries/all/nomachine_5.1.44_armhf.deb'
                                        >
                                      )
                                    }
                                  spids: [20317]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [20299 20313]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.deb>})
                    (C {<dpkg>} {<-i>} {<package.deb>})
                    (C {<rm>} {<package.deb>})
                  ]
                  spids: [20204 20223]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<44>}
                  spids: [20372]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<transmission-daemon>})]
                  spids: [20376 20395]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<94>}
                  spids: [20416]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.Pipeline
                      children: [
                        (C {<echo>} {<-e>} 
                          {
                            (DQ 
                              <'proftpd-basic shared/proftpd/inetd_or_standalone select standalone'>
                            )
                          }
                        )
                        (C {<debconf-set-selections>})
                      ]
                      negated: F
                      stderr_indices: []
                    )
                    (C {<G_AGI>} {<proftpd-basic>})
                  ]
                  spids: [20420 20439]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<96>}
                  spids: [20474]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (C {<G_AGI>} {<samba>} {<samba-common-bin>} {<--no-install-recommends>})
                  ]
                  spids: [20478 20497]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<95>}
                  spids: [20522]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (C {<G_AGI>} {<vsftpd>} {<--no-install-recommends>})
                  ]
                  spids: [20526 20545]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<109>}
                  spids: [20569]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (C {<G_AGI>} {<nfs-kernel-server>} {<nfs-common>} {<ucf>} {<rpcbind>})
                  ]
                  spids: [20573 20592]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<83>}
                  spids: [20620]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<apache2>})]
                  spids: [20624 20643]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<85>}
                  spids: [20664]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (C {<G_AGI>} {<nginx>} {<xml-core>} {<--no-install-recommends>})
                  ]
                  spids: [20668 20687]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<84>}
                  spids: [20712]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<lighttpd>})]
                  spids: [20716 20735]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<88>}
                  spids: [20756]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.AndOr
                      ops: [Id.Op_DAmp Id.Op_DAmp]
                      children: [
                        (C {<Id.Lit_LBracket '['>} 
                          {
                            (DQ 
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: (C {<readlink>} {<'/var/lib/mysql'>})
                                right: <Id.Eof_RParen _>
                              )
                            )
                          } {<Id.Lit_RBracket ']'>}
                        )
                        (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-d>} 
                          {
                            (DQ 
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: (C {<readlink>} {<'/var/lib/mysql'>})
                                right: <Id.Eof_RParen _>
                              ) <'/mysql'>
                            )
                          } {<Id.Lit_RBracket ']'>}
                        )
                        (C {<rm>} {<'/var/lib/mysql'>})
                      ]
                    )
                    (C {<G_AGI>} {<mariadb-server>})
                  ]
                  spids: [20760 20779]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<87>}
                  spids: [20847]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<sqlite3>})]
                  spids: [20851 20870]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<91>}
                  spids: [20891]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (C {<G_AGI>} {<redis-server>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 89>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 2>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<G_AGI>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-redis>})
                          ]
                          spids: [20930 20949]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [20895 20914]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<89>}
                  spids: [20974]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 83>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<G_AGI>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME))} 
                              {<libapache2-mod-> (DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME))}
                            )
                          ]
                          spids: [21009 21028]
                        )
                      ]
                      else_action: [
                        (C {<G_AGI>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-fpm>} 
                          {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-cgi>}
                        )
                        (command.AndOr
                          ops: [Id.Op_DAmp]
                          children: [
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Less
                                  left: {($ Id.VSub_DollarName G_DISTRO)}
                                  right: {<Id.Lit_Digits 4>}
                                )
                              redirects: []
                            )
                            (C {<G_AGI>} {<php5-xsl>})
                          ]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_AGI>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-curl>} 
                      {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-gd>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-apcu>} 
                      {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-mcrypt>}
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: {($ Id.VSub_DollarName G_DISTRO)}
                                          right: {<Id.Lit_Digits 4>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<G_AGI>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-mbstring>} 
                              {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-zip>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-xml>}
                            )
                          ]
                          spids: [21121 21135]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 86>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<G_AGI>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-mysql>})
                          ]
                          spids: [21166 21185]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 88>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_Less
                                                  left: {($ Id.VSub_DollarName G_DISTRO)}
                                                  right: {<Id.Lit_Digits 4>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<G_AGI>} 
                                      {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-mysqlnd>}
                                    )
                                  ]
                                  spids: [21225 21239]
                                )
                              ]
                              else_action: [
                                (C {<G_AGI>} 
                                  {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-mysql>}
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [21202 21221]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 87>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<G_AGI>} 
                              {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-sqlite> 
                                <Id.Lit_Star '*'>
                              }
                            )
                          ]
                          spids: [21279 21298]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 91>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<G_AGI>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-redis>})
                          ]
                          spids: [21323 21342]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [20978 20997]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<90>}
                  spids: [21367]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (C {<G_RUN_CMD>} {<systemctl>} {<start>} {<mysql>})
                    (command.Simple
                      words: [{<debconf-set-selections>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_TLess '<<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: {(DQ <'phpmyadmin phpmyadmin/dbconfig-install boolean true'>)}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<debconf-set-selections>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_TLess '<<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            {
                              (DQ <'phpmyadmin phpmyadmin/mysql/app-pass password '> 
                                ($ Id.VSub_DollarName GLOBAL_PW)
                              )
                            }
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<debconf-set-selections>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_TLess '<<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            {
                              (DQ <'phpmyadmin phpmyadmin/app-password-confirm password '> 
                                ($ Id.VSub_DollarName GLOBAL_PW)
                              )
                            }
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 83>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.Simple
                              words: [{<debconf-set-selections>}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_TLess '<<<'>
                                  loc: (redir_loc.Fd fd:0)
                                  arg: 
                                    {
                                      (DQ 
                                        <
'phpmyadmin phpmyadmin/reconfigure-webserver multiselect apache2'
                                        >
                                      )
                                    }
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                          ]
                          spids: [21446 21465]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 84>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.Simple
                              words: [{<debconf-set-selections>}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_TLess '<<<'>
                                  loc: (redir_loc.Fd fd:0)
                                  arg: 
                                    {
                                      (DQ 
                                        <
'phpmyadmin phpmyadmin/reconfigure-webserver multiselect lighttpd'
                                        >
                                      )
                                    }
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                          ]
                          spids: [21479 21498]
                        )
                      ]
                      else_action: [
                        (command.Simple
                          words: [{<debconf-set-selections>}]
                          redirects: [
                            (redir
                              op: <Id.Redir_TLess '<<<'>
                              loc: (redir_loc.Fd fd:0)
                              arg: 
                                {
                                  (DQ 
                                    <'phpmyadmin phpmyadmin/reconfigure-webserver multiselect none'>
                                  )
                                }
                            )
                          ]
                          more_env: []
                          do_fork: T
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_AGI>} {<phpmyadmin>})
                  ]
                  spids: [21371 21390]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<128>}
                  spids: [21544]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_DISTRO)}
                                          right: {<Id.Lit_Digits 3>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                                  right: {<Id.Lit_Digits 3>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                              name: INSTALL_URL_ADDRESS
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (SQ 
                                                <
'http://dietpi.com/downloads/binaries/all/mpd_0.19.21_arm64.deb'
                                                >
                                              )
                                            }
                                          spids: [21619]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                                    (C {<G_AGI>} {<libupnp6>})
                                    (C {<G_AGI>} {<libmpdclient2>} {<libao-common>} {<libao4>} 
                                      {<libasound2>} {<libasound2-data>} {<libasyncns0>} {<libaudiofile1>} {<libavahi-client3>} {<libavahi-common-data>} 
                                      {<libavahi-common3>} {<libavcodec56>} {<libavformat56>} {<libavresample2>} {<libavutil54>} {<libbinio1ldbl>} {<libcaca0>} 
                                      {<libcdio-cdda1>} {<libcdio-paranoia1>} {<libcdio13>} {<libcups2>} {<libcurl3-gnutls>} {<libdirectfb-1.2-9>} {<libdnet>} 
                                      {<libfaad2>} {<libflac8>} {<libfluidsynth1>} {<libgme0>} {<libgomp1>} {<libgsm1>} {<libice6>} {<libid3tag0>} 
                                      {<libiso9660-8>} {<libjack-jackd2-0>} {<libjson-c2>} {<libldb1>} {<libmad0>} {<libmikmod3>} {<libmms0>} {<libmodplug1>} 
                                      {<libmp3lame0>} {<libmpcdec6>} {<libmpg123-0>} {<libnfs4>} {<libntdb1>} {<libogg0>} {<libopenal-data>} {<libopenal1>} 
                                      {<libopenjpeg5>} {<libopus0>} {<liborc-0.4-0>} {<libpulse0>} {<libresid-builder0c2a>} {<libroar2>} {<libsamplerate0>} 
                                      {<libschroedinger-1.0-0>} {<libsdl1.2debian>} {<libshout3>} {<libsidplay2>} {<libsidutils0>} {<libslp1>} {<libsm6>} {<libsmbclient>} 
                                      {<libsndfile1>} {<libsoxr0>} {<libspeex1>} {<libspeexdsp1>} {<libsqlite3-0>} {<libtalloc2>} {<libtdb1>} {<libtevent0>} 
                                      {<libtheora0>} {<libupnp6>} {<libva1>} {<libvorbis0a>} {<libvorbisenc2>} {<libvorbisfile3>} {<libvpx1>} {<libwavpack1>} 
                                      {<libwbclient0>} {<libwildmidi-config>} {<libwildmidi1>} {<libx11-6>} {<libx11-data>} {<libx11-xcb1>} {<libx264-142>} 
                                      {<libxau6>} {<libxcb1>} {<libxdmcp6>} {<libxext6>} {<libxi6>} {<libxtst6>} {<libxvidcore4>} {<libyajl2>} {<libzzip-0-13>} 
                                      {<mime-support>} {<python>} {<python-talloc>} {<python2.7>} {<samba-libs>} {<x11-common>} {<file>} 
                                      {<--no-install-recommends>}
                                    )
                                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} 
                                      {<package.deb>}
                                    )
                                    (C {<dpkg>} {<-i>} {<package.deb>})
                                    (C {<rm>} {<package.deb>})
                                  ]
                                  spids: [21601 21615]
                                )
                              ]
                              else_action: [(C {<G_AGI>} {<mpd>})]
                              redirects: []
                            )
                          ]
                          spids: [21579 21593]
                        )
                      ]
                      else_action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                  name: INSTALL_URL_ADDRESS
                                )
                              op: assign_op.Equal
                              rhs: {(SQ <'http://dietpi.com/downloads/binaries/all/mpd_0.20.11-1_'>)}
                              spids: [21896]
                            )
                          ]
                          redirects: []
                        )
                        (command.If
                          arms: [
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.DParen
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                              right: {<Id.Lit_Digits 1>}
                                            )
                                          redirects: []
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                          name: INSTALL_URL_ADDRESS
                                        )
                                      op: assign_op.PlusEqual
                                      rhs: {(SQ <armv6>)}
                                      spids: [21925]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              spids: [21907 21921]
                            )
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.DParen
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                              right: {<Id.Lit_Digits 2>}
                                            )
                                          redirects: []
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                          name: INSTALL_URL_ADDRESS
                                        )
                                      op: assign_op.PlusEqual
                                      rhs: {(SQ <armv7>)}
                                      spids: [21954]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              spids: [21936 21950]
                            )
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.DParen
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                              right: {<Id.Lit_Digits 3>}
                                            )
                                          redirects: []
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                          name: INSTALL_URL_ADDRESS
                                        )
                                      op: assign_op.PlusEqual
                                      rhs: {(SQ <armv8>)}
                                      spids: [21983]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              spids: [21965 21979]
                            )
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.DParen
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                              right: {<Id.Lit_Digits 10>}
                                            )
                                          redirects: []
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                          name: INSTALL_URL_ADDRESS
                                        )
                                      op: assign_op.PlusEqual
                                      rhs: {(SQ <amd64>)}
                                      spids: [22012]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              spids: [21994 22008]
                            )
                          ]
                          else_action: []
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                  name: INSTALL_URL_ADDRESS
                                )
                              op: assign_op.PlusEqual
                              rhs: {(SQ <.deb>)}
                              spids: [22023]
                            )
                          ]
                          redirects: []
                        )
                        (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                        (C {<G_AGI>} {<libmpdclient2>} {<libflac8>} {<libyajl2>} {<libavahi-client3>} 
                          {<libvorbisfile3>} {<libwavpack1>} {<libmad0>} {<libmpg123-0>} {<libopus0>} {<libavformat57>} {<libfaad2>} 
                          {<libcdio-paranoia1>} {<libiso9660-8>} {<libshout3>} {<libid3tag0>}
                        )
                        (command.Simple
                          words: [{<apt-mark>} {<unhold>} {<mpd>}]
                          redirects: [
                            (redir
                              op: <Id.Redir_AndGreat '&>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {<'/dev/null'>}
                            )
                          ]
                          more_env: []
                          do_fork: T
                        )
                        (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} 
                          {<package.deb>}
                        )
                        (C {<dpkg>} {<-i>} {<package.deb>})
                        (C {<rm>} {<package.deb>})
                        (C {<apt-mark>} {<hold>} {<mpd>})
                      ]
                      redirects: []
                    )
                  ]
                  spids: [21548 21567]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<54>}
                  spids: [22138]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'https://www.phpbb.com/files/release/phpBB-3.2.1.zip'>)}
                          spids: [22169]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>})
                    (C {<unzip>} {<-o>} {<package.zip>} {<-d>} {<'/var/www'>})
                    (C {<rm>} {<package.zip>})
                  ]
                  spids: [22142 22161]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<58>}
                  spids: [22219]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'https://github.com/OpenBazaar/OpenBazaar-Server.git'>)}
                          spids: [22250]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<G_AGI>} {<libsodium-dev>} {<automake>} {<autoconf>} {<pkg-config>} {<libtool>} 
                      {<libssl-dev>} {<libffi-dev>} {<python-dev>} {<openssl>} {<libzmq3-dev>}
                    )
                    (C {<pip>} {<install>} {<cryptography>})
                    (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))})
                    (C {<git>} {<clone>} {<--depth> <Id.Lit_Equals '='> <1>} 
                      {<https> <Id.Lit_Colon ':'> <'//github.com/zeromq/libzmq'>}
                    )
                    (C {<git>} {<clone>} {<--depth> <Id.Lit_Equals '='> <1>} 
                      {<https> <Id.Lit_Colon ':'> <'//github.com/pyca/pynacl/'>}
                    )
                    (C {<git>} {<clone>} {<--depth> <Id.Lit_Equals '='> <1>} 
                      {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}
                    )
                    (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME)) <'/libzmq'>})
                    (command.AndOr
                      ops: [Id.Op_DAmp Id.Op_DAmp]
                      children: [
                        (C {<'./autogen.sh'>})
                        (C {<'./configure'>})
                        (C {<make>} {<-j>} {($ Id.VSub_DollarName G_HW_CPU_CORES)})
                      ]
                    )
                    (command.AndOr
                      ops: [Id.Op_DAmp Id.Op_DAmp]
                      children: [(C {<make>} {<check>}) (C {<make>} {<install>}) (C {<ldconfig>})]
                    )
                    (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME)) <'/pynacl'>})
                    (command.AndOr
                      ops: [Id.Op_DAmp]
                      children: [
                        (C {<python>} {<setup.py>} {<build>})
                        (C {<python>} {<setup.py>} {<install>})
                      ]
                    )
                    (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))})
                    (C {<mkdir>} {<-p>} {<'/etc/openbazaar-server'>})
                    (C {<mv>} 
                      {(DQ ($ Id.VSub_DollarName HOME)) <'/OpenBazaar-Server/'> <Id.Lit_Star '*'>} {<'/etc/openbazaar-server/'>}
                    )
                    (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName HOME)) <'/OpenBazaar-Server'>})
                    (C {<cd>} {<'/etc/openbazaar-server'>})
                    (C {<pip>} {<install>} {<-r>} {<requirements.txt>})
                    (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))})
                    (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName HOME)) <'/libzmq'>})
                    (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName HOME)) <'/pynacl'>})
                  ]
                  spids: [22223 22242]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<133>}
                  spids: [22528]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'http://yacy.net/release/yacy_v1.92_20161226_9000.tar.gz'>)}
                          spids: [22559]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} 
                      {<package.tar.gz>}
                    )
                    (C {<tar>} {<xvf>} {<package.tar.gz>} {<-C>} {<'/etc/'>})
                    (C {<rm>} {<package.tar.gz>})
                  ]
                  spids: [22532 22551]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<47>}
                  spids: [22609]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (C {<G_DIETPI-NOTIFY>} {<2>} 
                      {
                        (SQ 
                          <
'Installing needed PHP modules: https://doc.owncloud.org/server/latest/admin_manual/installation/source_installation.html#php-extensions'
                          >
                        )
                      }
                    )
                    (C {<G_AGI>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-intl>} 
                      {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-redis>}
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {<-f>} {<'/var/www/owncloud/occ'>} 
                                      {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<G_DIETPI-NOTIFY>} {<2>} 
                              {(SQ <'Existing ownCloud installation found, will NOT overwrite...'>)}
                            )
                          ]
                          spids: [22663 22674]
                        )
                      ]
                      else_action: [
                        (C {<local>} 
                          {<Id.Lit_VarLike 'datadir='> 
                            (DQ 
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Pipeline
                                    children: [
                                      (C {<grep>} {<-m1>} 
                                        {(SQ <'^[[:blank:]]*SOFTWARE_OWNCLOUD_DATADIR='>)} {<'/DietPi/dietpi.txt'>}
                                      )
                                      (C {<sed>} {(SQ <'s/^.*=//'>)})
                                    ]
                                    negated: F
                                    stderr_indices: []
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            )
                          }
                        )
                        (command.AndOr
                          ops: [Id.Op_DPipe]
                          children: [
                            (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName datadir))} 
                              {<Id.Lit_RBracket ']'>}
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'datadir='>
                                      name: datadir
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) 
                                        <'/owncloud_data'>
                                      )
                                    }
                                  spids: [22730]
                                )
                              ]
                              redirects: []
                            )
                          ]
                        )
                        (command.If
                          arms: [
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (C {<Id.Lit_LBracket '['>} {<-f>} 
                                          {(DQ ($ Id.VSub_DollarName datadir)) 
                                            <'/dietpi-owncloud-installation-backup/occ'>
                                          } {<Id.Lit_RBracket ']'>}
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (C {<G_DIETPI-NOTIFY>} {<2>} 
                                  {(SQ <'ownCloud installation backup found, starting recovery...'>)}
                                )
                                (C {<G_RUN_CMD>} {<cp>} {<-a>} 
                                  {(DQ ($ Id.VSub_DollarName datadir)) 
                                    <'/dietpi-owncloud-installation-backup/.'>
                                  } {<'/var/www/owncloud'>}
                                )
                              ]
                              spids: [22737 22751]
                            )
                          ]
                          else_action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
'https://download.owncloud.org/community/owncloud-latest.zip'
                                        >
                                      )
                                    }
                                  spids: [22783]
                                )
                              ]
                              redirects: []
                            )
                            (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                            (C {<G_RUN_CMD>} {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} 
                              {<-O>} {<package.zip>}
                            )
                            (C {<G_RUN_CMD>} {<unzip>} {<-o>} {<package.zip>} {<-d>} {<'/var/www'>})
                            (C {<rm>} {<package.zip>})
                          ]
                          redirects: []
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [22613 22632]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<114>}
                  spids: [22844]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (C {<G_DIETPI-NOTIFY>} {<2>} 
                      {
                        (SQ 
                          <
'Installing needed PHP modules: https://docs.nextcloud.com/server/12/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation'
                          >
                        )
                      }
                    )
                    (C {<G_AGI>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-intl>} 
                      {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-redis>}
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {<-f>} {<'/var/www/nextcloud/occ'>} 
                                      {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<G_DIETPI-NOTIFY>} {<2>} 
                              {(SQ <'Existing Nextcloud installation found, will NOT overwrite...'>)}
                            )
                          ]
                          spids: [22898 22909]
                        )
                      ]
                      else_action: [
                        (C {<local>} 
                          {<Id.Lit_VarLike 'datadir='> 
                            (DQ 
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Pipeline
                                    children: [
                                      (C {<grep>} {<-m1>} 
                                        {(SQ <'^[[:blank:]]*SOFTWARE_NEXTCLOUD_DATADIR='>)} {<'/DietPi/dietpi.txt'>}
                                      )
                                      (C {<sed>} {(SQ <'s/^.*=//'>)})
                                    ]
                                    negated: F
                                    stderr_indices: []
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            )
                          }
                        )
                        (command.AndOr
                          ops: [Id.Op_DPipe]
                          children: [
                            (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName datadir))} 
                              {<Id.Lit_RBracket ']'>}
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'datadir='>
                                      name: datadir
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) 
                                        <'/nextcloudcloud_data'>
                                      )
                                    }
                                  spids: [22965]
                                )
                              ]
                              redirects: []
                            )
                          ]
                        )
                        (command.If
                          arms: [
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (C {<Id.Lit_LBracket '['>} {<-f>} 
                                          {(DQ ($ Id.VSub_DollarName datadir)) 
                                            <'/dietpi-nextcloud-installation-backup/occ'>
                                          } {<Id.Lit_RBracket ']'>}
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (C {<G_DIETPI-NOTIFY>} {<2>} 
                                  {(SQ <'Nextcloud installation backup found, starting recovery...'>)}
                                )
                                (C {<G_RUN_CMD>} {<cp>} {<-a>} 
                                  {(DQ ($ Id.VSub_DollarName datadir)) 
                                    <'/dietpi-nextcloud-installation-backup/.'>
                                  } {<'/var/www/nextcloud'>}
                                )
                              ]
                              spids: [22972 22986]
                            )
                          ]
                          else_action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
'https://download.nextcloud.com/server/releases/latest.zip'
                                        >
                                      )
                                    }
                                  spids: [23018]
                                )
                              ]
                              redirects: []
                            )
                            (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                            (C {<G_RUN_CMD>} {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} 
                              {<-O>} {<package.zip>}
                            )
                            (C {<G_RUN_CMD>} {<unzip>} {<-o>} {<package.zip>} {<-d>} {<'/var/www'>})
                            (C {<rm>} {<package.zip>})
                          ]
                          redirects: []
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [22848 22867]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<32>}
                  spids: [23079]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'http://dietpi.com/downloads/binaries/all/ympd_1.2.3.7z'>)}
                          spids: [23110]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.7z>})
                    (C {<7z>} {<x>} {<-y>} {<package.7z>})
                    (C {<local>} {<Id.Lit_VarLike 'binary_name='> (SQ <ympd_>)})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'binary_name+='>
                                      name: binary_name
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: {(SQ <armv6>)}
                                  spids: [23175]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [23157 23171]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 2>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'binary_name+='>
                                      name: binary_name
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: {(SQ <armv7>)}
                                  spids: [23204]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [23186 23200]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 3>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'binary_name+='>
                                      name: binary_name
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: {(SQ <armv8>)}
                                  spids: [23233]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [23215 23229]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'binary_name+='>
                                      name: binary_name
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: {(SQ <amd64>)}
                                  spids: [23262]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [23244 23258]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'binary_name+='>
                              name: binary_name
                            )
                          op: assign_op.PlusEqual
                          rhs: {(DQ <_> ($ Id.VSub_DollarName G_DISTRO_NAME))}
                          spids: [23273]
                        )
                      ]
                      redirects: []
                    )
                    (C {<mv>} {(DQ ($ Id.VSub_DollarName binary_name))} {<'/usr/bin/ympd'>})
                    (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/usr/bin/ympd'>})
                    (C {<rm>} {<ympd_> <Id.Lit_Star '*'>})
                    (C {<rm>} {<package.7z>})
                  ]
                  spids: [23083 23102]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<121>}
                  spids: [23319]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
'http://download.roonlabs.com/builds/RoonBridge_linuxx64.tar.bz2'
                                        >
                                      )
                                    }
                                  spids: [23372]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [23354 23368]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 3>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
'http://download.roonlabs.com/builds/RoonBridge_linuxarmv8.tar.bz2'
                                        >
                                      )
                                    }
                                  spids: [23401]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [23383 23397]
                        )
                      ]
                      else_action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                  name: INSTALL_URL_ADDRESS
                                )
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (SQ 
                                    <
'http://download.roonlabs.com/builds/RoonBridge_linuxarmv7hf.tar.bz2'
                                    >
                                  )
                                }
                              spids: [23416]
                            )
                          ]
                          redirects: []
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} 
                      {<package.tar.bz2>}
                    )
                    (C {<tar>} {<xvf>} {<package.tar.bz2>})
                    (C {<rm>} {<package.tar.bz2>})
                    (command.Simple
                      words: [{<rm>} {<-R>} {<'/etc/roonbridge'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<mkdir>} {<-p>} {<'/etc/roonbridge'>})
                    (C {<mv>} {<'RoonBridge/'> <Id.Lit_Star '*'>} {<'/etc/roonbridge'>})
                    (C {<rm>} {<-R>} {<RoonBridge>})
                  ]
                  spids: [23323 23342]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<119>}
                  spids: [23506]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
'http://dietpi.com/downloads/binaries/all/cava_0.4.2_armv6.deb'
                                        >
                                      )
                                    }
                                  spids: [23559]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [23541 23555]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 2>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
'http://dietpi.com/downloads/binaries/all/cava_0.4.2_armv7.deb'
                                        >
                                      )
                                    }
                                  spids: [23588]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [23570 23584]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 3>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
'http://dietpi.com/downloads/binaries/all/cava_0.4.2_arm64.deb'
                                        >
                                      )
                                    }
                                  spids: [23617]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [23599 23613]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<G_AGI>} {<libpulse0>} {<libfftw3-3>})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.deb>})
                    (C {<dpkg>} {<-i>} {<package.deb>})
                    (C {<rm>} {<package.deb>})
                    (C {<wget>} 
                      {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/binaries/all/cava.psf'>} {<-O>} {(DQ ($ Id.VSub_DollarName HOME)) <'/cava.psf'>}
                    )
                  ]
                  spids: [23510 23529]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<118>}
                  spids: [23695]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'https://apt.mopidy.com/mopidy.gpg'>)}
                          spids: [23726]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (command.Pipeline
                      children: [
                        (C {<wget>} {<-q>} {<-O>} {<->} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                        (C {<apt-key>} {<add>} {<->})
                      ]
                      negated: F
                      stderr_indices: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Great
                                          left: {($ Id.VSub_DollarName G_DISTRO)}
                                          right: {<Id.Lit_Digits 4>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<wget>} {<https> <Id.Lit_Colon ':'> <'//apt.mopidy.com/stretch.list'>} 
                              {<-O>} {<'/etc/apt/sources.list.d/mopidy.list'>}
                            )
                          ]
                          spids: [23765 23779]
                        )
                      ]
                      else_action: [
                        (C {<wget>} 
                          {<https> <Id.Lit_Colon ':'> <'//apt.mopidy.com/'> 
                            (DQ ($ Id.VSub_DollarName G_DISTRO_NAME)) <.list>
                          } {<-O>} {<'/etc/apt/sources.list.d/mopidy.list'>}
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_AGUP>})
                    (C {<G_AGI>} {<mopidy>})
                    (C {<pip>} {<install>} {<Mopidy-MusicBox-Webclient>} {<Mopidy-Local-Images>})
                  ]
                  spids: [23699 23718]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<31>}
                  spids: [23876]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.AndOr
                                      ops: [Id.Op_DAmp]
                                      children: [
                                        (command.DParen
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_GreatEqual
                                              left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                              right: {<Id.Lit_Digits 10>}
                                            )
                                          redirects: []
                                        )
                                        (command.DParen
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_Less
                                              left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                              right: {<Id.Lit_Digits 20>}
                                            )
                                          redirects: []
                                        )
                                      ]
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<G_AGI>} {<kodi-odroid>})
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                  right: {<Id.Lit_Digits 11>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [(C {<G_AGI>} {<pulseaudio>} {<--no-install-recommends>})]
                                  spids: [23952 23966]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                          spids: [23911 23938]
                        )
                      ]
                      else_action: [(C {<G_AGI>} {<kodi>})]
                      redirects: []
                    )
                    (C {<G_AGI>} {<libcurl3-gnutls>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: {($ Id.VSub_DollarName G_DISTRO)}
                                          right: {<Id.Lit_Digits 4>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<G_AGI>} {<libnfs8>} {<libcec4>})]
                          spids: [24014 24028]
                        )
                      ]
                      else_action: [(C {<G_AGI>} {<libnfs4>} {<libcec3v4>})]
                      redirects: []
                    )
                  ]
                  spids: [23880 23899]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<39>}
                  spids: [24064]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<minidlna>})]
                  spids: [24068 24087]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<67>}
                  spids: [24108]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DPipe
                                          left: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                              right: {<Id.Lit_Digits 20>}
                                            )
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                              right: {<Id.Lit_Digits 21>}
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ 
                                        <
'http://dietpi.com/downloads/binaries/all/noip_x32_x64.zip'
                                        >
                                      )
                                    }
                                  spids: [24169]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [24143 24165]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DPipe
                                          left: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                              right: {<Id.Lit_Digits 12>}
                                            )
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DAmp
                                              left: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_GreatEqual
                                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                  right: {<Id.Lit_Digits 40>}
                                                )
                                              right: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_Less
                                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                  right: {<Id.Lit_Digits 50>}
                                                )
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {(DQ <'http://dietpi.com/downloads/binaries/all/noip_arm64.zip'>)}
                                  spids: [24221]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [24180 24217]
                        )
                      ]
                      else_action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                  name: INSTALL_URL_ADDRESS
                                )
                              op: assign_op.Equal
                              rhs: {(DQ <'http://dietpi.com/downloads/binaries/all/noip_armhf.zip'>)}
                              spids: [24236]
                            )
                          ]
                          redirects: []
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} 
                      {<dietpi-noip.zip>}
                    )
                    (C {<unzip>} {<-o>} {<dietpi-noip.zip>})
                    (C {<rm>} {<dietpi-noip.zip>})
                    (C {<mv>} {<noip_binary>} {<'/usr/local/bin/noip2'>})
                    (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/usr/local/bin/noip2'>})
                  ]
                  spids: [24112 24131]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<108>}
                  spids: [24305]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: 
                            {(SQ <'http://dietpi.com/downloads/binaries/all/amiberry-rpi_v2.1.1.7z'>)}
                          spids: [24336]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<G_AGI>} {<alsa-oss>} {<joystick>} {<libsdl-image1.2>} {<libsdl-ttf2.0-0>} 
                      {<libsdl-gfx1.2-5>} {<libguichan-0.8.1-1> <Id.Lit_Star '*'>} {<libguichan-allegro-0.8.1-1> <Id.Lit_Star '*'>} 
                      {<libguichan-sdl-0.8.1-1> <Id.Lit_Star '*'>} {<libguichan-opengl-0.8.1-1> <Id.Lit_Star '*'>} {<libjpgalleg4.4>} {<libxml2>} {<libmpg123-0>}
                    )
                    (C {<G_AGI>} {<libpng12-0>} {<libflac8>} {<libmpg123-0>} {<libgoogle-perftools4>} 
                      {<libfreetype6>} {<libxxf86vm1>}
                    )
                    (command.Simple
                      words: [
                        {<mv>}
                        {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) 
                          <'/amiberry/conf/autostart.uae'>
                        }
                        {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) 
                          <'/amiberry/conf/autostart_pre-dietpi-update.uae'>
                        }
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.7z>})
                    (C {<7z>} {<x>} {<-y>} {<package.7z>} {<'-o/etc'>})
                    (C {<rm>} {<package.7z>})
                  ]
                  spids: [24309 24328]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<112>}
                  spids: [24469]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'http://dietpi.com/downloads/binaries/rpi/dxx-rebirth.7z'>)}
                          spids: [24500]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<G_AGI>} {<libsdl-mixer1.2>} {<libsdl1.2debian>} {<libphysfs1>})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.7z>})
                    (C {<7z>} {<x>} {<-y>} {<package.7z>} 
                      {<-o> (DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA))}
                    )
                    (C {<rm>} {<package.7z>})
                  ]
                  spids: [24473 24492]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<111>}
                  spids: [24563]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
'http://hndl.urbackup.org/Server/2.1.20/urbackup-server_2.1.20_amd64.deb'
                                        >
                                      )
                                    }
                                  spids: [24612]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [24594 24608]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DPipe
                                          left: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                              right: {<Id.Lit_Digits 1>}
                                            )
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                              right: {<Id.Lit_Digits 2>}
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
'http://hndl.urbackup.org/Server/2.1.20/urbackup-server_2.1.20_armhf.deb'
                                        >
                                      )
                                    }
                                  spids: [24645]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [24619 24641]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 3>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
'http://hndl.urbackup.org/Server/2.1.20/urbackup-server-2.1.20.tar.gz'
                                        >
                                      )
                                    }
                                  spids: [24674]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [24656 24670]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 3>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<G_AGI>} {<build-essential>} {<zlib1g-dev>} {<libcurl4-openssl-dev>} 
                              {<libcrypto> <Id.Lit_Other '+'> <Id.Lit_Other '+'> <-dev>} {<sqlite3>}
                            )
                            (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} 
                              {<package.tar>}
                            )
                            (C {<tar>} {<xzvf>} {<package.tar>})
                            (C {<rm>} {<package.tar>})
                            (C {<cd>} {<urbackup-server-> <Id.Lit_Star '*'>})
                            (C {<'./configure'>})
                            (C {<make>} {<-j>} {($ Id.VSub_DollarName G_HW_CPU_CORES)})
                            (C {<make>} {<install>})
                            (C {<sed>} {<-i>} 
                              {
                                (DQ 
                                  <
'/ExecStart=/c ExecStart=/usr/local/bin/urbackupsrv run --config /etc/default/urbackupsrv --no-consoletime'
                                  >
                                )
                              } {<urbackup-server.service>}
                            )
                            (C {<cp>} {<urbackup-server.service>} 
                              {<'/etc/systemd/system/urbackupsrv.service'>}
                            )
                            (C {<cp>} {<defaults_server>} {<'/etc/default/urbackupsrv'>})
                            (C {<cp>} {<logrotate_urbackupsrv>} {<'/etc/logrotate.d/urbackupsrv'>})
                            (C {<cd>} {<..>})
                            (C {<rm>} {<-R>} {<urbackup-server-> <Id.Lit_Star '*'>})
                          ]
                          spids: [24697 24711]
                        )
                      ]
                      else_action: [
                        (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} 
                          {<package.deb>}
                        )
                        (command.Pipeline
                          children: [
                            (C {<echo>} {<-e>} 
                              {
                                (DQ <'urbackup-server urbackup/backuppath string '> 
                                  ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/urbackup'>
                                )
                              }
                            )
                            (C {<debconf-set-selections>})
                          ]
                          negated: F
                          stderr_indices: []
                        )
                        (C {<dpkg>} {<-i>} {<package.deb>})
                        (C {<apt-get>} {<-f>} {<install>} {<-y>})
                        (C {<rm>} {<package.deb>})
                      ]
                      redirects: []
                    )
                  ]
                  spids: [24567 24586]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<51>}
                  spids: [24898]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <'http://dietpi.com/downloads/binaries/rpi/opentyrian_armhf.zip'>)}
                          spids: [24929]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<G_AGI>} {<ibsdl1.2debian>} {<libsdl-net1.2>} {<--no-install-recommends>})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>})
                    (C {<unzip>} {<-o>} {<package.zip>} {<-d>} {<'/'>})
                    (C {<rm>} {<package.zip>})
                    (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/usr/local/games/opentyrian/opentyrian'>})
                  ]
                  spids: [24902 24921]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<59>}
                  spids: [25001]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                <
'https://github.com/Fourdee/RPi_Cam_Web_Interface/archive/6.2.29.zip'
                                >
                              )
                            }
                          spids: [25032]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<G_AGI>} {<gpac>} {<motion>})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>})
                    (C {<unzip>} {<-o>} {<package.zip>})
                    (C {<rm>} {<package.zip>})
                    (C {<cd>} {<RPi_Cam> <Id.Lit_Star '*'>})
                    (C {<mkdir>} {<-p>} {<'/etc/motion'>})
                    (C {<cp>} {<'etc/motion/motion.conf.1'>} {<'/etc/motion/motion.conf'>})
                    (C {<cp>} {<'etc/raspimjpeg/raspimjpeg.1'>} {<'/etc/raspimjpeg'>})
                    (C {<mkdir>} {<-p>} {<'/var/www/dietpicam/media'>})
                    (C {<cp>} {<-R>} {<'www/'> <Id.Lit_Star '*'>} {<'/var/www/dietpicam/'>})
                    (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/var/www/dietpicam/raspizip.sh'>})
                    (C {<mknod>} {<'/var/www/dietpicam/FIFO'>} {<p>})
                    (C {<mknod>} {<'/var/www/dietpicam/FIFO1'>} {<p>})
                    (C {<ln>} {<-sf>} {<'/run/shm/mjpeg/cam.jpg'>} {<'/var/www/dietpicam/cam.jpg'>})
                    (C {<ln>} {<-sf>} {<'/run/shm/mjpeg/status_mjpeg.txt'>} 
                      {<'/var/www/dietpicam/status_mjpeg.txt'>}
                    )
                    (C {<cp>} {<'bin/raspimjpeg'>} {<'/opt/vc/bin/raspimjpeg'>})
                    (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/opt/vc/bin/raspimjpeg'>})
                    (C {<ln>} {<-s>} {<'/opt/vc/bin/raspimjpeg'>} {<'/usr/bin/raspimjpeg'>})
                    (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))})
                    (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName HOME)) <'/RPi_Cam'> <Id.Lit_Star '*'>})
                  ]
                  spids: [25005 25024]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<45>}
                  spids: [25251]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (C {<G_AGI>} {<deluged>} {<deluge-web>} {<deluge-webui>} {<deluge-console>})
                  ]
                  spids: [25255 25274]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<100>}
                  spids: [25301]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (C {<G_AGI>} {<python>})
                    (C {<local>} {<Id.Lit_VarLike 'grasshopper_directory='> (SQ <'/var/www'>)})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                <
'http://sourceforge.net/projects/grasshopperwebapp/files/grasshopper_v5_application.zip/download'
                                >
                              )
                            }
                          spids: [25350]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} 
                      {<grasshopper.zip>}
                    )
                    (C {<unzip>} {<-o>} {<grasshopper.zip>} {<-d>} 
                      {(DQ ($ Id.VSub_DollarName grasshopper_directory))}
                    )
                    (C {<rm>} {<grasshopper.zip>})
                    (C {<chmod>} {<Id.Lit_Other '+'> <x>} 
                      {(DQ ($ Id.VSub_DollarName grasshopper_directory)) <'/install/install.sh'>}
                    )
                    (C {(DQ ($ Id.VSub_DollarName grasshopper_directory)) <'/install/install.sh'>})
                  ]
                  spids: [25305 25324]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<106>}
                  spids: [25424]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'https://github.com/harmon25/raspcontrol/archive/master.zip'>)}
                          spids: [25455]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>})
                    (C {<unzip>} {<-o>} {<package.zip>})
                    (C {<rm>} {<package.zip>})
                    (C {<mkdir>} {<-p>} {<'/var/www/raspcontrol'>})
                    (C {<mv>} {<'raspcontrol-master/'> <Id.Lit_Star '*'>} {<'/var/www/raspcontrol'>})
                    (C {<rm>} {<-R>} {<raspcontrol-master>})
                  ]
                  spids: [25428 25447]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<115>}
                  spids: [25524]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'http://www.webmin.com/download/deb/webmin-current.deb'>)}
                          spids: [25555]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.deb>})
                    (C {<dpkg>} {<-i>} {<package.deb>})
                    (C {<G_AGF>})
                    (C {<rm>} {<package.deb>})
                  ]
                  spids: [25528 25547]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<126>}
                  spids: [25606]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'http://packages.openmediavault.org/public'>)}
                          spids: [25637]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (command.Simple
                      words: [
                        {<echo>}
                        {<-e>}
                        {(DQ <'deb '> ($ Id.VSub_DollarName INSTALL_URL_ADDRESS) <' erasmus main'>)}
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/apt/sources.list.d/openmediavault.list'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<G_AGUP>})
                    (C {<G_AGI>} {<openmediavault-keyring>})
                    (command.Simple
                      words: [{<debconf-set-selections>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_TLess '<<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: {(DQ <'openmediavault openmediavault/run-initsystem note'>)}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<debconf-set-selections>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_TLess '<<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: {(DQ <'postfix postfix/main_mailer_type select No configuration'>)}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<G_AGUP>})
                    (C {<G_AGI>} {<openmediavault>} {<postfix>})
                  ]
                  spids: [25610 25629]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<129>}
                  spids: [25714]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'https://github.com/ArturSierzant/OMPD/archive/master.zip'>)}
                          spids: [25745]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>})
                    (C {<unzip>} {<-o>} {<package.zip>} {<-d>} {<'/var/www/'>})
                    (command.Simple
                      words: [{<rm>} {<-R>} {<'/var/www/ompd'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<mv>} {<'/var/www/OMPD'> <Id.Lit_Star '*'>} {<'/var/www/ompd'>})
                    (C {<rm>} {<package.zip>})
                  ]
                  spids: [25718 25737]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<135>}
                  spids: [25818]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<darkice>} {<icecast2>})]
                  spids: [25822 25841]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<63>}
                  spids: [25865]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'https://github.com/afaqurk/linux-dash/archive/master.zip'>)}
                          spids: [25896]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>})
                    (C {<unzip>} {<-o>} {<package.zip>})
                    (C {<rm>} {<package.zip>})
                    (C {<mkdir>} {<-p>} {<'/var/www/linuxdash'>})
                    (C {<mv>} {<'linux-dash-master/'> <Id.Lit_Star '*'>} {<'/var/www/linuxdash'>})
                    (C {<rm>} {<-R>} {<linux-dash-master>})
                  ]
                  spids: [25869 25888]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<93>}
                  spids: [25965]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'http://install.pi-hole.net'>)}
                          spids: [25996]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<G_AGI>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-cgi>} 
                      {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-sqlite> <Id.Lit_Star '*'>}
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Less
                                          left: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_DollarParen '$('>
                                                child: 
                                                  (command.Pipeline
                                                    children: [
                                                      (C {<free>} {<-m>})
                                                      (C {<grep>} {<-m1>} {(SQ <'Mem:'>)})
                                                      (C {<awk>} {(SQ <'{print $4}'>)})
                                                    ]
                                                    negated: F
                                                    stderr_indices: []
                                                  )
                                                right: <Id.Eof_RParen _>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 512>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.AndOr
                                              ops: [Id.Op_DAmp]
                                              children: [
                                                (C {<Id.Lit_LBracket '['>} {<-f>} 
                                                  {<'/etc/dphys-swapfile'>} {<Id.Lit_RBracket ']'>}
                                                )
                                                (command.DParen
                                                  child: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_Less
                                                      left: 
                                                        {
                                                          (command_sub
                                                            left_token: <Id.Left_DollarParen '$('>
                                                            child: 
                                                              (command.Pipeline
                                                                children: [
                                                                  (C {<grep>} {(SQ <'CONF_SWAPSIZE='>)} 
                                                                    {<'/etc/dphys-swapfile'>}
                                                                  )
                                                                  (C {<sed>} {(SQ <'s/.*=//'>)})
                                                                ]
                                                                negated: F
                                                                stderr_indices: []
                                                              )
                                                            right: <Id.Eof_RParen _>
                                                          )
                                                        }
                                                      right: {<Id.Lit_Digits 512>}
                                                    )
                                                  redirects: []
                                                )
                                              ]
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<G_DIETPI-NOTIFY>} {<2>} 
                                      {
                                        (DQ 
                                          <
'Increasing swapfile size to 512MB before running gravity.sh, please wait...'
                                          > <Id.Lit_BadBackslash '\\'> <n>
                                        )
                                      }
                                    )
                                    (C {<'/DietPi/dietpi/func/dietpi-set_dphys-swapfile'>} {<512>})
                                  ]
                                  spids: [26073 26114]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                          spids: [26033 26069]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.Simple
                      words: [
                        {<mv>}
                        {<'/etc/lighttpd/lighttpd.conf'>}
                        {<'/etc/lighttpd/lighttpd.conf.bak'>}
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<install.sh>})
                    (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<install.sh>})
                    (C {<'./install.sh'>})
                    (C {<local>} {<Id.Lit_VarLike 'exit_code='> ($ Id.VSub_QMark '?')})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_NEqual
                                          left: {($ Id.VSub_DollarName exit_code)}
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<G_DIETPI-NOTIFY>} {<1>} 
                              {
                                (DQ <'Pi-Hole exited with code ('> ($ Id.VSub_DollarName exit_code) 
                                  <') and is not installed.'>
                                )
                              }
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                      name: aSOFTWARE_INSTALL_STATE
                                      index: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<0>}
                                  spids: [26220]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [26191 26205]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.Simple
                      words: [
                        {<mv>}
                        {<'/etc/lighttpd/lighttpd.conf.bak'>}
                        {<'/etc/lighttpd/lighttpd.conf'>}
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [25969 25988]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<33>}
                  spids: [26253]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                <
'https://sourceforge.net/projects/subsonic/files/subsonic/5.3/subsonic-5.3.deb/download'
                                >
                              )
                            }
                          spids: [26284]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.deb>})
                    (C {<dpkg>} {<-i>} {<package.deb>})
                    (C {<rm>} {<package.deb>})
                  ]
                  spids: [26257 26276]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<34>}
                  spids: [26339]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                <
'https://sourceforge.net/projects/subsonic/files/subsonic/6.1.3/subsonic-6.1.3.deb/download'
                                >
                              )
                            }
                          spids: [26370]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.deb>})
                    (C {<dpkg>} {<-i>} {<package.deb>})
                    (C {<rm>} {<package.deb>})
                  ]
                  spids: [26343 26362]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<68>}
                  spids: [26425]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                <
'https://github.com/weaved/installer/raw/master/Raspbian%20deb/1.3-07/weavedconnectd_1.3-07v_armhf.deb'
                                >
                              )
                            }
                          spids: [26456]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.deb>})
                    (C {<dpkg>} {<-i>} {<package.deb>})
                    (C {<rm>} {<package.deb>})
                  ]
                  spids: [26429 26448]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 71>})
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 69>}
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [26529]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [26506 26525]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<69>}
                  spids: [26546]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {<-f>} {<'/etc/.dietpi_image_version'>} 
                                      {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<G_AGI>} {<python-rpi.gpio>} {<python3-rpi.gpio>})]
                          spids: [26581 26592]
                        )
                      ]
                      else_action: [(C {<G_AGI>} {<python3-pip>}) (C {<pip3>} {<install>} {<RPi.GPIO>})]
                      redirects: []
                    )
                  ]
                  spids: [26550 26569]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<70>}
                  spids: [26637]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Less
                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
'http://git.drogon.net/?p=wiringPi;a=snapshot;h=HEAD;sf=tgz'
                                        >
                                      )
                                    }
                                  spids: [26694]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [26672 26686]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DAmp
                                          left: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_GreatEqual
                                              left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                              right: {<Id.Lit_Digits 10>}
                                            )
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_Less
                                              left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                              right: {<Id.Lit_Digits 20>}
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
'https://github.com/hardkernel/wiringPi/archive/master.zip'
                                        >
                                      )
                                    }
                                  spids: [26731]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [26705 26727]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                          right: {<Id.Lit_Digits 51>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
'https://github.com/LeMaker/WiringBP/archive/bananapro.zip'
                                        >
                                      )
                                    }
                                  spids: [26760]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [26742 26756]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Less
                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} 
                              {<package.tar>}
                            )
                            (C {<tar>} {<xfz>} {<package.tar>})
                            (C {<rm>} {<package.tar>})
                          ]
                          spids: [26783 26797]
                        )
                      ]
                      else_action: [
                        (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} 
                          {<package.zip>}
                        )
                        (C {<unzip>} {<package.zip>})
                        (C {<rm>} {<package.zip>})
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                          right: {<Id.Lit_Digits 51>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<mv>} {<WiringBP> <Id.Lit_Star '*'>} {<wiringPi>})]
                          spids: [26859 26873]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<cd>} {<wiringPi> <Id.Lit_Star '*'>})
                    (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<build>})
                    (C {<'./build'>})
                    (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))})
                  ]
                  spids: [26641 26660]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<72>}
                  spids: [26928]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<i2c>} {<enable>})
                  ]
                  spids: [26932 26951]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<122>}
                  spids: [26975]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (C {<G_AGI>} {<python>} {<python3>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Less
                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<G_AGI>} {<python-rpi.gpio>})]
                          spids: [27018 27032]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<npm>} {<install>} {<-g>} {<node-red>} {<--unsafe-perm>})
                  ]
                  spids: [26979 26998]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<123>}
                  spids: [27070]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Great
                                          left: {($ Id.VSub_DollarName G_DISTRO)}
                                          right: {<Id.Lit_Digits 4>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<G_AGI>} {<mosquitto>})]
                          spids: [27101 27115]
                        )
                      ]
                      else_action: [
                        (command.If
                          arms: [
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.DParen
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                              right: {<Id.Lit_Digits 3>}
                                            )
                                          redirects: []
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [(C {<dpkg>} {<--add-architecture>} {<armhf>}) (C {<G_AGUP>})]
                              spids: [27137 27151]
                            )
                          ]
                          else_action: []
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                  name: INSTALL_URL_ADDRESS
                                )
                              op: assign_op.Equal
                              rhs: {(SQ <'http://dietpi.com/downloads/binaries/all/'>)}
                              spids: [27178]
                            )
                          ]
                          redirects: []
                        )
                        (command.If
                          arms: [
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.DParen
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DAmp
                                              left: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_GreatEqual
                                                  left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                                  right: {<Id.Lit_Digits 1>}
                                                )
                                              right: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_LessEqual
                                                  left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                                  right: {<Id.Lit_Digits 3>}
                                                )
                                            )
                                          redirects: []
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                          name: INSTALL_URL_ADDRESS
                                        )
                                      op: assign_op.PlusEqual
                                      rhs: {(SQ <'libssl1.0.0_1.0.1t-1+deb8u7_armhf.deb'>)}
                                      spids: [27215]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              spids: [27189 27211]
                            )
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.DParen
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                              right: {<Id.Lit_Digits 10>}
                                            )
                                          redirects: []
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                          name: INSTALL_URL_ADDRESS
                                        )
                                      op: assign_op.PlusEqual
                                      rhs: {(SQ <'libssl1.0.0_1.0.1t-1+deb8u7_amd64.deb'>)}
                                      spids: [27244]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              spids: [27226 27240]
                            )
                          ]
                          else_action: []
                          redirects: []
                        )
                        (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                        (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} 
                          {<package.deb>}
                        )
                        (C {<dpkg>} {<-i>} {<package.deb>})
                        (C {<rm>} {<package.deb>})
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                  name: INSTALL_URL_ADDRESS
                                )
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (SQ 
                                    <
'http://dietpi.com/downloads/binaries/all/mosquitto_1.4.14-0mosquitto1_nows1_armhf.deb'
                                    >
                                  )
                                }
                              spids: [27286]
                            )
                          ]
                          redirects: []
                        )
                        (command.If
                          arms: [
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.DParen
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                              right: {<Id.Lit_Digits 10>}
                                            )
                                          redirects: []
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                          name: INSTALL_URL_ADDRESS
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ 
                                            <
'http://dietpi.com/downloads/binaries/all/mosquitto_1.4.14-0mosquitto1_nows1_amd64.deb'
                                            >
                                          )
                                        }
                                      spids: [27310]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              spids: [27292 27306]
                            )
                          ]
                          else_action: []
                          redirects: []
                        )
                        (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                        (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} 
                          {<package.deb>}
                        )
                        (C {<dpkg>} {<-i>} {<package.deb>})
                        (C {<G_AGF>})
                        (C {<rm>} {<package.deb>})
                      ]
                      redirects: []
                    )
                  ]
                  spids: [27074 27093]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<131>}
                  spids: [27376]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'https://github.com/blynkkk/blynk-server/releases'>)}
                          spids: [27411]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<mkdir>} {<-p>} {<'/etc/blynkserver'>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                <
'https://github.com/blynkkk/blynk-server/releases/download/v0.29.7/server-0.29.7-java8.jar'
                                >
                              )
                            }
                          spids: [27433]
                        )
                      ]
                      redirects: []
                    )
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} 
                      {<'/etc/blynkserver/server.jar'>}
                    )
                    (C {<G_AGI>} {<python>})
                    (C {<npm>} {<install>} {<-g>} {<onoff>})
                    (C {<npm>} {<install>} {<-g>} {<blynk-library>})
                  ]
                  spids: [27380 27399]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<124>}
                  spids: [27487]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Unary
                                          op_id: Id.Arith_Bang
                                          child: {($ Id.VSub_DollarName G_USER_INPUTS)}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.Simple
                              words: [{<debconf-set-selections>}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_TLess '<<<'>
                                  loc: (redir_loc.Fd fd:0)
                                  arg: {(DQ <'networkaudiod networkaudiod/license note false'>)}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                          ]
                          spids: [27522 27534]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'apackages='> 
                        (sh_array_literal left:<Id.Op_LParen _> words:[])
                      }
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_DISTRO)}
                                          right: {<Id.Lit_Digits 3>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'apackages+='>
                                      name: apackages
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [
                                          {
                                            (SQ 
                                              <
'http://dietpi.com/downloads/binaries/all/gcc-6-base_6.3.0-6_armhf.deb'
                                              >
                                            )
                                          }
                                        ]
                                      )
                                    }
                                  spids: [27586]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'apackages+='>
                                      name: apackages
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [
                                          {
                                            (SQ 
                                              <
'http://dietpi.com/downloads/binaries/all/libstdc++6_6.3.0-6_armhf.deb'
                                              >
                                            )
                                          }
                                        ]
                                      )
                                    }
                                  spids: [27594]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [27568 27582]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'apackages+='> name:apackages)
                          op: assign_op.PlusEqual
                          rhs: 
                            {
                              (sh_array_literal
                                left: <Id.Op_LParen _>
                                words: [
                                  {
                                    (SQ 
                                      <
'https://www.signalyst.eu/bins/naa/linux/stretch/networkaudiod_3.5.2-36_armhf.deb'
                                      >
                                    )
                                  }
                                ]
                              )
                            }
                          spids: [27607]
                        )
                      ]
                      redirects: []
                    )
                    (command.ForExpr
                      init: 
                        (arith_expr.BinaryAssign
                          op_id: Id.Arith_Equal
                          left: ($ Id.Lit_ArithVarLike i)
                          right: {<Id.Lit_Digits 0>}
                        )
                      cond: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Less
                          left: ($ Id.Lit_ArithVarLike i)
                          right: 
                            {
                              (braced_var_sub
                                left: <Id.Left_DollarBrace '${'>
                                token: <Id.VSub_Name apackages>
                                var_name: apackages
                                prefix_op: <Id.VSub_Pound '#'>
                                bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                                right: <Id.Right_DollarBrace '}'>
                              )
                            }
                        )
                      update: 
                        (arith_expr.UnaryAssign
                          op_id: Id.Node_PostDPlus
                          child: ($ Id.Lit_ArithVarLike i)
                        )
                      body: 
                        (command.DoGroup
                          children: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ 
                                        (braced_var_sub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name apackages>
                                          var_name: apackages
                                          bracket_op: 
                                            (bracket_op.ArrayIndex
                                              expr: {($ Id.VSub_DollarName i)}
                                            )
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                  spids: [27649]
                                )
                              ]
                              redirects: []
                            )
                            (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                          ]
                        )
                      redirects: []
                    )
                    (C {<G_AGI>} {<libasound2>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: {($ Id.VSub_DollarName G_DISTRO)}
                                          right: {<Id.Lit_Digits 4>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<G_AGI>} {<gcc-6-base>} 
                              {<libstdc> <Id.Lit_Other '+'> <Id.Lit_Other '+'> <6>}
                            )
                          ]
                          spids: [27686 27700]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.ForExpr
                      init: 
                        (arith_expr.BinaryAssign
                          op_id: Id.Arith_Equal
                          left: ($ Id.Lit_ArithVarLike i)
                          right: {<Id.Lit_Digits 0>}
                        )
                      cond: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Less
                          left: ($ Id.Lit_ArithVarLike i)
                          right: 
                            {
                              (braced_var_sub
                                left: <Id.Left_DollarBrace '${'>
                                token: <Id.VSub_Name apackages>
                                var_name: apackages
                                prefix_op: <Id.VSub_Pound '#'>
                                bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                                right: <Id.Right_DollarBrace '}'>
                              )
                            }
                        )
                      update: 
                        (arith_expr.UnaryAssign
                          op_id: Id.Node_PostDPlus
                          child: ($ Id.Lit_ArithVarLike i)
                        )
                      body: 
                        (command.DoGroup
                          children: [
                            (C {<wget>} 
                              {
                                (DQ 
                                  (braced_var_sub
                                    left: <Id.Left_DollarBrace '${'>
                                    token: <Id.VSub_Name apackages>
                                    var_name: apackages
                                    bracket_op: (bracket_op.ArrayIndex expr:{($ Id.VSub_DollarName i)})
                                    right: <Id.Right_DollarBrace '}'>
                                  )
                                )
                              } {<-O>} {<package.deb>}
                            )
                            (C {<dpkg>} {<-i>} {<package.deb>})
                            (C {<rm>} {<package.deb>})
                          ]
                        )
                      redirects: []
                    )
                    (C {<unset>} {<apackages>})
                  ]
                  spids: [27491 27510]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<125>}
                  spids: [27804]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<tomcat8>})]
                  spids: [27808 27827]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<71>}
                  spids: [27849]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                <
'https://sourceforge.net/projects/webiopi/files/WebIOPi-0.7.1.tar.gz/download'
                                >
                              )
                            }
                          spids: [27880]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<G_AGI>} {<python-dev>} {<python-setuptools>} {<--no-install-recommends>})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.tar>})
                    (C {<tar>} {<xvzf>} {<package.tar>})
                    (C {<rm>} {<package.tar>})
                    (C {<cd>} {<WebIOPi> <Id.Lit_Star '*'>})
                    (C {<sed>} {<-i>} {(SQ <'/read response/c\\response="n"'>)} {<setup.sh>})
                    (C {<'./setup.sh'>})
                    (C {<clear>})
                    (C {<cd>} {<..>})
                    (C {<rm>} {<-R>} {<WebIOPi> <Id.Lit_Star '*'>})
                  ]
                  spids: [27853 27872]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<62>}
                  spids: [27997]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                          right: {<Id.Lit_Digits 11>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<lcdpanel>} 
                              {<odroid-cloudshell>}
                            )
                          ]
                          spids: [28036 28050]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [28001 28020]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<98>}
                  spids: [28074]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'https://www.haproxy.org/download/1.8/src/haproxy-1.8.2.tar.gz'>)}
                          spids: [28106]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.tar>})
                    (C {<tar>} {<-xvf>} {<package.tar>})
                    (C {<rm>} {<package.tar>})
                    (C {<cd>} {<haproxy-> <Id.Lit_Star '*'>})
                    (C {<G_AGI>} {<libpcre3-dev>} {<libssl-dev>} {<zlib1g-dev>})
                    (C {<make>} {<-j>} {($ Id.VSub_DollarName G_HW_CPU_CORES)} 
                      {<Id.Lit_VarLike 'TARGET='> <linux2628>} {<Id.Lit_VarLike 'CPU='> <generic>} {<Id.Lit_VarLike 'USE_PCRE='> <1>} 
                      {<Id.Lit_VarLike 'USE_OPENSSL='> <1>} {<Id.Lit_VarLike 'USE_ZLIB='> <1>} {<Id.Lit_VarLike 'USE_LINUX_SPLICE='> <1>}
                    )
                    (C {<make>} {<install>})
                    (C {<mkdir>} {<'/etc/haproxy'>})
                    (C {<cd>} {<..>})
                    (C {<rm>} {<-R>} {<haproxy-> <Id.Lit_Star '*'>})
                    (C {<cp>} {<'/DietPi/dietpi/conf/haproxy_init'>} {<'/etc/init.d/haproxy'>})
                    (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/etc/init.d/haproxy'>})
                    (C {<update-rc.d>} {<haproxy>} {<defaults>})
                  ]
                  spids: [28078 28097]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<35>}
                  spids: [28267]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: {($ Id.VSub_DollarName G_DISTRO)}
                                          right: {<Id.Lit_Digits 4>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                                  right: {<Id.Lit_Digits 3>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [(C {<dpkg>} {<--add-architecture>} {<armhf>}) (C {<G_AGUP>})]
                                  spids: [28324 28338]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
'http://dietpi.com/downloads/binaries/all/logitechmediaserver_7.9.1_armv7-(stretch).deb'
                                        >
                                      )
                                    }
                                  spids: [28357]
                                )
                              ]
                              redirects: []
                            )
                            (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} 
                              {<package.deb>}
                            )
                            (C {<dpkg>} {<-i>} {<package.deb>})
                            (C {<rm>} {<package.deb>})
                            (C {<G_AGF>})
                          ]
                          spids: [28302 28316]
                        )
                      ]
                      else_action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                  name: INSTALL_URL_ADDRESS
                                )
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (SQ 
                                    <
'http://dietpi.com/downloads/binaries/all/logitechmediaserver_7.9.0_all.deb'
                                    >
                                  )
                                }
                              spids: [28394]
                            )
                          ]
                          redirects: []
                        )
                        (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                        (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} 
                          {<package.deb>}
                        )
                        (C {<dpkg>} {<-i>} {<package.deb>})
                        (C {<rm>} {<package.deb>})
                        (C {<G_AGF>})
                        (C {<service>} {<logitechmediaserver>} {<stop>})
                        (command.If
                          arms: [
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.DParen
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                              right: {<Id.Lit_Digits 1>}
                                            )
                                          redirects: []
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (C {<wget>} 
                                  {<http> <Id.Lit_Colon ':'> 
                                    <
'//dietpi.com/downloads/binaries/all/logitechmediaserver_7.9.0_CPAN_5.20_armv6hf.tar.gz'
                                    >
                                  } {<-O>} {<package.tar>}
                                )
                                (C {<tar>} {<xvzf>} {<package.tar>} {<-C>} {<'/'>})
                                (C {<rm>} {<package.tar>})
                              ]
                              spids: [28456 28470]
                            )
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.DParen
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                              right: {<Id.Lit_Digits 3>}
                                            )
                                          redirects: []
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (C {<G_AGI>} {<libxml-parser-perl>})
                                (C {<G_AGI>} {<zlib1g-dev>} {<libjpeg-dev>} {<libpng-dev>} 
                                  {<libjpeg62-turbo-dev>}
                                )
                                (C {<wget>} 
                                  {<http> <Id.Lit_Colon ':'> 
                                    <
'//dietpi.com/downloads/binaries/all/DietPi-LMS7.9-CPAN_arm64.zip'
                                    >
                                  } {<-O>} {<package.zip>}
                                )
                                (C {<unzip>} {<-o>} {<package.zip>} {<-d>} 
                                  {<'/usr/share/squeezeboxserver'>}
                                )
                                (C {<rm>} {<package.zip>})
                              ]
                              spids: [28506 28520]
                            )
                          ]
                          else_action: []
                          redirects: []
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [28271 28290]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<55>}
                  spids: [28588]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'https://wordpress.org/latest.zip'>)}
                          spids: [28619]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>})
                    (C {<unzip>} {<-o>} {<package.zip>} {<-d>} {<'/var/www/'>})
                    (C {<rm>} {<package.zip>})
                  ]
                  spids: [28592 28611]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<27>}
                  spids: [28669]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (C {<G_AGI>} {<tightvncserver>} {<x11vnc>} {<--no-install-recommends>})
                  ]
                  spids: [28673 28692]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<28>}
                  spids: [28718]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (C {<G_AGI>} {<vnc4server>} {<x11vnc>} {<--no-install-recommends>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: {($ Id.VSub_DollarName G_DISTRO)}
                                          right: {<Id.Lit_Digits 4>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<G_AGI>} {<tigervnc-common>})]
                          spids: [28763 28777]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [28722 28741]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<120>}
                  spids: [28799]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<realvnc-vnc-server>})]
                  spids: [28803 28822]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<73>}
                  spids: [28880]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (C {<touch>} {<'/var/log/auth.log'>})
                    (C {<G_AGI>} {<fail2ban>} {<--no-install-recommends>})
                  ]
                  spids: [28884 28903]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<64>}
                  spids: [28936]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'https://github.com/phpsysinfo/phpsysinfo/archive/master.zip'>)}
                          spids: [28968]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>})
                    (C {<unzip>} {<-o>} {<package.zip>} {<-d>} {<'/var/www/'>})
                    (C {<rm>} {<package.zip>})
                    (C {<mv>} {<'/var/www/phpsysinfo-'> <Id.Lit_Star '*'>} {<'/var/www/phpsysinfo'>})
                  ]
                  spids: [28940 28959]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<56>}
                  spids: [29026]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                <
'http://dietpi.com/downloads/binaries/all/Single_File_PHP_Gallery_4.6.1.zip'
                                >
                              )
                            }
                          spids: [29058]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>})
                    (C {<unzip>} {<-o>} {<package.zip>} {<-d>} {<'/var/www/gallery'>})
                    (C {<rm>} {<package.zip>})
                  ]
                  spids: [29030 29049]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<40>}
                  spids: [29108]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'https://github.com/ampache/ampache/archive/master.zip'>)}
                          spids: [29139]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>})
                    (C {<unzip>} {<-o>} {<package.zip>})
                    (C {<rm>} {<package.zip>})
                    (C {<mv>} {<ampache-> <Id.Lit_Star '*'>} {<'/var/www/ampache'>})
                    (command.Simple
                      words: [{<php>} {<-r>} {(DQ <'readfile(\'https://getcomposer.org/installer\');'>)}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<composer-setup.php>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<php>} {<composer-setup.php>})
                    (C {<php>} {<-r>} {(DQ <'unlink(\'composer-setup.php\');'>)})
                    (C {<mv>} {<composer.phar>} {<'/usr/local/bin/composer'>})
                    (C {<cd>} {<'/var/www/ampache'>})
                    (C {<composer>} {<install>} {<--prefer-source>} {<--no-interaction>})
                    (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))})
                  ]
                  spids: [29112 29131]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<97>}
                  spids: [29256]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<openvpn>} {<easy-rsa>} {<iptables>})]
                  spids: [29260 29279]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<117>}
                  spids: [29305]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'https://install.pivpn.io'>)}
                          spids: [29336]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<G_AGI>} {<lsb-release>})
                    (C {<useradd>} {<pivpn>})
                    (C {<mkdir>} {<-p>} {<'/home/pivpn'>})
                    (command.WhileUntil
                      keyword: <Id.KW_While while>
                      cond: (condition.Shell commands:[(C {<true>})])
                      body: 
                        (command.DoGroup
                          children: [
                            (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} 
                              {<pivpn_install.sh>}
                            )
                            (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<pivpn_install.sh>})
                            (C {<sed>} {<-i>} {(SQ <'/shutdown[[:space:]]/d'>)} {<pivpn_install.sh>})
                            (C {<'./pivpn_install.sh'>})
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_NEqual
                                                  left: {($ Id.VSub_QMark '?')}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<whiptail>} {<--title>} {(DQ <'PiVPN failed/aborted'>)} 
                                      {<--yesno>} 
                                      {
                                        (DQ 
                                          <
'The PiVPN installer was not successful and/or canceled prior to its completion.'
                                          > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                                          <
'nWould you like DietPi to run the PiVPN installer again?'
                                          >
                                        )
                                      } {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<--defaultno>} {<12>} {<70>}
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_NEqual
                                                          left: {($ Id.VSub_QMark '?')}
                                                          right: {<Id.Lit_Digits 0>}
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.IndexedName
                                                      left: 
                                                        <Id.Lit_ArrayLhsOpen 
'aSOFTWARE_INSTALL_STATE['
                                                        >
                                                      name: aSOFTWARE_INSTALL_STATE
                                                      index: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {<0>}
                                                  spids: [29488]
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (command.ControlFlow
                                              token: <Id.ControlFlow_Break break>
                                            )
                                          ]
                                          spids: [29470 29484]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                  ]
                                  spids: [29421 29435]
                                )
                              ]
                              else_action: [
                                (C {<rm>} {<pivpn_install.sh>})
                                (command.ControlFlow
                                  token: <Id.ControlFlow_Break break>
                                )
                              ]
                              redirects: []
                            )
                          ]
                        )
                      redirects: []
                    )
                  ]
                  spids: [29309 29328]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<92>}
                  spids: [29533]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: {($ Id.VSub_DollarName G_DISTRO)}
                                          right: {<Id.Lit_Digits 4>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<G_AGI>} {<certbot>})
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_GreatEqual
                                                  left: 
                                                    {
                                                      (braced_var_sub
                                                        left: <Id.Left_DollarBrace '${'>
                                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                        var_name: aSOFTWARE_INSTALL_STATE
                                                        bracket_op: 
                                                          (bracket_op.ArrayIndex
                                                            expr: {<Id.Lit_Digits 83>}
                                                          )
                                                        right: <Id.Right_DollarBrace '}'>
                                                      )
                                                    }
                                                  right: {<Id.Lit_Digits 1>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [(C {<G_AGI>} {<python-certbot-apache>})]
                                  spids: [29588 29607]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_GreatEqual
                                                  left: 
                                                    {
                                                      (braced_var_sub
                                                        left: <Id.Left_DollarBrace '${'>
                                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                        var_name: aSOFTWARE_INSTALL_STATE
                                                        bracket_op: 
                                                          (bracket_op.ArrayIndex
                                                            expr: {<Id.Lit_Digits 85>}
                                                          )
                                                        right: <Id.Right_DollarBrace '}'>
                                                      )
                                                    }
                                                  right: {<Id.Lit_Digits 1>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [(C {<G_AGI>} {<python-certbot-nginx>})]
                                  spids: [29621 29640]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                          spids: [29564 29578]
                        )
                      ]
                      else_action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                  name: INSTALL_URL_ADDRESS
                                )
                              op: assign_op.Equal
                              rhs: {(SQ <'https://github.com/certbot/certbot/archive/master.zip'>)}
                              spids: [29658]
                            )
                          ]
                          redirects: []
                        )
                        (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                        (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} 
                          {<package.zip>}
                        )
                        (C {<unzip>} {<-o>} {<package.zip>} {<-d>} {<'/root'>})
                        (C {<rm>} {<package.zip>})
                        (C {<mv>} {<certbot> <Id.Lit_Star '*'>} {<'/etc/certbot_scripts'>})
                        (C {<cd>} {<'/etc/certbot_scripts'>})
                        (C {<'./certbot-auto'>} {<-n>} {<--os-packages-only>})
                        (C {<cd>} {(word_part.TildeSub token:<Id.Lit_TildeLike '~'>) <'/'>})
                      ]
                      redirects: []
                    )
                  ]
                  spids: [29537 29556]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 61>})
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 60>}
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [29766]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [29743 29762]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<60>}
                  spids: [29783]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'http://dietpi.com/downloads/binaries/all/hostapd_2.5_all.zip'>)}
                          spids: [29814]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<G_AGI>} {<hostapd>} {<isc-dhcp-server>} {<iptables>} {<libnl-3-200>})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>})
                    (C {<unzip>} {<-o>} {<package.zip>})
                    (C {<rm>} {<package.zip>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DPipe
                                          left: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_DollarParen '$('>
                                                child: 
                                                  (command.Pipeline
                                                    children: [
                                                      (C {<lsusb>})
                                                      (C {<grep>} {<-ci>} {<-m1>} {(SQ <RTL8188C>)})
                                                    ]
                                                    negated: F
                                                    stderr_indices: []
                                                  )
                                                right: <Id.Eof_RParen _>
                                              )
                                            }
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                              right: {<Id.Lit_Digits 70>}
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'WIFIHOTSPOT_RTL8188C_DEVICE='>
                                      name: WIFIHOTSPOT_RTL8188C_DEVICE
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [29913]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [29873 29906]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<local>} {<Id.Lit_VarLike 'filename_hostapd='> (SQ )})
                    (C {<local>} {<Id.Lit_VarLike 'filename_hostapd_cli='> (SQ )})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'filename_hostapd='>
                                      name: filename_hostapd
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <hostapd-nl80211-armv6>)}
                                  spids: [29963]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'filename_hostapd_cli='>
                                      name: filename_hostapd_cli
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <hostapd_cli-armv6>)}
                                  spids: [29969]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                {($ Id.VSub_DollarName WIFIHOTSPOT_RTL8188C_DEVICE)}
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'filename_hostapd='>
                                              name: filename_hostapd
                                            )
                                          op: assign_op.Equal
                                          rhs: {(SQ <hostapd-rtl8188c-armv6>)}
                                          spids: [29990]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [29976 29986]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                          spids: [29945 29959]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 2>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'filename_hostapd='>
                                      name: filename_hostapd
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <hostapd-nl80211-armv7>)}
                                  spids: [30023]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'filename_hostapd_cli='>
                                      name: filename_hostapd_cli
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <hostapd_cli-armv7>)}
                                  spids: [30029]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                {($ Id.VSub_DollarName WIFIHOTSPOT_RTL8188C_DEVICE)}
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'filename_hostapd='>
                                              name: filename_hostapd
                                            )
                                          op: assign_op.Equal
                                          rhs: {(SQ <hostapd-rtl8188c-armv7>)}
                                          spids: [30050]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [30036 30046]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                          spids: [30005 30019]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 3>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'filename_hostapd='>
                                      name: filename_hostapd
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <hostapd-nl80211-arm64>)}
                                  spids: [30083]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'filename_hostapd_cli='>
                                      name: filename_hostapd_cli
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <hostapd_cli-arm64>)}
                                  spids: [30089]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                {($ Id.VSub_DollarName WIFIHOTSPOT_RTL8188C_DEVICE)}
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'filename_hostapd='>
                                              name: filename_hostapd
                                            )
                                          op: assign_op.Equal
                                          rhs: {(SQ <hostapd-rtl8188c-arm64>)}
                                          spids: [30110]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [30096 30106]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                          spids: [30065 30079]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<mv>} {(DQ ($ Id.VSub_DollarName filename_hostapd))} {<'/usr/sbin/hostapd'>})
                    (C {<mv>} {(DQ ($ Id.VSub_DollarName filename_hostapd_cli))} 
                      {<'/usr/sbin/hostapd_cli'>}
                    )
                    (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/usr/sbin/hostapd'>})
                    (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/usr/sbin/hostapd_cli'>})
                    (C {<rm>} {<hostapd-> <Id.Lit_Star '*'>})
                    (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<wifimodules>} {<enable>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: {($ Id.VSub_DollarName G_DISTRO)}
                                          right: {<Id.Lit_Digits 4>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <'http://dietpi.com/downloads/binaries/all/'>)}
                                  spids: [30206]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DPipe
                                                  left: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DEqual
                                                      left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                                      right: {<Id.Lit_Digits 1>}
                                                    )
                                                  right: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DEqual
                                                      left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                                      right: {<Id.Lit_Digits 2>}
                                                    )
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                              name: INSTALL_URL_ADDRESS
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: {(SQ <'libssl1.0.0_1.0.1t-1+deb8u7_armhf.deb'>)}
                                          spids: [30243]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [30217 30239]
                                )
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                                  right: {<Id.Lit_Digits 3>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                              name: INSTALL_URL_ADDRESS
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: {(SQ <'libssl1.0.0_1.0.1t-1+deb8u7_arm64.deb'>)}
                                          spids: [30272]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [30254 30268]
                                )
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                                  right: {<Id.Lit_Digits 10>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                              name: INSTALL_URL_ADDRESS
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: {(SQ <'libssl1.0.0_1.0.1t-1+deb8u7_amd64.deb'>)}
                                          spids: [30301]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [30283 30297]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                            (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} 
                              {<package.deb>}
                            )
                            (C {<dpkg>} {<-i>} {<package.deb>})
                            (C {<rm>} {<package.deb>})
                          ]
                          spids: [30188 30202]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [29787 29806]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<61>}
                  spids: [30357]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<tor>})]
                  spids: [30361 30380]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<37>}
                  spids: [30406]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: 
                            {(SQ <'http://dietpi.com/downloads/binaries/all/shairport-sync_3.1.3_'>)}
                          spids: [30437]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: {(SQ <armv6.7z>)}
                                  spids: [30466]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [30448 30462]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 2>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: {(SQ <armv7.7z>)}
                                  spids: [30495]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [30477 30491]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 3>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: {(SQ <arm64.7z>)}
                                  spids: [30524]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [30506 30520]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<G_AGI>} {<openssl>} {<libsoxr0>} {<libavahi-client3>} {<libtool>} {<libconfig9>} 
                      {<libpopt0>} {<libdaemon0>} {<--no-install-recommends>}
                    )
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.7z>})
                    (C {<7z>} {<x>} {<-y>} {<package.7z>} {<'-o/'>})
                    (C {<rm>} {<package.7z>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: {($ Id.VSub_DollarName G_DISTRO)}
                                          right: {<Id.Lit_Digits 4>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <'http://dietpi.com/downloads/binaries/all/'>)}
                                  spids: [30640]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DPipe
                                                  left: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DEqual
                                                      left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                                      right: {<Id.Lit_Digits 1>}
                                                    )
                                                  right: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DEqual
                                                      left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                                      right: {<Id.Lit_Digits 2>}
                                                    )
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                              name: INSTALL_URL_ADDRESS
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: {(SQ <'libssl1.0.0_1.0.1t-1+deb8u7_armhf.deb'>)}
                                          spids: [30677]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [30651 30673]
                                )
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                                  right: {<Id.Lit_Digits 3>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                              name: INSTALL_URL_ADDRESS
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: {(SQ <'libssl1.0.0_1.0.1t-1+deb8u7_arm64.deb'>)}
                                          spids: [30706]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [30688 30702]
                                )
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                                  right: {<Id.Lit_Digits 10>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                              name: INSTALL_URL_ADDRESS
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: {(SQ <'libssl1.0.0_1.0.1t-1+deb8u7_amd64.deb'>)}
                                          spids: [30735]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [30717 30731]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                            (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} 
                              {<package.deb>}
                            )
                            (C {<dpkg>} {<-i>} {<package.deb>})
                            (C {<rm>} {<package.deb>})
                          ]
                          spids: [30622 30636]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [30410 30429]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<38>}
                  spids: [30790]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'http://dietpi.com/downloads/conf/BruteFIR/'>)}
                          spids: [30825]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<G_AGI>} {<brutefir>})
                    (C {<wget>} {<-r>} {<-nH>} {<--cut-dirs> <Id.Lit_Equals '='> <2>} {<--no-parent>} 
                      {<--reject> <Id.Lit_Equals '='> (DQ <'index.htm*'>)} {<-e>} {<Id.Lit_VarLike 'robots='> <off>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}
                    )
                    (C {<mv>} {<BruteFIR>} {<'/etc/'>})
                  ]
                  spids: [30794 30813]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<48>}
                  spids: [30893]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                <
'https://download.pydio.com/pub/core/archives/pydio-core-8.0.2.zip'
                                >
                              )
                            }
                          spids: [30928]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>})
                    (C {<unzip>} {<-o>} {<package.zip>} {<-d>} {<'/var/www'>})
                    (C {<mv>} {<'/var/www/pydio-core-'> <Id.Lit_Star '*'>} {<'/var/www/pydio'>})
                    (C {<rm>} {<package.zip>})
                  ]
                  spids: [30897 30916]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<36>}
                  spids: [30986]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: 
                            {(SQ <'http://dietpi.com/downloads/binaries/all/squeezelite-1.8_all.7z'>)}
                          spids: [31017]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<G_AGI>} {<squeezelite>})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.7z>})
                    (C {<7z>} {<x>} {<-y>} {<package.7z>} {<'-o/usr/bin'>})
                    (C {<rm>} {<package.7z>})
                    (C {<rm>} {<'/usr/bin/squeezelite'>})
                    (C {<local>} {<Id.Lit_VarLike 'target_binary='> (SQ )})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'target_binary='>
                                      name: target_binary
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <squeezelite_armv6>)}
                                  spids: [31105]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [31087 31101]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 2>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'target_binary='>
                                      name: target_binary
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <squeezelite_armv7>)}
                                  spids: [31134]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [31116 31130]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 3>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'target_binary='>
                                      name: target_binary
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <squeezelite_arm64>)}
                                  spids: [31163]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [31145 31159]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'target_binary='>
                                      name: target_binary
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <squeezelite_amd64>)}
                                  spids: [31192]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [31174 31188]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<ln>} {<-sf>} {<'/usr/bin/'> (DQ ($ Id.VSub_DollarName target_binary))} 
                      {<'/usr/bin/squeezelite'>}
                    )
                    (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/usr/bin/squeezelite'>})
                  ]
                  spids: [30990 31009]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<99>}
                  spids: [31232]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'https://github.com/Fourdee/emonhub/archive/emon-pi.zip'>)}
                          spids: [31267]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<G_AGI>} {<minicom>} {<python-serial>} {<python-configobj>} 
                      {<--no-install-recommends>}
                    )
                    (C {<pip>} {<install>} {<paho-mqtt>} {<pydispatcher>})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>})
                    (C {<unzip>} {<-o>} {<package.zip>})
                    (C {<rm>} {<package.zip>})
                    (C {<rm>} {<-R>} {<'/etc/emonhub'>})
                    (C {<mkdir>} {<-p>} {<'/etc/emonhub'>})
                    (C {<mv>} {<emonhub-> <Id.Lit_Star '*'> <'/'> <Id.Lit_Star '*'>} {<'/etc/emonhub/'>})
                    (C {<rm>} {<-R>} {<emonhub-> <Id.Lit_Star '*'>})
                  ]
                  spids: [31236 31255]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<66>}
                  spids: [31375]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                <
'https://github.com/XavierBerger/RPi-Monitor-deb/raw/master/packages/rpimonitor_2.12-r0_all.deb'
                                >
                              )
                            }
                          spids: [31410]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.deb>})
                    (C {<dpkg>} {<-i>} {<package.deb>})
                    (C {<rm>} {<package.deb>})
                    (C {<apt-get>} {<-f>} {<-y>} {<install>})
                  ]
                  spids: [31379 31398]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<65>}
                  spids: [31470]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'http://dietpi.com/downloads/binaries/all/netdata_1.6.0_'>)}
                          spids: [31501]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: {(SQ <armv6.deb>)}
                                  spids: [31530]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [31512 31526]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 2>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: {(SQ <armv7.deb>)}
                                  spids: [31559]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [31541 31555]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 3>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: {(SQ <arm64.deb>)}
                                  spids: [31588]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [31570 31584]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: {(SQ <amd64.deb>)}
                                  spids: [31617]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [31599 31613]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<G_AGI>} {<--no-install-recommends>} {<zlib1g-dev>})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.deb>})
                    (C {<dpkg>} {<-i>} {<package.deb>})
                    (C {<rm>} {<package.deb>})
                  ]
                  spids: [31474 31493]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<57>}
                  spids: [31684]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'https://github.com/fruux/Baikal/archive/master.zip'>)}
                          spids: [31719]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>})
                    (C {<unzip>} {<-o>} {<package.zip>} {<-d>} {<'/var/www'>})
                    (C {<rm>} {<package.zip>})
                    (C {<mv>} {<'/var/www/Baikal'> <Id.Lit_Star '*'>} {<'/var/www/baikal'>})
                  ]
                  spids: [31688 31707]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<43>}
                  spids: [31777]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<mumble-server>})]
                  spids: [31781 31800]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<41>}
                  spids: [31822]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                <
'http://download.opensuse.org/repositories/home:/emby/xUbuntu_14.04/'
                                >
                              )
                            }
                          spids: [31857]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
'http://download.opensuse.org/repositories/home:/emby/Debian_'
                                        >
                                      )
                                    }
                                  spids: [31886]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName G_DISTRO)}
                                                  right: {<Id.Lit_Digits 3>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                              name: INSTALL_URL_ADDRESS
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: {(SQ <8.0>)}
                                          spids: [31911]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [31893 31907]
                                )
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName G_DISTRO)}
                                                  right: {<Id.Lit_Digits 4>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                              name: INSTALL_URL_ADDRESS
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: {(SQ <9.0>)}
                                          spids: [31936]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [31918 31932]
                                )
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName G_DISTRO)}
                                                  right: {<Id.Lit_Digits 5>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                              name: INSTALL_URL_ADDRESS
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: {(SQ <Next>)}
                                          spids: [31965]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [31943 31957]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: {(SQ <'/'>)}
                                  spids: [31976]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [31868 31882]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (command.Simple
                      words: [
                        {<echo>}
                        {<-e>}
                        {(DQ <'deb '> ($ Id.VSub_DollarName INSTALL_URL_ADDRESS) <' /'>)}
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/apt/sources.list.d/emby-server.list'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS)) <Release.key>})
                    (command.Simple
                      words: [{<apt-key>} {<add>} {<->}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Less '<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: {<Release.key>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<rm>} {<Release.key>})
                    (C {<G_AGUP>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 2>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<wget>} 
                              {<http> <Id.Lit_Colon ':'> 
                                <'//ftp.us.debian.org/debian/pool/main/libj/libjpeg8/libjpeg8_8d-1'> <Id.Lit_Other '+'> <deb7u1_armhf.deb>
                              } {<-O>} {<package.deb>}
                            )
                            (C {<dpkg>} {<-i>} {<package.deb>})
                            (C {<rm>} {<package.deb>})
                            (C {<wget>} 
                              {<http> <Id.Lit_Colon ':'> 
                                <
'//ftp.us.debian.org/debian/pool/main/libp/libpng/libpng12-0_1.2.50-2'
                                > <Id.Lit_Other '+'> <deb8u3_armhf.deb>
                              } {<-O>} {<package.deb>}
                            )
                            (C {<dpkg>} {<-i>} {<package.deb>})
                            (C {<rm>} {<package.deb>})
                            (C {<wget>} 
                              {<http> <Id.Lit_Colon ':'> 
                                <
'//ftp.us.debian.org/debian/pool/main/libw/libwebp/libwebp5_0.4.1-1.2'
                                > <Id.Lit_Other '+'> <b2_armhf.deb>
                              } {<-O>} {<package.deb>}
                            )
                            (C {<dpkg>} {<-i>} {<package.deb>})
                            (C {<rm>} {<package.deb>})
                          ]
                          spids: [32042 32056]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 3>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<wget>} 
                              {<http> <Id.Lit_Colon ':'> 
                                <
'//ftp.us.debian.org/debian/pool/main/libp/libpng/libpng12-0_1.2.50-2'
                                > <Id.Lit_Other '+'> <deb8u3_arm64.deb>
                              } {<-O>} {<package.deb>}
                            )
                            (C {<dpkg>} {<-i>} {<package.deb>})
                            (C {<rm>} {<package.deb>})
                            (C {<wget>} 
                              {<http> <Id.Lit_Colon ':'> 
                                <
'//ftp.us.debian.org/debian/pool/main/libw/libwebp/libwebp5_0.4.1-1.2'
                                > <Id.Lit_Other '+'> <b2_arm64.deb>
                              } {<-O>} {<package.deb>}
                            )
                            (C {<dpkg>} {<-i>} {<package.deb>})
                            (C {<rm>} {<package.deb>})
                            (C {<wget>} 
                              {<https> <Id.Lit_Colon ':'> 
                                <
'//mirror.i-novus.ru/ubuntu-ports/pool/main/libj/libjpeg-turbo/libjpeg-turbo8_1.3.0-0ubuntu2_arm64.deb'
                                >
                              } {<-O>} {<package.deb>}
                            )
                            (C {<dpkg>} {<-i>} {<package.deb>})
                            (C {<rm>} {<package.deb>})
                            (C {<wget>} 
                              {<http> <Id.Lit_Colon ':'> 
                                <
'//turul.canonical.com/pool/main/libj/libjpeg8-empty/libjpeg8_8c-2ubuntu8_arm64.deb'
                                >
                              } {<-O>} {<package.deb>}
                            )
                            (C {<dpkg>} {<-i>} {<package.deb>})
                            (C {<rm>} {<package.deb>})
                          ]
                          spids: [32142 32156]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<G_AGI>} {<emby-server>} {<embymagick>})
                  ]
                  spids: [31826 31845]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<42>}
                  spids: [32280]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
'https://downloads.plex.tv/plex-media-server/1.10.1.4602-f54242b6b/plexmediaserver_1.10.1.4602-f54242b6b_amd64.deb'
                                        >
                                      )
                                    }
                                  spids: [32338]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [32320 32334]
                        )
                      ]
                      else_action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                  name: INSTALL_URL_ADDRESS
                                )
                              op: assign_op.Equal
                              rhs: {(SQ <'http://dev2day.de/pms/'>)}
                              spids: [32353]
                            )
                          ]
                          redirects: []
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} 
                              {<package.deb>}
                            )
                            (C {<dpkg>} {<-i>} {<package.deb>})
                            (C {<rm>} {<package.deb>})
                          ]
                          spids: [32376 32390]
                        )
                      ]
                      else_action: [
                        (command.Simple
                          words: [
                            {<echo>}
                            {<-e>}
                            {
                              (DQ <'deb [arch=armhf] '> ($ Id.VSub_DollarName INSTALL_URL_ADDRESS) 
                                <' '> ($ Id.VSub_DollarName G_DISTRO_NAME) <' main'>
                              )
                            }
                          ]
                          redirects: [
                            (redir
                              op: <Id.Redir_Great '>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {<'/etc/apt/sources.list.d/plex.list'>}
                            )
                          ]
                          more_env: []
                          do_fork: T
                        )
                        (command.Pipeline
                          children: [
                            (C {<wget>} {<-O>} {<->} 
                              {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS)) <dev2day-pms.gpg.key>}
                            )
                            (C {<apt-key>} {<add>} {<->})
                          ]
                          negated: F
                          stderr_indices: []
                        )
                        (C {<G_AGUP>})
                        (command.If
                          arms: [
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.DParen
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                              right: {<Id.Lit_Digits 3>}
                                            )
                                          redirects: []
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (C {<dpkg>} {<--add-architecture>} {<armhf>})
                                (C {<G_AGUP>})
                                (C {<G_AGI>} {<binutils> <Id.Lit_Colon ':'> <armhf>} 
                                  {<plexmediaserver-installer> <Id.Lit_Colon ':'> <armhf>}
                                )
                              ]
                              spids: [32471 32485]
                            )
                          ]
                          else_action: [(C {<G_AGI>} {<plexmediaserver-installer>})]
                          redirects: []
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [32284 32303]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<52>}
                  spids: [32541]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
'http://builds.cuberite.org/job/Cuberite%20Linux%20x64%20Master/lastSuccessfulBuild/artifact/Cuberite.tar.gz'
                                        >
                                      )
                                    }
                                  spids: [32594]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [32576 32590]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DPipe
                                          left: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                              right: {<Id.Lit_Digits 1>}
                                            )
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                              right: {<Id.Lit_Digits 2>}
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
'http://builds.cuberite.org/job/Cuberite%20Linux%20raspi-armhf%20Master/lastSuccessfulBuild/artifact/Cuberite.tar.gz'
                                        >
                                      )
                                    }
                                  spids: [32631]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [32605 32627]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.tar>})
                    (C {<mkdir>} {<-p>} {<'/etc/cubrite'>})
                    (C {<tar>} {<xzvf>} {<package.tar>} {<-C>} {<'/etc/cubrite'>})
                    (C {<rm>} {<package.tar>})
                    (C {<mv>} {<'/etc/cubrite/Server/'> <Id.Lit_Star '*'>} {<'/etc/cubrite/'>})
                    (C {<rm>} {<-R>} {<'/etc/cuberite/Server'>})
                  ]
                  spids: [32545 32564]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<53>}
                  spids: [32712]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'https://github.com/hexparrot/mineos-node.git'>)}
                          spids: [32748]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<G_AGI>} {<python>} {<python3>} {<supervisor>} {<rdiff-backup>} {<screen>} {<rsync>})
                    (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mineos'>})
                    (C {<cd>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mineos'>})
                    (C {<git>} {<clone>} 
                      {<https> <Id.Lit_Colon ':'> <'//github.com/hexparrot/mineos-node.git'>} {<minecraft>}
                    )
                    (C {<cd>} {<minecraft>})
                    (C {<git>} {<config>} {<core.filemode>} {<false>})
                    (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<service.js>} {<mineos_console.js>} 
                      {<generate-sslcert.sh>} {<webui.js>}
                    )
                    (C {<npm>} {<install>})
                    (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))})
                  ]
                  spids: [32716 32735]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<49>}
                  spids: [32863]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'http://dietpi.com/downloads/binaries/all/gogs_'>)}
                          spids: [32894]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: {(SQ <armv6.zip>)}
                                  spids: [32923]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [32905 32919]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 2>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: {(SQ <armv7.zip>)}
                                  spids: [32952]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [32934 32948]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: {(SQ <amd64.zip>)}
                                  spids: [32981]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [32963 32977]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>})
                    (C {<unzip>} {<-o>} {<package.zip>})
                    (C {<rm>} {<package.zip>})
                    (C {<mv>} {<gogs> <Id.Lit_Star '*'>} {<'/etc/gogs'>})
                  ]
                  spids: [32867 32886]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<46>}
                  spids: [33040]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<qbittorrent-nox>})]
                  spids: [33044 33063]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<107>}
                  spids: [33085]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                <
'http://bintray.com/novik65/generic/download_file?file_path=ruTorrent-3.7.zip'
                                >
                              )
                            }
                          spids: [33116]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<G_AGI>} {<rtorrent>} {<screen>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Less
                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<G_AGI>} {<unrar-free>})]
                          spids: [33145 33159]
                        )
                      ]
                      else_action: [(C {<G_AGI>} {<unrar>})]
                      redirects: []
                    )
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>})
                    (C {<unzip>} {<-o>} {<package.zip>})
                    (C {<rm>} {<package.zip>})
                    (C {<mkdir>} {<-p>} {<'/var/www/rutorrent'>})
                    (C {<mv>} {<ruTorrent-> <Id.Lit_Star '*'> <'/'> <Id.Lit_Star '*'>} 
                      {<'/var/www/rutorrent/'>}
                    )
                    (C {<rm>} {<-R>} {<ruTorrent-> <Id.Lit_Star '*'>})
                  ]
                  spids: [33089 33108]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<132>}
                  spids: [33248]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: {($ Id.VSub_DollarName G_DISTRO)}
                                          right: {<Id.Lit_Digits 4>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<G_AGI>} {<aria2>})]
                          spids: [33279 33293]
                        )
                      ]
                      else_action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                  name: INSTALL_URL_ADDRESS
                                )
                              op: assign_op.Equal
                              rhs: {(SQ <'http://dietpi.com/downloads/binaries/all/aria2_'>)}
                              spids: [33311]
                            )
                          ]
                          redirects: []
                        )
                        (command.If
                          arms: [
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.DParen
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                              right: {<Id.Lit_Digits 1>}
                                            )
                                          redirects: []
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                          name: INSTALL_URL_ADDRESS
                                        )
                                      op: assign_op.PlusEqual
                                      rhs: {(SQ <armv6.7z>)}
                                      spids: [33340]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              spids: [33322 33336]
                            )
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.DParen
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                              right: {<Id.Lit_Digits 2>}
                                            )
                                          redirects: []
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                          name: INSTALL_URL_ADDRESS
                                        )
                                      op: assign_op.PlusEqual
                                      rhs: {(SQ <armv7.7z>)}
                                      spids: [33369]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              spids: [33351 33365]
                            )
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.DParen
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                              right: {<Id.Lit_Digits 3>}
                                            )
                                          redirects: []
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                          name: INSTALL_URL_ADDRESS
                                        )
                                      op: assign_op.PlusEqual
                                      rhs: {(SQ <arm64.7z>)}
                                      spids: [33398]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              spids: [33380 33394]
                            )
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.DParen
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                              right: {<Id.Lit_Digits 10>}
                                            )
                                          redirects: []
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                          name: INSTALL_URL_ADDRESS
                                        )
                                      op: assign_op.PlusEqual
                                      rhs: {(SQ <x86_64.7z>)}
                                      spids: [33427]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              spids: [33409 33423]
                            )
                          ]
                          else_action: []
                          redirects: []
                        )
                        (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                        (C {<G_AGI>} {<libc-ares2>})
                        (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} 
                          {<package.7z>}
                        )
                        (C {<7z>} {<x>} {<-y>} {<package.7z>})
                        (C {<rm>} {<package.7z>})
                        (C {<mv>} {<aria2_> <Id.Lit_Star '*'>} {<'/usr/local/bin/aria2c'>})
                        (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/usr/local/bin/aria2c'>})
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'https://github.com/ziahamza/webui-aria2/archive/master.zip'>)}
                          spids: [33507]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>})
                    (C {<unzip>} {<-o>} {<package.zip>})
                    (C {<rm>} {<package.zip>})
                    (C {<cp>} {<-R>} {<webui-aria2> <Id.Lit_Star '*'>} {<'/var/www/aria2'>})
                    (C {<rm>} {<-R>} {<webui-aria2> <Id.Lit_Star '*'>})
                  ]
                  spids: [33252 33271]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<116>}
                  spids: [33573]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'https://github.com/SickRage/SickRage/archive/master.zip'>)}
                          spids: [33604]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<G_AGI>} {<python>} {<libxslt1.1>} {<libxml2>} {<python-openssl>} 
                      {<python-xmltodict>}
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Less
                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<G_AGI>} {<unrar-free>})]
                          spids: [33636 33650]
                        )
                      ]
                      else_action: [(C {<G_AGI>} {<unrar>})]
                      redirects: []
                    )
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>})
                    (C {<unzip>} {<-o>} {<package.zip>})
                    (C {<rm>} {<package.zip>})
                    (C {<mkdir>} {<-p>} {<'/etc/sickrage'>})
                    (C {<mv>} {<SickRage-> <Id.Lit_Star '*'> <'/'> <Id.Lit_Star '*'>} 
                      {<'/etc/sickrage/'>}
                    )
                    (C {<rm>} {<-R>} {<SickRage-> <Id.Lit_Star '*'>})
                  ]
                  spids: [33577 33596]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<50>}
                  spids: [33733]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DPipe
                                          left: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                              right: {<Id.Lit_Digits 1>}
                                            )
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                              right: {<Id.Lit_Digits 2>}
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
'https://github.com/syncthing/syncthing/releases/download/v0.14.42/syncthing-linux-arm-v0.14.42.tar.gz'
                                        >
                                      )
                                    }
                                  spids: [33794]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [33768 33790]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 3>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
'https://github.com/syncthing/syncthing/releases/download/v0.14.42/syncthing-linux-arm64-v0.14.42.tar.gz'
                                        >
                                      )
                                    }
                                  spids: [33823]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [33805 33819]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
'https://github.com/syncthing/syncthing/releases/download/v0.14.42/syncthing-linux-amd64-v0.14.42.tar.gz'
                                        >
                                      )
                                    }
                                  spids: [33852]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [33834 33848]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} 
                      {<https> <Id.Lit_Colon ':'> <'//github.com/syncthing/syncthing'>}
                    )
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.tar>})
                    (C {<tar>} {<xzvf>} {<package.tar>})
                    (C {<rm>} {<package.tar>})
                    (C {<mkdir>} {<-p>} {<'/etc/syncthing'>})
                    (C {<cp>} {<-R>} {<syncthing-> <Id.Lit_Star '*'> <'/syncthing'>} 
                      {<'/etc/syncthing/'>}
                    )
                    (C {<rm>} {<-R>} {<syncthing-> <Id.Lit_Star '*'>})
                  ]
                  spids: [33737 33756]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<134>}
                  spids: [33943]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DPipe
                                          left: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                              right: {<Id.Lit_Digits 1>}
                                            )
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                              right: {<Id.Lit_Digits 2>}
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS1='>
                                      name: INSTALL_URL_ADDRESS1
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
'http://dietpi.com/downloads/binaries/all/libjpeg8_8d1-2_armhf.deb'
                                        >
                                      )
                                    }
                                  spids: [34016]
                                )
                              ]
                              redirects: []
                            )
                            (command.AndOr
                              ops: [Id.Op_DAmp]
                              children: [
                                (command.DParen
                                  child: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_Great
                                      left: {($ Id.VSub_DollarName G_DISTRO)}
                                      right: {<Id.Lit_Digits 3>}
                                    )
                                  redirects: []
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS2='>
                                          name: INSTALL_URL_ADDRESS2
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ 
                                            <
'http://dietpi.com/downloads/binaries/all/libssl1.0.0_1.0.2l-1_bpo8+1_armhf.deb'
                                            >
                                          )
                                        }
                                      spids: [34035]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                            )
                            (C {<G_AGI>} {<libpng12-0>})
                          ]
                          spids: [33990 34012]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS1='>
                                      name: INSTALL_URL_ADDRESS1
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
'http://dietpi.com/downloads/binaries/all/libjpeg8_8d1-2_amd64.deb'
                                        >
                                      )
                                    }
                                  spids: [34069]
                                )
                              ]
                              redirects: []
                            )
                            (command.AndOr
                              ops: [Id.Op_DAmp Id.Op_DPipe]
                              children: [
                                (command.DParen
                                  child: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_Great
                                      left: {($ Id.VSub_DollarName G_DISTRO)}
                                      right: {<Id.Lit_Digits 3>}
                                    )
                                  redirects: []
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS2='>
                                          name: INSTALL_URL_ADDRESS2
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ 
                                            <
'http://dietpi.com/downloads/binaries/all/libpng12-0_1.2.50-2+deb8u3_amd64.deb'
                                            >
                                          )
                                        }
                                      spids: [34088]
                                    )
                                  ]
                                  redirects: []
                                )
                                (C {<AGI>} {<libpng12-0>})
                              ]
                            )
                          ]
                          spids: [34051 34065]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS1))})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS1))} {<-O>} {<package.deb>})
                    (C {<dpkg>} {<-i>} {<package.deb>})
                    (C {<rm>} {<package.deb>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Great
                                          left: {($ Id.VSub_DollarName G_DISTRO)}
                                          right: {<Id.Lit_Digits 3>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS2))})
                            (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS2))} {<-O>} 
                              {<package.deb>}
                            )
                            (C {<dpkg>} {<-i>} {<package.deb>})
                            (C {<rm>} {<package.deb>})
                          ]
                          spids: [34136 34150]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<G_AGI>} {<libfontconfig1>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DPipe
                                          left: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                              right: {<Id.Lit_Digits 1>}
                                            )
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                              right: {<Id.Lit_Digits 2>}
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
'http://patch.codelathe.com/tonido/live/installer/armv6l-rpi/tonido.tar.gz'
                                        >
                                      )
                                    }
                                  spids: [34233]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [34207 34229]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <'http://www.tonido.com/download.php?tonido64.tar.gz'>)}
                                  spids: [34262]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [34244 34258]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.tar>})
                    (C {<mkdir>} {<'/etc/tonido'>})
                    (C {<tar>} {<xvf>} {<package.tar>} {<-C>} {<'/etc/tonido'>})
                    (C {<rm>} {<package.tar>})
                  ]
                  spids: [33947 33966]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<113>}
                  spids: [34322]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: {($ Id.VSub_DollarName G_DISTRO)}
                                          right: {<Id.Lit_Digits 4>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_Less
                                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                  right: {<Id.Lit_Digits 10>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [(C {<G_AGI>} {<chromium-browser>})]
                                  spids: [34375 34389]
                                )
                              ]
                              else_action: [(C {<G_AGI>} {<chromium>})]
                              redirects: []
                            )
                          ]
                          spids: [34357 34371]
                        )
                      ]
                      else_action: [
                        (command.If
                          arms: [
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.DParen
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DPipe
                                              left: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                                  right: {<Id.Lit_Digits 1>}
                                                )
                                              right: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                                  right: {<Id.Lit_Digits 2>}
                                                )
                                            )
                                          redirects: []
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                          name: INSTALL_URL_ADDRESS
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ 
                                            <
'http://dietpi.com/downloads/binaries/all/chromium_52.0.2743.116-1-deb8u1.1_armhf.deb'
                                            >
                                          )
                                        }
                                      spids: [34447]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              spids: [34421 34443]
                            )
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.DParen
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                              right: {<Id.Lit_Digits 3>}
                                            )
                                          redirects: []
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                          name: INSTALL_URL_ADDRESS
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ 
                                            <
'http://dietpi.com/downloads/binaries/all/chromium_52.0.2743.116-1-deb8u1.1_arm64.deb'
                                            >
                                          )
                                        }
                                      spids: [34476]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              spids: [34458 34472]
                            )
                          ]
                          else_action: []
                          redirects: []
                        )
                        (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                        (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} 
                          {<package.deb>}
                        )
                        (C {<dpkg>} {<-i>} {<package.deb>})
                        (C {<rm>} {<package.deb>})
                        (command.If
                          arms: [
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.DParen
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DAmp
                                              left: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_GreatEqual
                                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                  right: {<Id.Lit_Digits 10>}
                                                )
                                              right: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_Less
                                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                  right: {<Id.Lit_Digits 20>}
                                                )
                                            )
                                          redirects: []
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (C {<G_AGI>} {<libgnome-keyring0>} {<libnspr4>} {<libnss3>} {<libnss3-1d>} 
                                  {<libspeechd2>} {<libxslt1.1>} {<libxss1>} {<xdg-utils>} {<libgnome-keyring-common>} {<libltdl7>}
                                )
                              ]
                              spids: [34523 34545]
                            )
                          ]
                          else_action: [(C {<G_AGF>})]
                          redirects: []
                        )
                        (C {<wget>} 
                          {<http> <Id.Lit_Colon ':'> 
                            <
'//dietpi.com/downloads/binaries/all/chromium-l10n_52.0.2743.116-1-deb8u1.1_all.deb'
                            >
                          } {<-O>} {<package.deb>}
                        )
                        (C {<dpkg>} {<-i>} {<package.deb>})
                        (command.If
                          arms: [
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.DParen
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DPipe
                                              left: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                                  right: {<Id.Lit_Digits 1>}
                                                )
                                              right: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                                  right: {<Id.Lit_Digits 2>}
                                                )
                                            )
                                          redirects: []
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (C {<wget>} 
                                  {<http> <Id.Lit_Colon ':'> 
                                    <
'//dietpi.com/downloads/binaries/all/chromedriver_52.0.2743.116-1-deb8u1.1_armhf.deb'
                                    >
                                  } {<-O>} {<package.deb>}
                                )
                                (C {<dpkg>} {<-i>} {<package.deb>})
                              ]
                              spids: [34608 34630]
                            )
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.DParen
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                              right: {<Id.Lit_Digits 3>}
                                            )
                                          redirects: []
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (C {<wget>} 
                                  {<http> <Id.Lit_Colon ':'> 
                                    <
'//dietpi.com/downloads/binaries/all/chromedriver_52.0.2743.116-1-deb8u1.1_arm64.deb'
                                    >
                                  } {<-O>} {<package.deb>}
                                )
                                (C {<dpkg>} {<-i>} {<package.deb>})
                              ]
                              spids: [34657 34671]
                            )
                          ]
                          else_action: []
                          redirects: []
                        )
                        (C {<rm>} {<package.deb>})
                        (C {<apt-mark>} {<hold>} {<chromium>} {<chromedriver>})
                      ]
                      redirects: []
                    )
                  ]
                  spids: [34326 34345]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<136>}
                  spids: [34730]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_DISTRO)}
                                          right: {<Id.Lit_Digits 3>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
'https://github.com/Motion-Project/motion/releases/download/release-4.1.1/pi_jessie_motion_4.1.1-1_armhf.deb'
                                        >
                                      )
                                    }
                                  spids: [34783]
                                )
                              ]
                              redirects: []
                            )
                            (C {<G_CHECK_URL>} {(DQ <'http://github.com/Motion-Project/motion'>)})
                            (C {<G_AGI>} {<v4l-utils>} {<python>} {<python-dev>} {<curl>} {<libssl-dev>} 
                              {<libcurl4-openssl-dev>} {<libjpeg-dev>} {<zlib1g-dev>} {<libx264-142>} {<libavcodec56>} {<libavformat56>} {<libmysqlclient18>} 
                              {<libswscale3>} {<libpq5>}
                            )
                            (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} 
                              {<package.deb>}
                            )
                            (C {<dpkg>} {<-i>} {<package.deb>})
                            (C {<rm>} {<package.deb>})
                            (C {<pip>} {<install>} {<motioneye>})
                          ]
                          spids: [34765 34779]
                        )
                      ]
                      else_action: [
                        (C {<G_AGI>} {<v4l-utils>} {<python>} {<python-dev>} {<curl>} {<libssl-dev>} 
                          {<libcurl4-openssl-dev>} {<libjpeg-dev>} {<zlib1g-dev>}
                        )
                        (C {<G_AGI>} {<motion>})
                        (C {<pip>} {<install>} {<motioneye>})
                      ]
                      redirects: []
                    )
                  ]
                  spids: [34734 34753]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<137>}
                  spids: [34940]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_DISTRO)}
                                          right: {<Id.Lit_Digits 3>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <'http://davesteele.github.io/cloudprint-service'>)}
                                  spids: [34992]
                                )
                              ]
                              redirects: []
                            )
                            (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: {(SQ <'/repo'>)}
                                  spids: [35011]
                                )
                              ]
                              redirects: []
                            )
                            (command.Simple
                              words: [
                                {<echo>}
                                {<-e>}
                                {
                                  (DQ <'deb '> ($ Id.VSub_DollarName INSTALL_URL_ADDRESS) 
                                    <' cloudprint-jessie main'>
                                  )
                                }
                              ]
                              redirects: [
                                (redir
                                  op: <Id.Redir_Great '>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<'/etc/apt/sources.list.d/cloudprint.list'>}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                            (command.Pipeline
                              children: [
                                (C {<wget>} {<-q>} {<-O>} {<->} 
                                  {<https> <Id.Lit_Colon ':'> 
                                    <'//davesteele.github.io/key-366150CE.pub.txt'>
                                  }
                                )
                                (C {<apt-key>} {<add>} {<->})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                            (C {<G_AGUP>})
                            (C {<G_AGI>} {<cloudprint-service>})
                          ]
                          spids: [34971 34985]
                        )
                      ]
                      else_action: [(C {<G_AGI>} {<cloudprint-service>})]
                      redirects: []
                    )
                  ]
                  spids: [34944 34963]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<138>}
                  spids: [35086]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'https://virtualhere.com/sites/default/files/usbserver/vhusbd'>)}
                          spids: [35117]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DPipe
                                          left: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                              right: {<Id.Lit_Digits 1>}
                                            )
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                              right: {<Id.Lit_Digits 2>}
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: {(SQ <arm>)}
                                  spids: [35154]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [35128 35150]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 3>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: {(SQ <arm64>)}
                                  spids: [35183]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [35165 35179]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: {(SQ <x86_64>)}
                                  spids: [35212]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [35194 35208]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<mkdir>} {<-p>} {<'/etc/vhusbd'>})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} 
                      {<'/etc/vhusbd/vhusbd'>}
                    )
                    (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/etc/vhusbd/vhusbd'>})
                  ]
                  spids: [35090 35109]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<139>}
                  spids: [35267]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (C {<local>} {<Id.Lit_VarLike 'version='> (SQ <2.3.2>)})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ <'https://github.com/sabnzbd/sabnzbd/archive/'> 
                                ($ Id.VSub_DollarName version) <.zip>
                              )
                            }
                          spids: [35307]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<G_AGI>} {<par2>} {<python-dev>} {<libffi-dev>} {<libssl-dev>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Less
                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<G_AGI>} {<unrar-free>})]
                          spids: [35340 35354]
                        )
                      ]
                      else_action: [(C {<G_AGI>} {<unrar>})]
                      redirects: []
                    )
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>})
                    (C {<mkdir>} {<-p>} {<'/etc/sabnzbd'>})
                    (C {<unzip>} {<-o>} {<package.zip>} {<-d>} {<'/etc/sabnzbd'>})
                    (C {<rm>} {<package.zip>})
                    (C {<mv>} 
                      {<'/etc/sabnzbd/sabnzbd-'> (DQ ($ Id.VSub_DollarName version)) <'/'> 
                        <Id.Lit_Star '*'>
                      } {<'/etc/sabnzbd/'>}
                    )
                    (C {<rm>} {<-R>} {<'/etc/sabnzbd/sabnzbd-'> (DQ ($ Id.VSub_DollarName version))})
                    (C {<pip>} {<install>} {<cheetah>} {<cryptography>} {<sabyenc>})
                  ]
                  spids: [35271 35290]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<141>}
                  spids: [35456]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'https://github.com/Fornoth/spotify-connect-web/releases'>)}
                          spids: [35487]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.PlusEqual
                          rhs: {(SQ <'/download/0.0.3-alpha/spotify-connect-web_0.0.3-alpha.tar.gz'>)}
                          spids: [35504]
                        )
                      ]
                      redirects: []
                    )
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.tar>})
                    (C {<tar>} {<zxvf>} {<package.tar>} {<-C>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/'>}
                    )
                    (C {<rm>} {<package.tar>})
                  ]
                  spids: [35460 35479]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<142>}
                  spids: [35550]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                <
'https://github.com/CouchPotato/CouchPotatoServer/archive/master.zip'
                                >
                              )
                            }
                          spids: [35581]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<G_AGI>} {<libffi-dev>} {<libssl-dev>} {<python-lxml>} {<python3-lxml>})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>})
                    (C {<unzip>} {<-o>} {<package.zip>})
                    (C {<rm>} {<package.zip>})
                    (command.Simple
                      words: [{<rm>} {<-R>} {<'/etc/couchpotato'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<mv>} {<CouchPotato> <Id.Lit_Star '*'>} {<'/etc/couchpotato'>})
                    (C {<pip>} {<install>} {<--upgrade>} {<pyopenssl>})
                  ]
                  spids: [35554 35573]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<143>}
                  spids: [35669]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'https://github.com/phanan/koel/archive/v3.7.0.zip'>)}
                          spids: [35700]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<G_AGI>} {<python>})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>})
                    (C {<unzip>} {<-o>} {<package.zip>})
                    (C {<rm>} {<package.zip>})
                    (C {<mv>} {<koel-> <Id.Lit_Star '*'>} {<'/var/www/koel'>})
                    (command.Simple
                      words: [{<php>} {<-r>} {(DQ <'readfile(\'https://getcomposer.org/installer\');'>)}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<composer-setup.php>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<php>} {<composer-setup.php>})
                    (C {<php>} {<-r>} {(DQ <'unlink(\'composer-setup.php\');'>)})
                    (C {<mv>} {<composer.phar>} {<'/usr/local/bin/composer'>})
                    (C {<cd>} {<'/var/www/koel'>})
                    (C {<npm>} {<install>} {<yarn>} {<-g>} {<--unsafe-perm>})
                    (C {<composer>} {<install>})
                    (C {<npm>} {<install>})
                    (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))})
                  ]
                  spids: [35673 35692]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<144>}
                  spids: [35831]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (C {<apt-key>} {<adv>} {<--keyserver>} {<keyserver.ubuntu.com>} {<--recv-keys>} 
                      {<FDA5DFFC>}
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 3>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.Simple
                              words: [
                                {<echo>}
                                {<-e>}
                                {(DQ <'deb [arch=armhf] https://apt.sonarr.tv/ master main'>)}
                              ]
                              redirects: [
                                (redir
                                  op: <Id.Redir_Great '>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<'/etc/apt/sources.list.d/sonarr.list'>}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                            (C {<dpkg>} {<--add-architecture>} {<armhf>})
                          ]
                          spids: [35875 35889]
                        )
                      ]
                      else_action: [
                        (command.Simple
                          words: [{<echo>} {<-e>} {(DQ <'deb https://apt.sonarr.tv/ master main'>)}]
                          redirects: [
                            (redir
                              op: <Id.Redir_Great '>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {<'/etc/apt/sources.list.d/sonarr.list'>}
                            )
                          ]
                          more_env: []
                          do_fork: T
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_AGUP>})
                    (C {<G_AGI>} {<nzbdrone>})
                  ]
                  spids: [35835 35854]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<145>}
                  spids: [35953]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'https://api.github.com/repos/Radarr/Radarr/releases'>)}
                          spids: [35984]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<G_AGI>} {<mono-devel>} {<mediainfo>} {<sqlite3>} {<libmono-cil-dev>})
                    (C {<wget>} 
                      {
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<curl>} {<-s>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                                (C {<grep>} {<linux.tar.gz>})
                                (C {<grep>} {<browser_download_url>})
                                (C {<head>} {<-1>})
                                (C {<cut>} {<-d>} 
                                  {
                                    (word_part.EscapedLiteral
                                      token: <Id.Lit_EscapedChar '\\"'>
                                      ch: '"'
                                    )
                                  } {<-f>} {<4>}
                                )
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      } {<-O>} {<package.tar>}
                    )
                    (C {<tar>} {<-xf>} {<package.tar>} {<-C>} {<'/opt/'>})
                    (C {<rm>} {<package.tar>})
                  ]
                  spids: [35957 35976]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<146>}
                  spids: [36085]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'https://github.com/JonnyWong16/plexpy.git'>)}
                          spids: [36116]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<G_AGI>} {<python>})
                    (C {<git>} {<clone>} {<--depth> <Id.Lit_Equals '='> <1>} 
                      {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}
                    )
                    (C {<mv>} {<plexpy>} {<'/opt/'>})
                  ]
                  spids: [36089 36108]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<147>}
                  spids: [36167]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'https://api.github.com/repos/Jackett/Jackett/releases'>)}
                          spids: [36198]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<G_AGI>} {<mono-devel>})
                    (C {<wget>} 
                      {
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<curl>} {<-s>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                                (C {<grep>} {<Jackett.Binaries.Mono.tar.gz>})
                                (C {<grep>} {<browser_download_url>})
                                (C {<head>} {<-1>})
                                (C {<cut>} {<-d>} 
                                  {
                                    (word_part.EscapedLiteral
                                      token: <Id.Lit_EscapedChar '\\"'>
                                      ch: '"'
                                    )
                                  } {<-f>} {<4>}
                                )
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      } {<-O>} {<package.tar>}
                    )
                    (C {<tar>} {<-xvf>} {<package.tar>})
                    (C {<rm>} {<package.tar>})
                    (C {<mkdir>} {<'/opt/jackett'>})
                    (C {<mv>} {<'Jackett/'> <Id.Lit_Star '*'>} {<'/opt/jackett'>})
                    (C {<rm>} {<-R>} {<Jackett>})
                  ]
                  spids: [36171 36190]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<148>}
                  spids: [36312]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                <
'http://dist.jriver.com/latest/mediacenter/mediacenter22native.list'
                                >
                              )
                            }
                          spids: [36343]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (command.Pipeline
                      children: [
                        (C {<wget>} {<-q>} {<-O>} {<->} 
                          {<http> <Id.Lit_Colon ':'> <'//dist.jriver.com/mediacenter'> 
                            <Id.Lit_Splice '@jriver'> <.com.gpg.key>
                          }
                        )
                        (C {<apt-key>} {<add>} {<->})
                      ]
                      negated: F
                      stderr_indices: []
                    )
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} 
                      {<'/etc/apt/sources.list.d/mediacenter22.list'>}
                    )
                    (C {<G_AGUP>})
                    (C {<G_AGI>} {<mediacenter22>})
                  ]
                  spids: [36316 36335]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<149>}
                  spids: [36411]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'https://nzbget.net'>)}
                          spids: [36442]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.PlusEqual
                          rhs: {(SQ <'/download/nzbget-latest-bin-linux.run'>)}
                          spids: [36457]
                        )
                      ]
                      redirects: []
                    )
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.run>})
                    (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/nzbget'>})
                    (C {<sh>} {<package.run>} {<--destdir>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/nzbget'>}
                    )
                    (C {<rm>} {<package.run>})
                  ]
                  spids: [36415 36434]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<155>}
                  spids: [36511]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'https://github.com/Hellowlol/HTPC-Manager.git'>)}
                          spids: [36542]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<G_AGI>} {<python>} {<python-pip>} {<python-imaging>} {<python-dev>})
                    (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))})
                    (C {<git>} {<clone>} {<--depth> <Id.Lit_Equals '='> <1>} 
                      {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}
                    )
                    (C {<mkdir>} {<-p>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/htpc-manager'>}
                    )
                    (C {<mv>} {(DQ ($ Id.VSub_DollarName HOME)) <'/HTPC-Manager/'> <Id.Lit_Star '*'>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/htpc-manager/'>}
                    )
                    (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName HOME)) <'/HTPC-Manager'>})
                    (C {<pip>} {<install>} {<psutil>})
                  ]
                  spids: [36515 36534]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<153>}
                  spids: [36653]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'https://github.com/foosel/OctoPrint.git'>)}
                          spids: [36684]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<G_AGI>} {<python>} {<python-dev>})
                    (C {<git>} {<clone>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<mv>} {<OctoPrint> <Id.Lit_Star '*'>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/octoprint'>}
                    )
                    (C {<cd>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/octoprint'>})
                    (C {<python>} {<setup.py>} {<install>})
                    (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))})
                  ]
                  spids: [36657 36676]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<154>}
                  spids: [36758]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: 
                            {(SQ <'http://download.roonlabs.com/builds/RoonServer_linuxx64.tar.bz2'>)}
                          spids: [36789]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<G_AGI>} {<libav-tools>} {<cifs-utils>})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.tar>})
                    (C {<tar>} {<xvf>} {<package.tar>})
                    (C {<rm>} {<package.tar>})
                    (C {<mv>} {<RoonServer>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/roonserver'>}
                    )
                  ]
                  spids: [36762 36781]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<156>}
                  spids: [36854]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.Simple
                      words: [{<debconf-set-selections>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_TLess '<<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: {(DQ <'steam steam/question select I AGREE'>)}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<G_AGI>} {<steam>})
                  ]
                  spids: [36858 36877]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<158>}
                  spids: [36909]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
'https://dl.minio.io/server/minio/release/linux-amd64/minio'
                                        >
                                      )
                                    }
                                  spids: [36967]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [36949 36963]
                        )
                      ]
                      else_action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                  name: INSTALL_URL_ADDRESS
                                )
                              op: assign_op.Equal
                              rhs: {(SQ <'https://dl.minio.io/server/minio/release/linux-arm/minio'>)}
                              spids: [36978]
                            )
                          ]
                          redirects: []
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<wget>} {<-O>} {<'/usr/local/bin/minio'>} 
                      {($ Id.VSub_DollarName INSTALL_URL_ADDRESS)}
                    )
                    (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/usr/local/bin/minio'>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                <
'https://github.com/minio/minio-service/raw/master/linux-systemd/minio.service'
                                >
                              )
                            }
                          spids: [37023]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<wget>} {<-O>} {<'/etc/systemd/system/minio.service'>} 
                      {($ Id.VSub_DollarName INSTALL_URL_ADDRESS)}
                    )
                    (C {<adduser>} {<--system>} {<--group>} {<minio-user>})
                    (C {<mkdir>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/minio-data'>})
                  ]
                  spids: [36913 36932]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<162>}
                  spids: [37087]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'https://get.docker.com'>)}
                          spids: [37118]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<wget>} {<-O>} {<DockerInstall.sh>} 
                      {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}
                    )
                    (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<DockerInstall.sh>})
                    (C {<'./DockerInstall.sh'>})
                  ]
                  spids: [37091 37110]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<161>}
                  spids: [37172]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <'http://FuguHub.com/install/FuguHub.linux.install'>)}
                                  spids: [37221]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [37203 37217]
                        )
                      ]
                      else_action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                  name: INSTALL_URL_ADDRESS
                                )
                              op: assign_op.Equal
                              rhs: {(SQ <'http://FuguHub.com/releases/raspberrypi/install.sh'>)}
                              spids: [37232]
                            )
                          ]
                          redirects: []
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<wget>} {<-O>} {<FHinstall.sh>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<FHinstall.sh>})
                    (C {<'./FHinstall.sh'>})
                    (C {<rm>} {<FHinstall.sh>})
                    (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//fuguhub.com/box.zip'>} {<-O>} 
                      {<'/home/bd/applications/box.zip'>}
                    )
                  ]
                  spids: [37176 37195]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<164>}
                  spids: [37298]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                <
'http://ci.mengcraft.com:8080/job/nukkit/lastStableBuild/artifact/target/nukkit-1.0-SNAPSHOT.jar'
                                >
                              )
                            }
                          spids: [37329]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<mkdir>} {<'/usr/local/bin/nukkit'>})
                    (C {<wget>} {<-O>} {<'/usr/local/bin/nukkit/nukkit.jar'>} 
                      {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))}
                    )
                  ]
                  spids: [37302 37321]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<165>}
                  spids: [37369]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'https://dl.gitea.io/gitea/1.3.2/gitea-1.3.2-'>)}
                          spids: [37400]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: {(SQ <linux-arm-6>)}
                                  spids: [37429]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [37411 37425]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 2>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: {(SQ <linux-arm-7>)}
                                  spids: [37458]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [37440 37454]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 3>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: {(SQ <linux-arm64>)}
                                  spids: [37487]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [37469 37483]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: {(SQ <linux-amd64>)}
                                  spids: [37516]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [37498 37512]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<mkdir>} {<-p>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/gitea/gitea-repositories'>}
                    )
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/gitea/gitea'>}
                    )
                    (C {<chmod>} {<Id.Lit_Other '+'> <x>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/gitea/gitea'>}
                    )
                  ]
                  spids: [37373 37392]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<159>}
                  spids: [37584]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DPipe
                                  left: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: 
                                        {
                                          (braced_var_sub
                                            left: <Id.Left_DollarBrace '${'>
                                            token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                            var_name: aSOFTWARE_INSTALL_STATE
                                            bracket_op: 
                                              (bracket_op.ArrayIndex
                                                expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                              )
                                            right: <Id.Right_DollarBrace '}'>
                                          )
                                        }
                                      right: {<Id.Lit_Digits 1>}
                                    )
                                  right: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: 
                                        {
                                          (braced_var_sub
                                            left: <Id.Left_DollarBrace '${'>
                                            token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                            var_name: aSOFTWARE_INSTALL_STATE
                                            bracket_op: 
                                              (bracket_op.ArrayIndex
                                                expr: {<Id.Lit_Digits 160>}
                                              )
                                            right: <Id.Right_DollarBrace '}'>
                                          )
                                        }
                                      right: {<Id.Lit_Digits 1>}
                                    )
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                <
'http://dietpi.com/downloads/binaries/all/allo_web_interface_v5.7z'
                                >
                              )
                            }
                          spids: [37632]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.7z>})
                    (C {<7z>} {<x>} {<-y>} {<package.7z>} {<'-o/var/www/'>})
                    (C {<rm>} {<package.7z>})
                  ]
                  spids: [37591 37624]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<163>}
                  spids: [37682]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'http://dietpi.com/downloads/binaries/all/gmrender_1_'>)}
                          spids: [37713]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: {(SQ <amd64.deb>)}
                                  spids: [37737]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [37719 37733]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 3>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: {(SQ <arm64.deb>)}
                                  spids: [37762]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [37744 37758]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 2>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: {(SQ <armv7.deb>)}
                                  spids: [37787]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [37769 37783]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS+='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: {(SQ <armv6.deb>)}
                                  spids: [37812]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [37794 37808]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<G_AGI>} {<libupnp6>} {<gstreamer1.0-plugins-base>} {<gstreamer1.0-plugins-good>} 
                      {<gstreamer1.0-plugins-bad>} {<gstreamer1.0-plugins-ugly>} {<gstreamer1.0-alsa>}
                    )
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.deb>})
                    (C {<dpkg>} {<-i>} {<package.deb>})
                    (C {<rm>} {<package.deb>})
                  ]
                  spids: [37686 37705]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<166>}
                  spids: [37879]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Banner_Installing>})]
                  spids: [37883 37902]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<167>}
                  spids: [37923]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'https://dtcooper.github.io/raspotify/key.asc'>)}
                          spids: [37954]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (command.Pipeline
                      children: [
                        (C {<wget>} {<-O>} {<->} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                        (C {<apt-key>} {<add>} {<->})
                      ]
                      negated: F
                      stderr_indices: []
                    )
                    (command.Simple
                      words: [
                        {<echo>}
                        {<-e>}
                        {(DQ <'deb https://dtcooper.github.io/raspotify jessie main'>)}
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/apt/sources.list.d/raspotify.list'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<G_AGUP>})
                    (C {<G_AGI>} {<raspotify>})
                  ]
                  spids: [37927 37946]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<168>}
                  spids: [38018]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                <'http://dietpi.com/downloads/binaries/moode/rel-stretch-r40b9.zip'>
                              )
                            }
                          spids: [38049]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.zip>})
                    (C {<unzip>} {<-o>} {<package.zip>})
                    (C {<G_AGI>} {<rpi-update>} {<mpc>} {<memcached>} 
                      {($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME) <-memcache>} {<bs2b-ladspa>} {<libbs2b0>} {<libasound2-plugin-equal>} {<telnet>} {<automake>} {<sysstat>} {<tcpdump>} 
                      {<shellinabox>} {<udisks-glue>} {<exfat-fuse>} {<inotify-tools>} {<libav-tools>}
                    )
                    (C {<G_AGI>} {<dnsmasq>} {<hostapd>})
                    (C {<G_AGI>} {<bluez>} {<bluez-firmware>} {<dh-autoreconf>} {<expect>} {<libortp-dev>} 
                      {<libbluetooth-dev>} {<libasound2-dev>} {<libusb-dev>} {<libglib2.0-dev>} {<libudev-dev>} {<libical-dev>} {<libreadline-dev>} 
                      {<libsbc1>} {<libsbc-dev>}
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Less
                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<G_AGI>} {<pi-bluetooth>})]
                          spids: [38190 38204]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<systemctl>} {<stop>} {<shellinabox>})
                    (C {<systemctl>} {<disable>} {<shellinabox>})
                    (C {<systemctl>} {<disable>} {<hostapd>})
                    (C {<systemctl>} {<disable>} {<dnsmasq>})
                    (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))})
                    (C {<git>} {<clone>} 
                      {<https> <Id.Lit_Colon ':'> <'//github.com/Arkq/bluez-alsa.git'>} {<--depth> <Id.Lit_Equals '='> <1>}
                    )
                    (C {<cd>} {<bluez-alsa>})
                    (C {<autoreconf>} {<--install>})
                    (C {<mkdir>} {<build>})
                    (C {<cd>} {<build>})
                    (C {<'../configure'>} {<--disable-hcitop>} 
                      {<--with-alsaplugindir> <Id.Lit_Equals '='> 
                        <'/usr/lib/arm-linux-gnueabihf/alsa-lib'>
                      }
                    )
                    (C {<make>} {<-j>} 
                      {
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: (C {<nproc>} {<--all>})
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (C {<make>} {<install>})
                    (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))})
                    (C {<rm>} {<-rf>} {<bluez-alsa>})
                    (C {<systemctl>} {<daemon-reload>})
                    (C {<systemctl>} {<disable>} {<bluetooth.service>})
                    (C {<systemctl>} {<disable>} {<bluealsa.service>})
                    (C {<systemctl>} {<disable>} {<hciuart.service>})
                    (C {<mkdir>} {<-p>} {<'/var/run/bluealsa'>})
                    (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))})
                    (C {<cp>} {<'./rel-stretch/other/wiringpi/wiringPi-'> <Id.Lit_Star '*'> <.tar.gz>} 
                      {<'./'>}
                    )
                    (C {<tar>} {<xfz>} {<'./wiringPi-'> <Id.Lit_Star '*'> <.tar.gz>})
                    (C {<cd>} {<wiringPi-96344ff>})
                    (C {<'./build'>})
                    (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))})
                    (C {<rm>} {<-rf>} {<'./wiringPi-'> <Id.Lit_Star '*'>})
                    (C {<cp>} {<'./rel-stretch/other/rotenc/rotenc.c'>} {<'./'>})
                    (C {<gcc>} {<-std> <Id.Lit_Equals '='> <c99>} {<rotenc.c>} {<-orotenc>} {<-lwiringPi>})
                    (C {<cp>} {<'./rotenc'>} {<'/usr/local/bin'>})
                    (C {<rm>} {<'./rotenc'> <Id.Lit_Star '*'>})
                  ]
                  spids: [38022 38041]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<169>}
                  spids: [38483]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'https://github.com/google/aiyprojects-raspbian.git'>)}
                          spids: [38514]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<git>} {<clone>} {<-b>} {<voicekit>} 
                      {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/voice-recognizer-raspi'>}
                    )
                    (C {<cd>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/voice-recognizer-raspi'>}
                    )
                    (C {<pip3>} {<install>} {<--upgrade>} {<pip>} {<virtualenv>})
                    (C {<virtualenv>} {<--system-site-packages>} {<-p>} {<python3>} {<env>})
                    (C {<'env/bin/pip'>} {<install>} {<-r>} {<requirements.txt>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 2>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<'env/bin/pip'>} {<install>} 
                              {<google-assistant-library> <Id.Lit_Equals '='> <Id.Lit_Equals '='> 
                                <0.0.3>
                              }
                            )
                          ]
                          spids: [38591 38605]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<sed>} {<-i>} 
                      {(DQ <'s#/home/pi#'> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'#g'>)} {<'systemd/voice-recognizer.service'>}
                    )
                    (C {<sed>} {<-i>} {(DQ <'/^User=/c'> <Id.Lit_BadBackslash '\\'> <'User=dietpi'>)} 
                      {<'systemd/voice-recognizer.service'>}
                    )
                    (C {<cp>} {<'systemd/voice-recognizer.service'>} {<'/etc/systemd/system/'>})
                    (C {<cp>} {<'systemd/alsa-init.service'>} {<'/etc/systemd/system/'>})
                    (C {<source>} {<'env/bin/activate'>})
                    (C {<cp>} {<'src/assistant_library_with_button_demo.py'>} {<'src/main.py'>})
                    (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))})
                  ]
                  spids: [38487 38506]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<G_ERROR_HANDLER_RESET>})
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Install_Linux_Software
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<5>}
                  spids: [38731]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (C {<G_AGI>} {<alsa-utils>})
                    (C {<local>} 
                      {<Id.Lit_VarLike 'soundcard='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<cat>} {<'/DietPi/dietpi.txt'>})
                                (C {<grep>} {<-m1>} {(SQ <'^CONFIG_SOUNDCARD='>)})
                                (C {<sed>} {(SQ <'s/.*=//'>)})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.AndOr
                                      ops: [Id.Op_DAmp Id.Op_DPipe]
                                      children: [
                                        (command.DParen
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_Less
                                              left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                              right: {<Id.Lit_Digits 10>}
                                            )
                                          redirects: []
                                        )
                                        (C {<Id.Lit_LBracket '['>} 
                                          {(DQ ($ Id.VSub_DollarName soundcard))} {<Id.Lit_Equals '='>} {(DQ <none>)} {<Id.Lit_RBracket ']'>}
                                        )
                                        (C {<Id.Lit_LBracket '['>} 
                                          {(DQ ($ Id.VSub_DollarName soundcard))} {<Id.Lit_Equals '='>} {(DQ <default>)} {<Id.Lit_RBracket ']'>}
                                        )
                                      ]
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'soundcard='>
                                      name: soundcard
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <rpi-bcm2835>)}
                                  spids: [38856]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [38805 38852]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<soundcard>} 
                      {(DQ ($ Id.VSub_DollarName soundcard))}
                    )
                  ]
                  spids: [38735 38754]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<6>}
                  spids: [38885]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (C {<G_AGI>} {<xcompmgr>} {<xterm>} {<xinit>} {<xauth>} {<xserver-xorg>} {<dbus-x11>} 
                      {<xfonts-base>} {<x11-xserver-utils>} {<x11-common>} {<x11-utils>} {<--no-install-recommends>}
                    )
                    (C {<mkdir>} {<-p>} {<'/etc/xdg/autostart'>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 38973
                              stdin_parts: [
                                <'[Desktop Entry]\n'>
                                <'Type=Application\n'>
                                <'Name=xcompmgr\n'>
                                <'NoDisplay=true\n'>
                                <'Exec=xcompmgr -a\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/xdg/autostart/xcompmgr.desktop'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Less
                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<sleep>} {<1>})]
                          spids: [38980 38994]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                          right: {<Id.Lit_Digits 12>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<G_AGI>} {<aml-libs-odroid>} {<mali450-odroid>} 
                              {<xf86-video-mali-odroid>} {<libump-odroid>} {<--no-install-recommends>}
                            )
                            (C {<G_AGI>} {<xf86-video-fbturbo-odroid>})
                            (command.Simple
                              words: [{<cat>}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DLess '<<'>
                                  loc: (redir_loc.Fd fd:0)
                                  arg: 
                                    (redir_param.HereDoc
                                      here_begin: {<_EOF_>}
                                      here_end_span_id: 39107
                                      stdin_parts: [
                                        <'Section '>
                                        <Id.Right_DoubleQuote '"'>
                                        <Device>
                                        <Id.Right_DoubleQuote '"'>
                                        <'\n'>
                                        <'        Identifier      '>
                                        <Id.Right_DoubleQuote '"'>
                                        <FBTurbo>
                                        <Id.Right_DoubleQuote '"'>
                                        <'\n'>
                                        <'        Driver          '>
                                        <Id.Right_DoubleQuote '"'>
                                        <fbturbo>
                                        <Id.Right_DoubleQuote '"'>
                                        <'\n'>
                                        <'        Option          '>
                                        <Id.Right_DoubleQuote '"'>
                                        <fbdev>
                                        <Id.Right_DoubleQuote '"'>
                                        <' '>
                                        <Id.Right_DoubleQuote '"'>
                                        <'/dev/fb0'>
                                        <Id.Right_DoubleQuote '"'>
                                        <'\n'>
                                        <'        Option          '>
                                        <Id.Right_DoubleQuote '"'>
                                        <SwapbuffersWait>
                                        <Id.Right_DoubleQuote '"'>
                                        <' '>
                                        <Id.Right_DoubleQuote '"'>
                                        <true>
                                        <Id.Right_DoubleQuote '"'>
                                        <'\n'>
                                        <'        #Option          '>
                                        <Id.Right_DoubleQuote '"'>
                                        <Rotate>
                                        <Id.Right_DoubleQuote '"'>
                                        <' '>
                                        <Id.Right_DoubleQuote '"'>
                                        <CCW>
                                        <Id.Right_DoubleQuote '"'>
                                        <'\n'>
                                        <'EndSection\n'>
                                      ]
                                    )
                                )
                                (redir
                                  op: <Id.Redir_Great '>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<'/etc/X11/xorg.conf'>}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                          ]
                          spids: [39008 39022]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                          right: {<Id.Lit_Digits 11>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<G_AGI>} {<firmware-samsung>} {<xf86-video-armsoc-odroid>} 
                              {<malit628-odroid>} {<--no-install-recommends>}
                            )
                            (C {<cp>} {<'/DietPi/dietpi/conf/xorg_xu4.conf'>} {<'/etc/X11/xorg.conf'>})
                          ]
                          spids: [39114 39128]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<G_AGI>} {<aml-libs-odroid>} {<xf86-video-mali-odroid>} {<libump-odroid>} 
                              {<mali450-odroid>} {<--no-install-recommends>}
                            )
                            (C {<cp>} {<'/DietPi/dietpi/conf/xorg_c1.conf'>} {<'/etc/X11/xorg.conf'>})
                          ]
                          spids: [39156 39170]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                          right: {<Id.Lit_Digits 40>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
'http://dietpi.com/downloads/binaries/all/libump_1-1_arm64.deb'
                                        >
                                      )
                                    }
                                  spids: [39218]
                                )
                              ]
                              redirects: []
                            )
                            (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                            (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} 
                              {<package.deb>}
                            )
                            (C {<dpkg>} {<-i>} {<package.deb>})
                            (C {<rm>} {<package.deb>})
                            (C {<wget>} 
                              {<http> <Id.Lit_Colon ':'> 
                                <
'//dietpi.com/downloads/binaries/all/xf86-video-fbturbo_1-1_arm64.deb'
                                >
                              } {<-O>} {<package.deb>}
                            )
                            (C {<dpkg>} {<-i>} {<package.deb>})
                            (C {<rm>} {<package.deb>})
                            (command.Simple
                              words: [{<cat>}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DLess '<<'>
                                  loc: (redir_loc.Fd fd:0)
                                  arg: 
                                    (redir_param.HereDoc
                                      here_begin: {<_EOF_>}
                                      here_end_span_id: 39325
                                      stdin_parts: [
                                        <'Section '>
                                        <Id.Right_DoubleQuote '"'>
                                        <Device>
                                        <Id.Right_DoubleQuote '"'>
                                        <'\n'>
                                        <'        Identifier      '>
                                        <Id.Right_DoubleQuote '"'>
                                        <'Allwinner A10/A13 FBDEV'>
                                        <Id.Right_DoubleQuote '"'>
                                        <'\n'>
                                        <'        Driver          '>
                                        <Id.Right_DoubleQuote '"'>
                                        <fbturbo>
                                        <Id.Right_DoubleQuote '"'>
                                        <'\n'>
                                        <'        Option          '>
                                        <Id.Right_DoubleQuote '"'>
                                        <fbdev>
                                        <Id.Right_DoubleQuote '"'>
                                        <' '>
                                        <Id.Right_DoubleQuote '"'>
                                        <'/dev/fb0'>
                                        <Id.Right_DoubleQuote '"'>
                                        <'\n'>
                                        <'        Option          '>
                                        <Id.Right_DoubleQuote '"'>
                                        <SwapbuffersWait>
                                        <Id.Right_DoubleQuote '"'>
                                        <' '>
                                        <Id.Right_DoubleQuote '"'>
                                        <true>
                                        <Id.Right_DoubleQuote '"'>
                                        <'\n'>
                                        <'EndSection\n'>
                                      ]
                                    )
                                )
                                (redir
                                  op: <Id.Redir_Great '>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<'/etc/X11/xorg.conf'>}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                          ]
                          spids: [39200 39214]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [38889 38908]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<151>}
                  spids: [39379]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (C {<G_AGI>} {<nvidia-driver>} {<nvidia-xconfig>})
                    (C {<G_AGI>} {<libgl1-nvidia-glx> <Id.Lit_Colon ':'> <i386>})
                  ]
                  spids: [39383 39402]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<152>}
                  spids: [39442]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<avahi-daemon>})]
                  spids: [39446 39465]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<16>}
                  spids: [39483]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (C {<G_AGI>} {<build-essential>} {<make>} {<autoconf>} {<automake>} 
                      {<--no-install-recommends>}
                    )
                  ]
                  spids: [39487 39506]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<170>}
                  spids: [39531]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (C {<G_AGI>} {<ntp>})
                    (C {<systemctl>} {<stop>} {<ntp>})
                    (C {<rm>} {<'/etc/init.d/ntp'>})
                    (C {<Reset_NTPD>})
                  ]
                  spids: [39535 39554]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<17>}
                  spids: [39592]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<git>} {<--no-install-recommends>})]
                  spids: [39596 39615]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<4>}
                  spids: [39634]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<vifm>})]
                  spids: [39638 39657]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<20>}
                  spids: [39674]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<vim>})]
                  spids: [39678 39697]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<21>}
                  spids: [39714]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<vim-tiny>})]
                  spids: [39718 39737]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<127>}
                  spids: [39754]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<neovim>})]
                  spids: [39758 39777]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<18>}
                  spids: [39794]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<emacs>})]
                  spids: [39798 39817]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<12>}
                  spids: [39834]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<iperf>})]
                  spids: [39838 39857]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<3>}
                  spids: [39874]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<mc>})]
                  spids: [39878 39897]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<19>}
                  spids: [39914]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<jed>})]
                  spids: [39918 39937]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<10>}
                  spids: [39954]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<iftop>})]
                  spids: [39958 39977]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<11>}
                  spids: [39994]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<iptraf>})]
                  spids: [39998 40017]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<13>}
                  spids: [40034]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<mtr-tiny>})]
                  spids: [40038 40057]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<14>}
                  spids: [40074]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<nload>})]
                  spids: [40078 40097]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<15>}
                  spids: [40114]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<tcpdump>})]
                  spids: [40118 40137]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [40154]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Banner_Installing>}) (C {<G_AGI>} {<openssh-client>})]
                  spids: [40158 40177]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [40194]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.Simple
                      words: [{<rm>} {<'/mnt/samba/readme.txt'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<G_AGI>} {<smbclient>} {<cifs-utils>} {<--no-install-recommends>})
                  ]
                  spids: [40198 40217]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<2>}
                  spids: [40253]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.Simple
                      words: [{<rm>} {<'/mnt/ftp_client/readme.txt'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<G_AGI>} {<curlftpfs>})
                  ]
                  spids: [40257 40276]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<110>}
                  spids: [40308]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.Simple
                      words: [{<rm>} {<'/mnt/nfs_client/readme.txt'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<G_AGI>} {<nfs-common>})
                  ]
                  spids: [40312 40331]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<104>}
                  spids: [40363]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (C {<G_AGI>} {<dropbear>})
                    (C {<sed>} {<-i>} {(SQ <'/NO_START=1/c\\NO_START=0'>)} {<'/etc/default/dropbear'>})
                  ]
                  spids: [40367 40386]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<105>}
                  spids: [40419]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (C {<G_AGI>} {<openssh-server>} {<--no-install-recommends>})
                    (C {<sed>} {<-i>} {(SQ <'/PermitRootLogin[[:space:]]/d'>)} {<'/etc/ssh/sshd_config'>})
                    (command.Simple
                      words: [
                        {<echo>}
                        {<-e>}
                        {
                          (DQ <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                            <'n#Allow root login over SSH'> <Id.Lit_BadBackslash '\\'> <'nPermitRootLogin yes'>
                          )
                        }
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_DGreat '>>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/ssh/sshd_config'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<rm>} {<'/etc/ssh/ssh_host_key'>})
                    (C {<rm>} {<'/etc/ssh/ssh_host_rsa_key'>})
                    (C {<rm>} {<'/etc/ssh/ssh_host_dsa_key'>})
                    (C {<ssh-keygen>} {<-f>} {<'/etc/ssh/ssh_host_key'>} {<-N>} {(SQ )} {<-t>} {<rsa1>})
                    (C {<ssh-keygen>} {<-f>} {<'/etc/ssh/ssh_host_rsa_key'>} {<-N>} {(SQ )} {<-t>} {<rsa>})
                    (C {<ssh-keygen>} {<-f>} {<'/etc/ssh/ssh_host_dsa_key'>} {<-N>} {(SQ )} {<-t>} {<dsa>})
                    (C {<chmod>} {<-R>} {<700>} {<'/etc/ssh/'>})
                    (C {<systemctl>} {<restart>} {<ssh>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 0>}
                            )
                          op: assign_op.Equal
                          rhs: {<2>}
                          spids: [40599]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [40423 40442]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<103>}
                  spids: [40612]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (C {<sed>} {<-i>} 
                      {
                        (SQ 
                          <
'/\\/var\\/log/c\\tmpfs                   \\/var\\/log                tmpfs   defaults,size=20m,noatime,nodev,nosuid,mode=1777  0 0'
                          >
                        )
                      } {<'/etc/fstab'>}
                    )
                  ]
                  spids: [40616 40635]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<101>}
                  spids: [40663]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (C {<G_AGI>} {<logrotate>} {<--no-install-recommends>})
                  ]
                  spids: [40667 40686]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<102>}
                  spids: [40705]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (C {<G_AGI>} {<rsyslog>} {<--no-install-recommends>})
                  ]
                  spids: [40709 40728]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<7>}
                  spids: [40747]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Less
                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {(SQ <'http://dietpi.com/downloads/binaries/rpi/ffmpeg_rpi.7z'>)}
                                  spids: [40800]
                                )
                              ]
                              redirects: []
                            )
                            (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                            (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} 
                              {<package.7z>}
                            )
                            (C {<7z>} {<x>} {<-y>} {<package.7z>} {<-offmpeg_rpi>})
                            (C {<dpkg>} {<-i>} {<'ffmpeg_rpi/'> <Id.Lit_Star '*'> <.deb>})
                            (C {<rm>} {<-R>} {<ffmpeg_rpi>})
                            (C {<rm>} {<package.7z>})
                          ]
                          spids: [40782 40796]
                        )
                      ]
                      else_action: [(C {<G_AGI>} {<ffmpeg>})]
                      redirects: []
                    )
                  ]
                  spids: [40751 40770]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<8>}
                  spids: [40881]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_DISTRO)}
                                          right: {<Id.Lit_Digits 3>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.Simple
                              words: [{<cat>}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DLess '<<'>
                                  loc: (redir_loc.Fd fd:0)
                                  arg: 
                                    (redir_param.HereDoc
                                      here_begin: {<_EOF_>}
                                      here_end_span_id: 40948
                                      stdin_parts: [
                                        <'Package: openjdk-8-jdk\n'>
                                        <'Pin: release a=jessie-backports\n'>
                                        <'Pin-Priority: 990\n'>
                                      ]
                                    )
                                )
                                (redir
                                  op: <Id.Redir_Great '>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<'/etc/apt/preferences.d/99-dietpi-openjdk-8-jdk'>}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                            (C {<G_AGI>} {<openjdk-8-jdk>} {<-t>} {<jessie-backports>})
                          ]
                          spids: [40916 40930]
                        )
                      ]
                      else_action: [(C {<G_AGI>} {<openjdk-8-jdk>})]
                      redirects: []
                    )
                  ]
                  spids: [40885 40904]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<9>}
                  spids: [40979]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                <
'http://raw.githubusercontent.com/taaem/nodejs-linux-installer/master/node-install.sh'
                                >
                              )
                            }
                          spids: [41014]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} 
                      {<node_install.sh>}
                    )
                    (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<node_install.sh>})
                    (C {<'./node_install.sh'>})
                    (C {<rm>} {<node_install.sh>})
                  ]
                  spids: [40983 41002]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<130>}
                  spids: [41065]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'https://bootstrap.pypa.io/get-pip.py'>)}
                          spids: [41096]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<G_AGI>} {<python>} {<python-dev>})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<install.py>})
                    (C {<python>} {<'./install.py'>})
                    (C {<rm>} {<install.py>})
                    (C {<G_AGI>} {<python-pip>} {<python3-pip>})
                  ]
                  spids: [41069 41088]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<140>}
                  spids: [41160]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                              name: INSTALL_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'http://dietpi.com/downloads/binaries/rpi/sdl2_rpi.7z'>)}
                          spids: [41191]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} {<package.7z>})
                    (C {<7z>} {<x>} {<-y>} {<package.7z>} {<-osdl2_rpi>})
                    (C {<rm>} {<package.7z>})
                    (C {<dpkg>} {<-i>} {<'sdl2_rpi/no_opengl_x11/'> <Id.Lit_Star '*'> <.deb>})
                    (C {<rm>} {<-R>} {<sdl2_rpi>})
                  ]
                  spids: [41164 41183]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<150>}
                  spids: [41263]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (C {<apt-key>} {<adv>} {<--keyserver>} 
                      {<hkp> <Id.Lit_Colon ':'> <'//keyserver.ubuntu.com'> <Id.Lit_Colon ':'> <80>} {<--recv-keys>} {<3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF>}
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.Simple
                              words: [
                                {<echo>}
                                {<-e>}
                                {
                                  (DQ <'deb http://download.mono-project.com/repo/debian raspbian'> 
                                    ($ Id.VSub_DollarName G_DISTRO_NAME) <' main'>
                                  )
                                }
                              ]
                              redirects: [
                                (redir
                                  op: <Id.Redir_Great '>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<'/etc/apt/sources.list.d/mono-xamarin.list'>}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                          ]
                          spids: [41316 41330]
                        )
                      ]
                      else_action: [
                        (command.Simple
                          words: [
                            {<echo>}
                            {<-e>}
                            {
                              (DQ <'deb http://download.mono-project.com/repo/debian '> 
                                ($ Id.VSub_DollarName G_DISTRO_NAME) <' main'>
                              )
                            }
                          ]
                          redirects: [
                            (redir
                              op: <Id.Redir_Great '>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {<'/etc/apt/sources.list.d/mono-xamarin.list'>}
                            )
                          ]
                          more_env: []
                          do_fork: T
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_AGUP>})
                    (C {<G_AGI>} {<mono-runtime>})
                  ]
                  spids: [41267 41286]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<157>}
                  spids: [41392]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Installing>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'HA_USER='> name:HA_USER)
                          op: assign_op.Equal
                          rhs: {(DQ <homeassistant>)}
                          spids: [41423]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'HA_USERROOT='>
                              name: HA_USERROOT
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <'/home/'> ($ Id.VSub_DollarName HA_USER))}
                          spids: [41429]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'HA_SRVROOT='> name:HA_SRVROOT)
                          op: assign_op.Equal
                          rhs: {(DQ <'/srv/homeassistant'>)}
                          spids: [41436]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'HA_PYENV_ACTIVATION='>
                              name: HA_PYENV_ACTIVATION
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ <'export PATH='> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) ($ Id.VSub_DollarName HA_USERROOT) <'/.pyenv/bin:'> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                ) <PATH> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'; eval '> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <'(pyenv init -)'> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <'; eval '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                ) <'(pyenv virtualenv-init -)'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"')
                              )
                            }
                          spids: [41442]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'HA_PYTHON_VERSION='>
                              name: HA_PYTHON_VERSION
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <3.6.3>)}
                          spids: [41464]
                        )
                      ]
                      redirects: []
                    )
                    (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'HA_USER: '> ($ Id.VSub_DollarName HA_USER))})
                    (C {<G_DIETPI-NOTIFY>} {<2>} 
                      {(DQ <'HA_USERROOT: '> ($ Id.VSub_DollarName HA_USERROOT))}
                    )
                    (C {<G_DIETPI-NOTIFY>} {<2>} 
                      {(DQ <'HA_SRVROOT: '> ($ Id.VSub_DollarName HA_SRVROOT))}
                    )
                    (C {<G_DIETPI-NOTIFY>} {<2>} 
                      {(DQ <'HA_PYENV_ACTIVATION: '> ($ Id.VSub_DollarName HA_PYENV_ACTIVATION))}
                    )
                    (C {<G_DIETPI-NOTIFY>} {<2>} 
                      {(DQ <'HA_PYTHON_VERSION: '> ($ Id.VSub_DollarName HA_PYTHON_VERSION))}
                    )
                    (C {<G_AGI>} {<libssl-dev>} {<git>} {<cmake>} {<libc-ares-dev>} {<uuid-dev>} {<daemon>} 
                      {<curl>} {<libgnutls28-dev>} {<libgnutlsxx28>} {<nmap>} {<net-tools>} {<sudo>} {<libglib2.0-dev>} {<libudev-dev>} 
                      {<swig>} {<libssl-dev>} {<libusb-1.0-0>} {<gcc>} {<libssl-dev>} {<libffi-dev>} {<libbz2-dev>} {<zlib1g-dev>} 
                      {<libreadline-dev>} {<libsqlite3-dev>} {<libncurses5-dev>} {<libncursesw5-dev>}
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Less
                                          left: {($ Id.VSub_DollarName G_DISTRO)}
                                          right: {<Id.Lit_Digits 4>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<G_AGI>} {<libmysqlclient-dev>})]
                          spids: [41581 41595]
                        )
                      ]
                      else_action: [(C {<G_AGI>} {<libmariadbclient-dev>})]
                      redirects: []
                    )
                    (C {<adduser>} {<--system>} {($ Id.VSub_DollarName HA_USER)})
                    (C {<addgroup>} {($ Id.VSub_DollarName HA_USER)})
                    (C {<usermod>} {<-G>} {<dialout>} {<-a>} {($ Id.VSub_DollarName HA_USER)})
                    (C {<usermod>} {<-G>} {<dietpi>} {<-a>} {($ Id.VSub_DollarName HA_USER)})
                    (C {<mkdir>} {($ Id.VSub_DollarName HA_SRVROOT)})
                    (C {<chown>} 
                      {($ Id.VSub_DollarName HA_USER) <Id.Lit_Colon ':'> 
                        ($ Id.VSub_DollarName HA_USER)
                      } {($ Id.VSub_DollarName HA_SRVROOT)}
                    )
                    (C {<su>} {<--shell>} {<'/bin/bash'>} {<--command>} 
                      {
                        (DQ <'cd '> ($ Id.VSub_DollarName HA_USERROOT) 
                          <
'; curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash'
                          >
                        )
                      } {($ Id.VSub_DollarName HA_USER)}
                    )
                    (C {<su>} {<--shell>} {<'/bin/bash'>} {<--command>} 
                      {
                        (DQ <'cd '> ($ Id.VSub_DollarName HA_USERROOT) <'; '> 
                          ($ Id.VSub_DollarName HA_PYENV_ACTIVATION) <'; pyenv install '> ($ Id.VSub_DollarName HA_PYTHON_VERSION)
                        )
                      } {($ Id.VSub_DollarName HA_USER)}
                    )
                    (C {<su>} {<--shell>} {<'/bin/bash'>} {<--command>} 
                      {
                        (DQ <'cd '> ($ Id.VSub_DollarName HA_SRVROOT) <'; '> 
                          ($ Id.VSub_DollarName HA_PYENV_ACTIVATION) <'; pyenv virtualenv '> ($ Id.VSub_DollarName HA_PYTHON_VERSION) <' homeassistant-'> 
                          ($ Id.VSub_DollarName HA_PYTHON_VERSION)
                        )
                      } {($ Id.VSub_DollarName HA_USER)}
                    )
                    (C {<su>} {<--shell>} {<'/bin/bash'>} {<--command>} 
                      {
                        (DQ <'cd '> ($ Id.VSub_DollarName HA_SRVROOT) <'; '> 
                          ($ Id.VSub_DollarName HA_PYENV_ACTIVATION) <'; pyenv local homeassistant-'> ($ Id.VSub_DollarName HA_PYTHON_VERSION)
                        )
                      } {($ Id.VSub_DollarName HA_USER)}
                    )
                    (C {<su>} {<--shell>} {<'/bin/bash'>} {<--command>} 
                      {
                        (DQ <'cd '> ($ Id.VSub_DollarName HA_SRVROOT) <'; '> 
                          ($ Id.VSub_DollarName HA_PYENV_ACTIVATION) <'; pyenv local'>
                        )
                      } {($ Id.VSub_DollarName HA_USER)}
                    )
                    (C {<su>} {<--shell>} {<'/bin/bash'>} {<--command>} 
                      {
                        (DQ <'cd '> ($ Id.VSub_DollarName HA_SRVROOT) <'; '> 
                          ($ Id.VSub_DollarName HA_PYENV_ACTIVATION) <'; pyenv activate homeassistant-'> ($ Id.VSub_DollarName HA_PYTHON_VERSION) 
                          <'; pip3 install colorlog PyMySQL mysqlclient'>
                        )
                      } {($ Id.VSub_DollarName HA_USER)}
                    )
                    (C {<su>} {<--shell>} {<'/bin/bash'>} {<--command>} 
                      {
                        (DQ <'cd '> ($ Id.VSub_DollarName HA_SRVROOT) <'; '> 
                          ($ Id.VSub_DollarName HA_PYENV_ACTIVATION) <'; pyenv activate homeassistant-'> ($ Id.VSub_DollarName HA_PYTHON_VERSION) 
                          <'; pip3 install --upgrade homeassistant'>
                        )
                      } {($ Id.VSub_DollarName HA_USER)}
                    )
                    (command.Simple
                      words: [{<echo>} {(SQ <'#!/bin/bash'>)}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {($ Id.VSub_DollarName HA_SRVROOT) <'/homeassistant-start.sh'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<echo>} {(DQ <'cd '> ($ Id.VSub_DollarName HA_SRVROOT))}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DGreat '>>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {($ Id.VSub_DollarName HA_SRVROOT) <'/homeassistant-start.sh'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<echo>} {(DQ ($ Id.VSub_DollarName HA_PYENV_ACTIVATION))}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DGreat '>>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {($ Id.VSub_DollarName HA_SRVROOT) <'/homeassistant-start.sh'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [
                        {<echo>}
                        {
                          (DQ <'pyenv activate homeassistant-'> 
                            ($ Id.VSub_DollarName HA_PYTHON_VERSION)
                          )
                        }
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_DGreat '>>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {($ Id.VSub_DollarName HA_SRVROOT) <'/homeassistant-start.sh'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [
                        {<echo>}
                        {
                          (DQ <'hass -c '> 
                            (word_part.EscapedLiteral
                              token: <Id.Lit_EscapedChar '\\"'>
                              ch: '"'
                            ) ($ Id.VSub_DollarName HA_USERROOT) <'/.homeassistant'> 
                            (word_part.EscapedLiteral
                              token: <Id.Lit_EscapedChar '\\"'>
                              ch: '"'
                            )
                          )
                        }
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_DGreat '>>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {($ Id.VSub_DollarName HA_SRVROOT) <'/homeassistant-start.sh'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<chmod>} {<Id.Lit_Other '+'> <x>} 
                      {<'/srv/homeassistant/homeassistant-start.sh'>}
                    )
                  ]
                  spids: [41396 41415]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<G_ERROR_HANDLER_RESET>})
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Uninstall_NonSelected_Choices
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<-f>} 
                              {(DQ ($ Id.VSub_DollarName UNINSTALL_FILE))} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.WhileUntil
                      keyword: <Id.KW_While while>
                      cond: (condition.Shell commands:[(C {<read>} {<-r>} {<line>})])
                      body: 
                        (command.DoGroup
                          children: [(C {<Uninstall_Software>} {(DQ ($ Id.VSub_DollarName line))})]
                        )
                      redirects: [
                        (redir
                          op: <Id.Redir_Less '<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: {($ Id.VSub_DollarName UNINSTALL_FILE)}
                        )
                      ]
                    )
                    (C {<rm>} {($ Id.VSub_DollarName UNINSTALL_FILE)})
                  ]
                  spids: [41954 41967]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Apply_SSHServer_Choices
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_NEqual
                                  left: {($ Id.VSub_DollarName INDEX_SSHSERVER_TARGET)}
                                  right: {($ Id.VSub_DollarName INDEX_SSHSERVER_CURRENT)}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName INDEX_SSHSERVER_TARGET)}
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.Simple
                              words: [{<echo>} {<-e>} {(DQ <104>)}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DGreat '>>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {(DQ ($ Id.VSub_DollarName UNINSTALL_FILE))}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                            (command.Simple
                              words: [{<echo>} {<-e>} {(DQ <105>)}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DGreat '>>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {(DQ ($ Id.VSub_DollarName UNINSTALL_FILE))}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                          ]
                          spids: [42053 42067]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName INDEX_SSHSERVER_TARGET)}
                                          right: 
                                            (arith_expr.Unary
                                              op_id: Id.Node_UnaryMinus
                                              child: {<Id.Lit_Digits 1>}
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                      name: aSOFTWARE_INSTALL_STATE
                                      index: {<Id.Lit_Digits 104>}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [42125]
                                )
                              ]
                              redirects: []
                            )
                            (command.Simple
                              words: [{<echo>} {<-e>} {(DQ <105>)}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DGreat '>>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {(DQ ($ Id.VSub_DollarName UNINSTALL_FILE))}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                          ]
                          spids: [42106 42121]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName INDEX_SSHSERVER_TARGET)}
                                          right: 
                                            (arith_expr.Unary
                                              op_id: Id.Node_UnaryMinus
                                              child: {<Id.Lit_Digits 2>}
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                      name: aSOFTWARE_INSTALL_STATE
                                      index: {<Id.Lit_Digits 105>}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [42172]
                                )
                              ]
                              redirects: []
                            )
                            (command.Simple
                              words: [{<echo>} {<-e>} {(DQ <104>)}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DGreat '>>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {(DQ ($ Id.VSub_DollarName UNINSTALL_FILE))}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                          ]
                          spids: [42153 42168]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<G_DIETPI-NOTIFY>} {<3>} {<DietPi-Software>} {(DQ <'Stopping SSH servers'>)})
                    (command.Simple
                      words: [{<service>} {<ssh>} {<stop>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<service>} {<dropbear>} {<stop>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INDEX_SSHSERVER_CURRENT='>
                              name: INDEX_SSHSERVER_CURRENT
                            )
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName INDEX_SSHSERVER_TARGET)}
                          spids: [42247]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [42031 42045]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Apply_FileServer_Choices
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_NEqual
                                  left: {($ Id.VSub_DollarName INDEX_FILESERVER_TARGET)}
                                  right: {($ Id.VSub_DollarName INDEX_FILESERVER_CURRENT)}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName INDEX_FILESERVER_TARGET)}
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.Simple
                              words: [{<echo>} {<-e>} {(DQ <96>)}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DGreat '>>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {(DQ ($ Id.VSub_DollarName UNINSTALL_FILE))}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                            (command.Simple
                              words: [{<echo>} {<-e>} {(DQ <94>)}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DGreat '>>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {(DQ ($ Id.VSub_DollarName UNINSTALL_FILE))}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                          ]
                          spids: [42297 42311]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName INDEX_FILESERVER_TARGET)}
                                          right: 
                                            (arith_expr.Unary
                                              op_id: Id.Node_UnaryMinus
                                              child: {<Id.Lit_Digits 1>}
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                      name: aSOFTWARE_INSTALL_STATE
                                      index: {<Id.Lit_Digits 94>}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [42372]
                                )
                              ]
                              redirects: []
                            )
                            (command.Simple
                              words: [{<echo>} {<-e>} {(DQ <96>)}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DGreat '>>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {(DQ ($ Id.VSub_DollarName UNINSTALL_FILE))}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                          ]
                          spids: [42353 42368]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName INDEX_FILESERVER_TARGET)}
                                          right: 
                                            (arith_expr.Unary
                                              op_id: Id.Node_UnaryMinus
                                              child: {<Id.Lit_Digits 2>}
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                      name: aSOFTWARE_INSTALL_STATE
                                      index: {<Id.Lit_Digits 96>}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [42419]
                                )
                              ]
                              redirects: []
                            )
                            (command.Simple
                              words: [{<echo>} {<-e>} {(DQ <94>)}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DGreat '>>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {(DQ ($ Id.VSub_DollarName UNINSTALL_FILE))}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                          ]
                          spids: [42400 42415]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INDEX_FILESERVER_CURRENT='>
                              name: INDEX_FILESERVER_CURRENT
                            )
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName INDEX_FILESERVER_TARGET)}
                          spids: [42451]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [42275 42289]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Apply_Logging_Choices
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_NEqual
                                  left: {($ Id.VSub_DollarName INDEX_LOGGING_TARGET)}
                                  right: {($ Id.VSub_DollarName INDEX_LOGGING_CURRENT)}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName INDEX_LOGGING_TARGET)}
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.Simple
                              words: [{<echo>} {<-e>} {(DQ <101>)}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DGreat '>>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {(DQ ($ Id.VSub_DollarName UNINSTALL_FILE))}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                            (command.Simple
                              words: [{<echo>} {<-e>} {(DQ <103>)}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DGreat '>>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {(DQ ($ Id.VSub_DollarName UNINSTALL_FILE))}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                            (command.Simple
                              words: [{<echo>} {<-e>} {(DQ <102>)}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DGreat '>>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {(DQ ($ Id.VSub_DollarName UNINSTALL_FILE))}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                          ]
                          spids: [42501 42515]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName INDEX_LOGGING_TARGET)}
                                          right: 
                                            (arith_expr.Unary
                                              op_id: Id.Node_UnaryMinus
                                              child: {<Id.Lit_Digits 1>}
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                      name: aSOFTWARE_INSTALL_STATE
                                      index: {<Id.Lit_Digits 103>}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [42588]
                                )
                              ]
                              redirects: []
                            )
                            (command.Simple
                              words: [{<echo>} {<-e>} {(DQ <101>)}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DGreat '>>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {(DQ ($ Id.VSub_DollarName UNINSTALL_FILE))}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                            (command.Simple
                              words: [{<echo>} {<-e>} {(DQ <102>)}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DGreat '>>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {(DQ ($ Id.VSub_DollarName UNINSTALL_FILE))}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                          ]
                          spids: [42569 42584]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName INDEX_LOGGING_TARGET)}
                                          right: 
                                            (arith_expr.Unary
                                              op_id: Id.Node_UnaryMinus
                                              child: {<Id.Lit_Digits 2>}
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                      name: aSOFTWARE_INSTALL_STATE
                                      index: {<Id.Lit_Digits 103>}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [42650]
                                )
                              ]
                              redirects: []
                            )
                            (command.Simple
                              words: [{<echo>} {<-e>} {(DQ <101>)}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DGreat '>>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {(DQ ($ Id.VSub_DollarName UNINSTALL_FILE))}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                            (command.Simple
                              words: [{<echo>} {<-e>} {(DQ <102>)}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DGreat '>>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {(DQ ($ Id.VSub_DollarName UNINSTALL_FILE))}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                          ]
                          spids: [42631 42646]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName INDEX_LOGGING_TARGET)}
                                          right: 
                                            (arith_expr.Unary
                                              op_id: Id.Node_UnaryMinus
                                              child: {<Id.Lit_Digits 3>}
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                      name: aSOFTWARE_INSTALL_STATE
                                      index: {<Id.Lit_Digits 101>}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [42712]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                      name: aSOFTWARE_INSTALL_STATE
                                      index: {<Id.Lit_Digits 102>}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [42720]
                                )
                              ]
                              redirects: []
                            )
                            (command.Simple
                              words: [{<echo>} {<-e>} {(DQ <103>)}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DGreat '>>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {(DQ ($ Id.VSub_DollarName UNINSTALL_FILE))}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                          ]
                          spids: [42693 42708]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INDEX_LOGGING_CURRENT='>
                              name: INDEX_LOGGING_CURRENT
                            )
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName INDEX_LOGGING_TARGET)}
                          spids: [42752]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [42479 42493]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Apply_Webserver_Preference
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_NEqual
                                  left: {($ Id.VSub_DollarName INDEX_WEBSERVER_TARGET)}
                                  right: {($ Id.VSub_DollarName INDEX_WEBSERVER_CURRENT)}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INDEX_WEBSERVER_CURRENT='>
                              name: INDEX_WEBSERVER_CURRENT
                            )
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName INDEX_WEBSERVER_TARGET)}
                          spids: [42794]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [42772 42786]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Install_Apply_Permissions
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<chown>} {<-R>} {<www-data> <Id.Lit_Colon ':'> <www-data>} {<'/var/www'>})
            (C {<chmod>} {<-R>} {<775>} {<'/var/www'>})
            (C {<chmod>} {<-R>} {<777>} {<'/var/www/ompd/tmp'>})
            (C {<chmod>} {<-R>} {<777>} {<'/var/www/ompd/stream'>})
            (C {<chmod>} {<-R>} {<777>} {<'/var/www/ompd/cache'>})
            (C {<chown>} {<-R>} {<dietpi> <Id.Lit_Colon ':'> <dietpi>} {<'/home/dietpi'>})
            (C {<chown>} {<-R>} {<dietpi> <Id.Lit_Colon ':'> <dietpi>} 
              {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA))}
            )
            (C {<chmod>} {<-R>} {<775>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA))})
            (C {<chown>} {<-R>} {<dietpi> <Id.Lit_Colon ':'> <dietpi>} 
              {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/'> <Id.Lit_Star '*'>}
            )
            (C {<chmod>} {<-R>} {<775>} 
              {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/'> <Id.Lit_Star '*'>}
            )
            (C {<chown>} {<-R>} {<mpd> <Id.Lit_Colon ':'> <audio>} 
              {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/.mpd_cache'>}
            )
            (C {<chown>} {<-R>} {<mysql> <Id.Lit_Colon ':'> <mysql>} 
              {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mysql'>}
            )
            (C {<chmod>} {<-R>} {<770>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mysql'>})
            (C {<chown>} {<-R>} {<mineos> <Id.Lit_Colon ':'> <mineos>} 
              {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mineos/serverdata'>}
            )
            (C {<chown>} {<-R>} {<urbackup> <Id.Lit_Colon ':'> <urbackup>} 
              {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/urbackup'>}
            )
            (C {<chown>} {<-R>} {<www-data> <Id.Lit_Colon ':'> <www-data>} 
              {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/dietpicam'>}
            )
            (C {<chown>} {<-R>} {<www-data> <Id.Lit_Colon ':'> <www-data>} 
              {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/pydio_data'>}
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'datadir='> 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: 
                    (command.Pipeline
                      children: [
                        (C {<cat>} {<'/DietPi/dietpi.txt'>})
                        (C {<grep>} {<-m1>} {(SQ <'^SOFTWARE_OWNCLOUD_DATADIR='>)})
                        (C {<sed>} {(SQ <'s/.*=//'>)})
                      ]
                      negated: F
                      stderr_indices: []
                    )
                  right: <Id.Eof_RParen _>
                )
              }
            )
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-n>} {(DQ ($ Id.VSub_DollarName datadir))} 
                  {<Id.Lit_RBracket ']'>}
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'datadir='> name:datadir)
                      op: assign_op.Equal
                      rhs: {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/owncloud_data'>)}
                      spids: [43124]
                    )
                  ]
                  redirects: []
                )
              ]
            )
            (C {<chown>} {<-R>} {<www-data> <Id.Lit_Colon ':'> <www-data>} 
              {(DQ ($ Id.VSub_DollarName datadir))}
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'datadir='> name:datadir)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<cat>} {<'/DietPi/dietpi.txt'>})
                              (C {<grep>} {<-m1>} {(SQ <'^SOFTWARE_NEXTCLOUD_DATADIR='>)})
                              (C {<sed>} {(SQ <'s/.*=//'>)})
                            ]
                            negated: F
                            stderr_indices: []
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [43145]
                )
              ]
              redirects: []
            )
            (command.AndOr
              ops: [Id.Op_DAmp]
              children: [
                (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-n>} {(DQ ($ Id.VSub_DollarName datadir))} 
                  {<Id.Lit_RBracket ']'>}
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'datadir='> name:datadir)
                      op: assign_op.Equal
                      rhs: {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/nextcloud_data'>)}
                      spids: [43185]
                    )
                  ]
                  redirects: []
                )
              ]
            )
            (C {<chown>} {<-R>} {<www-data> <Id.Lit_Colon ':'> <www-data>} 
              {(DQ ($ Id.VSub_DollarName datadir))}
            )
            (C {<chown>} {<-R>} {<minio-user> <Id.Lit_Colon ':'> <minio-user>} 
              {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/minio-data'>}
            )
            (C {<chown>} {<-R>} {<bd> <Id.Lit_Colon ':'> <bd>} 
              {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/fuguhub-data/'>}
            )
            (C {<chown>} {<-R>} {<nodered> <Id.Lit_Colon ':'> <nodered>} 
              {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/node-red'>}
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Install_Apply_Configs
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<23>}
                  spids: [43448]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (command.Simple
                      words: [{<rm>} {<'/usr/share/applications/lxrandr.desktop'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/pcmanfm/LXDE'>})
                    (C {<wget>} 
                      {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/pcmanfm.conf'>} {<-O>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/pcmanfm/LXDE/pcmanfm.conf'>}
                    )
                    (C {<wget>} 
                      {<http> <Id.Lit_Colon ':'> 
                        <'//dietpi.com/downloads/conf/desktop/pcmanfm-desktopitems.conf'>
                      } {<-O>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/pcmanfm/LXDE/desktop-items-0.conf'>}
                    )
                    (C {<sed>} {<-i>} {(SQ <'/use_trash=/c\\use_trash=0'>)} 
                      {<'/etc/xdg/libfm/libfm.conf'>}
                    )
                    (C {<mkdir>} {<-p>} 
                      {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/lxpanel/LXDE/panels'>}
                    )
                    (C {<wget>} 
                      {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/panel'>} {<-O>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/lxpanel/LXDE/panels/panel'>}
                    )
                    (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/openbox'>})
                    (C {<wget>} 
                      {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/lxde-rc.xml'>} {<-O>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/openbox/lxde-rc.xml'>}
                    )
                    (C {<ln>} {<-sf>} {<'/usr/share/applications/pcmanfm.desktop'>} 
                      {(DQ ($ Id.VSub_DollarName HOME)) <'/Desktop/pcmanfm.desktop'>}
                    )
                    (C {<Create_Desktop_Shared_Items>})
                  ]
                  spids: [43452 43471]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<24>}
                  spids: [43639]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<ln>} {<-sf>} {<'/usr/share/applications/caja.desktop'>} 
                      {(DQ ($ Id.VSub_DollarName HOME)) <'/Desktop/caja.desktop'>}
                    )
                    (C {<Create_Desktop_Shared_Items>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DAmp
                                          left: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                              right: {<Id.Lit_Digits 12>}
                                            )
                                          right: 
                                            (arith_expr.Unary
                                              op_id: Id.Arith_Bang
                                              child: 
                                                {
                                                  (command_sub
                                                    left_token: <Id.Left_DollarParen '$('>
                                                    child: 
                                                      (command.Pipeline
                                                        children: [
                                                          (C {<cat>} {<'/etc/pulse/default.pa'>})
                                                          (C {<grep>} {<-ci>} {<-m1>} 
                                                            {
                                                              (SQ 
                                                                <
'^set-default-sink alsa_output.platform-odroid_hdmi.37.analog-stereo'
                                                                >
                                                              )
                                                            }
                                                          )
                                                        ]
                                                        negated: F
                                                        stderr_indices: []
                                                      )
                                                    right: <Id.Eof_RParen _>
                                                  )
                                                }
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.Simple
                              words: [
                                {<echo>}
                                {<-e>}
                                {
                                  (DQ 
                                    <
'set-default-sink alsa_output.platform-odroid_hdmi.37.analog-stereo'
                                    >
                                  )
                                }
                              ]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DGreat '>>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<'/etc/pulse/default.pa'>}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                          ]
                          spids: [43695 43732]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [43643 43662]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<26>}
                  spids: [43762]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Banner_Configuration>}) (C {<Create_Desktop_Shared_Items>})]
                  spids: [43766 43785]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<25>}
                  spids: [43805]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Banner_Configuration>}) (C {<Create_Desktop_Shared_Items>})]
                  spids: [43809 43828]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<83>}
                  spids: [43848]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<mkdir>} {<-p>} {<'/var/www'>})
                    (C {<cp>} {<'/DietPi/dietpi/conf/apache2_jessie.conf'>} 
                      {<'/etc/apache2/apache2.conf'>}
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 43928
                              stdin_parts: [
                                <'<VirtualHost *:80>\n'>
                                <'ServerAdmin webmaster@localhost\n'>
                                <'DocumentRoot /var/www\n'>
                                <'\n'>
                                <'ErrorLog '>
                                (${ Id.VSub_Name APACHE_LOG_DIR)
                                <'/error.log\n'>
                                <'CustomLog '>
                                (${ Id.VSub_Name APACHE_LOG_DIR)
                                <'/access.log combined\n'>
                                <'</VirtualHost>\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/apache2/sites-available/000-default.conf'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 43953
                              stdin_parts: [
                                <'<IfModule mpm_event_module>\n'>
                                <'StartServers\t\t '>
                                ($ Id.VSub_DollarName G_HW_CPU_CORES)
                                <'\n'>
                                <'MinSpareThreads\t\t 1\n'>
                                <'MaxSpareThreads\t\t 8\n'>
                                <'ThreadLimit\t\t \t16\n'>
                                <'ThreadsPerChild\t\t 4\n'>
                                <'MaxRequestWorkers\t 50\n'>
                                <'MaxConnectionsPerChild   0\n'>
                                <'</IfModule>\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/apache2/mods-available/mpm_event.conf'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 43978
                              stdin_parts: [
                                <'<IfModule mpm_prefork_module>\n'>
                                <'StartServers\t\t '>
                                ($ Id.VSub_DollarName G_HW_CPU_CORES)
                                <'\n'>
                                <'MinSpareServers\t\t 1\n'>
                                <'MaxSpareServers\t\t '>
                                ($ Id.VSub_DollarName G_HW_CPU_CORES)
                                <'\n'>
                                <'MaxRequestWorkers\t 50\n'>
                                <'MaxConnectionsPerChild   0\n'>
                                <'</IfModule>\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/apache2/mods-available/mpm_prefork.conf'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 44003
                              stdin_parts: [
                                <'<IfModule mpm_worker_module>\n'>
                                <'StartServers\t\t '>
                                ($ Id.VSub_DollarName G_HW_CPU_CORES)
                                <'\n'>
                                <'MinSpareThreads\t\t 1\n'>
                                <'MaxSpareThreads\t\t 8\n'>
                                <'ThreadLimit\t\t \t16\n'>
                                <'ThreadsPerChild\t\t 4\n'>
                                <'MaxRequestWorkers\t 50\n'>
                                <'MaxConnectionsPerChild   0\n'>
                                <'</IfModule>\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/apache2/mods-available/mpm_worker.conf'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<mv>} {<'/var/www/html/index.html'>} {<'/var/www/index.html'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<rm>} {<-R>} {<'/var/www/html'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<sed>} {<-i>} 
                      {(DQ <'/CustomLog /c'> <Id.Lit_BadBackslash '\\'> <'        #CustomLog '>) 
                        (SQ <'${APACHE_LOG_DIR}'>) (DQ <'/access.log combined'>)
                      } {<'/etc/apache2/sites-available/'> <Id.Lit_Star '*'>}
                    )
                    (C {<sed>} {<-i>} 
                      {(DQ <'/LogLevel /c'> <Id.Lit_BadBackslash '\\'> <'        LogLevel error'>)} {<'/etc/apache2/sites-available/'> <Id.Lit_Star '*'>}
                    )
                  ]
                  spids: [43852 43871]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<85>}
                  spids: [44080]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<mkdir>} {<-p>} {<'/var/www'>})
                    (C {<mkdir>} {<'/etc/nginx/sites-dietpi'>})
                    (C {<cp>} {<'/DietPi/dietpi/conf/nginx.conf'>} {<'/etc/nginx/nginx.conf'>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: {($ Id.VSub_DollarName G_DISTRO)}
                                          right: {<Id.Lit_Digits 4>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<sed>} {<-i>} {(DQ <'s#/run/php5-fpm.sock#/run/php/php7.0-fpm.sock#g'>)} 
                              {<'/etc/nginx/nginx.conf'>}
                            )
                          ]
                          spids: [44144 44158]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/worker_processes/c'> <Id.Lit_BadBackslash '\\'> <'worker_processes '> 
                          ($ Id.VSub_DollarName G_HW_CPU_CORES) <';'>
                        )
                      } {<'/etc/nginx/nginx.conf'>}
                    )
                    (C {<cp>} {<'/DietPi/dietpi/conf/nginx.site-available-default'>} 
                      {<'/etc/nginx/sites-available/default'>}
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: {($ Id.VSub_DollarName G_DISTRO)}
                                          right: {<Id.Lit_Digits 4>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<sed>} {<-i>} {(DQ <'s#/run/php5-fpm.sock#/run/php/php7.0-fpm.sock#g'>)} 
                              {<'/etc/nginx/sites-available/default'>}
                            )
                          ]
                          spids: [44211 44225]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<cp>} {<'/usr/share/nginx/html/index.html'>} {<'/var/www/index.html'>})
                  ]
                  spids: [44084 44103]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<84>}
                  spids: [44263]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<mkdir>} {<-p>} {<'/var/www'>})
                    (C {<sed>} {<-i>} 
                      {(SQ <'/^server.document-root/c\\server.document-root        = "/var/www"'>)} {<'/etc/lighttpd/lighttpd.conf'>}
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'fp_php_fpm_sock='> (SQ <'/var/run/php/php7.0-fpm.sock'>)}
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_DISTRO)}
                                          right: {<Id.Lit_Digits 3>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'fp_php_fpm_sock='>
                                      name: fp_php_fpm_sock
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <'/var/run/php5-fpm.sock'>)}
                                  spids: [44352]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [44334 44348]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 44405
                              stdin_parts: [
                                <'# -*- depends: fastcgi -*-\n'>
                                <'# /usr/share/doc/lighttpd/fastcgi.txt.gz\n'>
                                <
'# http://redmine.lighttpd.net/projects/lighttpd/wiki/Docs:ConfigurationOptions#mod_fastcgi-fastcgi\n'
                                >
                                <'\n'>
                                <'## Start an FastCGI server using php-fpm\n'>
                                <'fastcgi.server += ( '>
                                <Id.Right_DoubleQuote '"'>
                                <.php>
                                <Id.Right_DoubleQuote '"'>
                                <' =>\n'>
                                <'        ((\n'>
                                <'                '>
                                <Id.Right_DoubleQuote '"'>
                                <socket>
                                <Id.Right_DoubleQuote '"'>
                                <' => '>
                                <Id.Right_DoubleQuote '"'>
                                ($ Id.VSub_DollarName fp_php_fpm_sock)
                                <Id.Right_DoubleQuote '"'>
                                <',\n'>
                                <'                '>
                                <Id.Right_DoubleQuote '"'>
                                <broken-scriptfilename>
                                <Id.Right_DoubleQuote '"'>
                                <' => '>
                                <Id.Right_DoubleQuote '"'>
                                <enable>
                                <Id.Right_DoubleQuote '"'>
                                <'\n'>
                                <'        ))\n'>
                                <')\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/lighttpd/conf-available/15-fastcgi-php.conf'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<lighttpd-enable-mod>} {<fastcgi>})
                    (C {<lighttpd-enable-mod>} {<fastcgi-php>})
                    (C {<mv>} {<'/var/www/html/index.lighttpd.html'>} {<'/var/www/'>})
                    (C {<service>} {<lighttpd>} {<force-reload>})
                  ]
                  spids: [44267 44286]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<89>}
                  spids: [44451]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 83>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<local>} 
                              {<Id.Lit_VarLike 'php_service='> 
                                (SQ <'/lib/systemd/system/apache2.service'>)
                              }
                            )
                          ]
                          spids: [44486 44505]
                        )
                      ]
                      else_action: [
                        (C {<local>} 
                          {<Id.Lit_VarLike 'php_service='> 
                            (SQ <'/lib/systemd/system/php*-fpm.service'>)
                          }
                        )
                        (C {<sed>} {<-i>} {(SQ <'/cgi.fix_pathinfo=/c\\cgi.fix_pathinfo=1'>)} 
                          {(DQ ($ Id.VSub_DollarName FP_PHP_BASE_DIR)) <'/fpm/php.ini'>}
                        )
                        (C {<sed>} {<-i>} 
                          {
                            (DQ <'/pm.max_children = /c'> <Id.Lit_BadBackslash '\\'> 
                              <'pm.max_children = '> 
                              (word_part.ArithSub
                                anode: 
                                  (arith_expr.Binary
                                    op_id: Id.Arith_Star
                                    left: {($ Id.VSub_DollarName G_HW_CPU_CORES)}
                                    right: {<Id.Lit_Digits 3>}
                                  )
                              )
                            )
                          } {(DQ ($ Id.VSub_DollarName FP_PHP_BASE_DIR)) <'/fpm/pool.d/www.conf'>}
                        )
                        (C {<sed>} {<-i>} 
                          {
                            (DQ <'/pm.start_servers = /c'> <Id.Lit_BadBackslash '\\'> 
                              <'pm.start_servers = '> ($ Id.VSub_DollarName G_HW_CPU_CORES)
                            )
                          } {(DQ ($ Id.VSub_DollarName FP_PHP_BASE_DIR)) <'/fpm/pool.d/www.conf'>}
                        )
                        (C {<sed>} {<-i>} 
                          {
                            (DQ <'/pm.min_spare_servers = /c'> <Id.Lit_BadBackslash '\\'> 
                              <'pm.min_spare_servers = '> ($ Id.VSub_DollarName G_HW_CPU_CORES)
                            )
                          } {(DQ ($ Id.VSub_DollarName FP_PHP_BASE_DIR)) <'/fpm/pool.d/www.conf'>}
                        )
                        (C {<sed>} {<-i>} 
                          {
                            (DQ <'/pm.max_spare_servers = /c'> <Id.Lit_BadBackslash '\\'> 
                              <'pm.max_spare_servers = '> ($ Id.VSub_DollarName G_HW_CPU_CORES)
                            )
                          } {(DQ ($ Id.VSub_DollarName FP_PHP_BASE_DIR)) <'/fpm/pool.d/www.conf'>}
                        )
                        (C {<sed>} {<-i>} 
                          {
                            (DQ <'/env'> <Id.Lit_BadBackslash '\\'> <'[HOSTNAME'> 
                              <Id.Lit_BadBackslash '\\'> <']/c'> <Id.Lit_BadBackslash '\\'> <env> <Id.Lit_BadBackslash '\\'> <'[HOSTNAME'> 
                              <Id.Lit_BadBackslash '\\'> <'] = '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') <HOSTNAME>
                            )
                          } {(DQ ($ Id.VSub_DollarName FP_PHP_BASE_DIR)) <'/fpm/pool.d/www.conf'>}
                        )
                        (C {<sed>} {<-i>} 
                          {
                            (DQ <'/env'> <Id.Lit_BadBackslash '\\'> <'[PATH'> <Id.Lit_BadBackslash '\\'> 
                              <']/c'> <Id.Lit_BadBackslash '\\'> <env> <Id.Lit_BadBackslash '\\'> <'[PATH'> <Id.Lit_BadBackslash '\\'> 
                              <'] = /usr/local/bin:/usr/bin:/bin'>
                            )
                          } {(DQ ($ Id.VSub_DollarName FP_PHP_BASE_DIR)) <'/fpm/pool.d/www.conf'>}
                        )
                        (C {<sed>} {<-i>} 
                          {
                            (DQ <'/env'> <Id.Lit_BadBackslash '\\'> <'[TMP'> <Id.Lit_BadBackslash '\\'> 
                              <']/c'> <Id.Lit_BadBackslash '\\'> <env> <Id.Lit_BadBackslash '\\'> <'[TMP'> <Id.Lit_BadBackslash '\\'> 
                              <'] = /var/tmp'>
                            )
                          } {(DQ ($ Id.VSub_DollarName FP_PHP_BASE_DIR)) <'/fpm/pool.d/www.conf'>}
                        )
                        (C {<sed>} {<-i>} 
                          {
                            (DQ <'/env'> <Id.Lit_BadBackslash '\\'> <'[TMPDIR'> 
                              <Id.Lit_BadBackslash '\\'> <']/c'> <Id.Lit_BadBackslash '\\'> <env> <Id.Lit_BadBackslash '\\'> <'[TMPDIR'> <Id.Lit_BadBackslash '\\'> 
                              <'] = /var/tmp'>
                            )
                          } {(DQ ($ Id.VSub_DollarName FP_PHP_BASE_DIR)) <'/fpm/pool.d/www.conf'>}
                        )
                        (C {<sed>} {<-i>} 
                          {
                            (DQ <'/env'> <Id.Lit_BadBackslash '\\'> <'[TEMP'> <Id.Lit_BadBackslash '\\'> 
                              <']/c'> <Id.Lit_BadBackslash '\\'> <env> <Id.Lit_BadBackslash '\\'> <'[TEMP'> <Id.Lit_BadBackslash '\\'> 
                              <'] = /var/tmp'>
                            )
                          } {(DQ ($ Id.VSub_DollarName FP_PHP_BASE_DIR)) <'/fpm/pool.d/www.conf'>}
                        )
                      ]
                      redirects: []
                    )
                    (C {<local>} {<Id.Lit_VarLike 'target_php_ini='> <0>})
                    (C {<local>} 
                      {<Id.Lit_VarLike 'target_php_cachesize='> 
                        (word_part.ArithSub
                          anode: 
                            (arith_expr.Binary
                              op_id: Id.Arith_Slash
                              left: {($ Id.VSub_DollarName RAM_TOTAL)}
                              right: {<Id.Lit_Digits 30>}
                            )
                        )
                      }
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Less
                                          left: {($ Id.VSub_DollarName target_php_cachesize)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'target_php_cachesize='>
                                      name: target_php_cachesize
                                    )
                                  op: assign_op.Equal
                                  rhs: {<10>}
                                  spids: [44819]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [44801 44815]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 83>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'target_php_ini='>
                                      name: target_php_ini
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {(DQ ($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/apache2/php.ini'>)}
                                  spids: [44855]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [44832 44851]
                        )
                      ]
                      else_action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'target_php_ini='>
                                  name: target_php_ini
                                )
                              op: assign_op.Equal
                              rhs: {(DQ ($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/fpm/php.ini'>)}
                              spids: [44867]
                            )
                          ]
                          redirects: []
                        )
                      ]
                      redirects: []
                    )
                    (C {<sed>} {<-i>} 
                      {(DQ <'/opcache.enable=/c'> <Id.Lit_BadBackslash '\\'> <'opcache.enable=1'>)} {($ Id.VSub_DollarName target_php_ini)}
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/opcache.memory_consumption=/c'> <Id.Lit_BadBackslash '\\'> 
                          <'opcache.memory_consumption='> ($ Id.VSub_DollarName target_php_cachesize)
                        )
                      } {($ Id.VSub_DollarName target_php_ini)}
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/opcache.revalidate_freq=/c'> <Id.Lit_BadBackslash '\\'> 
                          <'opcache.revalidate_freq=60'>
                        )
                      } {($ Id.VSub_DollarName target_php_ini)}
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'target_php_ini='>
                              name: target_php_ini
                            )
                          op: assign_op.Equal
                          rhs: 
                            {(DQ ($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/apcu.ini'>)}
                          spids: [44924]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'target_php_cachesize+='>
                              name: target_php_cachesize
                            )
                          op: assign_op.PlusEqual
                          rhs: {(DQ <M>)}
                          spids: [44935]
                        )
                      ]
                      redirects: []
                    )
                    (C {<local>} {<Id.Lit_VarLike 'target_apc_ttl='> (SQ <259200>)})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 44974
                              stdin_parts: [
                                <'extension=apcu.so\n'>
                                <'apc.shm_size='>
                                ($ Id.VSub_DollarName target_php_cachesize)
                                <'\n'>
                                <'apc.ttl='>
                                ($ Id.VSub_DollarName target_apc_ttl)
                                <'\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {(DQ ($ Id.VSub_DollarName target_php_ini))}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'dietpi_php_ini='> 
                        (DQ ($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/dietpi.ini'>)
                      }
                    )
                    (C {<touch>} {($ Id.VSub_DollarName dietpi_php_ini)})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.Simple
                                      words: [
                                        {<grep>}
                                        {<-q>}
                                        {(SQ <'^\\s*PrivateTmp=true'>)}
                                        {($ Id.VSub_DollarName php_service)}
                                      ]
                                      redirects: [
                                        (redir
                                          op: <Id.Redir_AndGreat '&>'>
                                          loc: (redir_loc.Fd fd:1)
                                          arg: {<'/dev/null'>}
                                        )
                                      ]
                                      more_env: []
                                      do_fork: T
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<local>} {<Id.Lit_VarLike 'tmp_upload_dir='> (DQ <'/var/tmp'>)})]
                          spids: [45005 45022]
                        )
                      ]
                      else_action: [
                        (C {<local>} 
                          {<Id.Lit_VarLike 'tmp_upload_dir='> (DQ <'/var/tmp/php_upload_tmp'>)}
                        )
                        (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName tmp_upload_dir))})
                        (C {<chown>} {<-R>} {<www-data> <Id.Lit_Colon ':'> <www-data>} 
                          {(DQ ($ Id.VSub_DollarName tmp_upload_dir))}
                        )
                      ]
                      redirects: []
                    )
                    (command.AndOr
                      ops: [Id.Op_DAmp Id.Op_DPipe]
                      children: [
                        (C {<grep>} {<-q>} {(SQ <upload_tmp_dir>)} 
                          {($ Id.VSub_DollarName dietpi_php_ini)}
                        )
                        (C {<sed>} {<-i>} 
                          {
                            (DQ <'/upload_tmp_dir/c'> <Id.Lit_BadBackslash '\\'> <'upload_tmp_dir = '> 
                              ($ Id.VSub_DollarName tmp_upload_dir)
                            )
                          } {($ Id.VSub_DollarName dietpi_php_ini)}
                        )
                        (command.Simple
                          words: [
                            {<echo>}
                            {(DQ <'upload_tmp_dir = '> ($ Id.VSub_DollarName tmp_upload_dir))}
                          ]
                          redirects: [
                            (redir
                              op: <Id.Redir_DGreat '>>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {($ Id.VSub_DollarName dietpi_php_ini)}
                            )
                          ]
                          more_env: []
                          do_fork: T
                        )
                      ]
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'php_max_upload_size='> 
                        (DQ 
                          (word_part.ArithSub
                            anode: 
                              (arith_expr.Binary
                                op_id: Id.Arith_Slash
                                left: 
                                  (arith_expr.Binary
                                    op_id: Id.Arith_Slash
                                    left: 
                                      {
                                        (command_sub
                                          left_token: <Id.Left_DollarParen '$('>
                                          child: (C {<php>} {<-r>} {(SQ <'print(PHP_INT_MAX);'>)})
                                          right: <Id.Eof_RParen _>
                                        )
                                      }
                                    right: {<Id.Lit_Digits 1024>}
                                  )
                                right: {<Id.Lit_Digits 1024>}
                              )
                          ) <M>
                        )
                      }
                    )
                    (command.AndOr
                      ops: [Id.Op_DAmp Id.Op_DPipe]
                      children: [
                        (C {<grep>} {<-q>} {(SQ <upload_max_filesize>)} 
                          {($ Id.VSub_DollarName dietpi_php_ini)}
                        )
                        (C {<sed>} {<-i>} 
                          {
                            (DQ <'/upload_max_filesize/c'> <Id.Lit_BadBackslash '\\'> 
                              <'upload_max_filesize = '> ($ Id.VSub_DollarName php_max_upload_size)
                            )
                          } {($ Id.VSub_DollarName dietpi_php_ini)}
                        )
                        (command.Simple
                          words: [
                            {<echo>}
                            {
                              (DQ <'upload_max_filesize = '> 
                                ($ Id.VSub_DollarName php_max_upload_size)
                              )
                            }
                          ]
                          redirects: [
                            (redir
                              op: <Id.Redir_DGreat '>>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {($ Id.VSub_DollarName dietpi_php_ini)}
                            )
                          ]
                          more_env: []
                          do_fork: T
                        )
                      ]
                    )
                    (command.AndOr
                      ops: [Id.Op_DAmp Id.Op_DPipe]
                      children: [
                        (C {<grep>} {<-q>} {(SQ <post_max_size>)} {($ Id.VSub_DollarName dietpi_php_ini)})
                        (C {<sed>} {<-i>} 
                          {
                            (DQ <'/post_max_size/c'> <Id.Lit_BadBackslash '\\'> <'post_max_size = '> 
                              ($ Id.VSub_DollarName php_max_upload_size)
                            )
                          } {($ Id.VSub_DollarName dietpi_php_ini)}
                        )
                        (command.Simple
                          words: [
                            {<echo>}
                            {(DQ <'post_max_size = '> ($ Id.VSub_DollarName php_max_upload_size))}
                          ]
                          redirects: [
                            (redir
                              op: <Id.Redir_DGreat '>>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {($ Id.VSub_DollarName dietpi_php_ini)}
                            )
                          ]
                          more_env: []
                          do_fork: T
                        )
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 85>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<sed>} {<-i>} 
                              {
                                (DQ <'/client_max_body_size/c'> <Id.Lit_BadBackslash '\\'> 
                                  <'    client_max_body_size '> ($ Id.VSub_DollarName php_max_upload_size) <';'>
                                )
                              } {<'/etc/nginx/nginx.conf'>}
                            )
                          ]
                          spids: [45245 45264]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.AndOr
                      ops: [Id.Op_DAmp Id.Op_DPipe]
                      children: [
                        (C {<grep>} {<-q>} {(SQ <default_charset>)} 
                          {($ Id.VSub_DollarName dietpi_php_ini)}
                        )
                        (C {<sed>} {<-i>} {(SQ <'/default_charset/c\\default_charset = "UTF-8"'>)} 
                          {($ Id.VSub_DollarName dietpi_php_ini)}
                        )
                        (command.Simple
                          words: [{<echo>} {(SQ <'default_charset = "UTF-8"'>)}]
                          redirects: [
                            (redir
                              op: <Id.Redir_DGreat '>>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {($ Id.VSub_DollarName dietpi_php_ini)}
                            )
                          ]
                          more_env: []
                          do_fork: T
                        )
                      ]
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'modules_to_enable='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<ls>} 
                                  {(DQ ($ Id.VSub_DollarName FP_PHP_BASE_DIR)) <'/mods-available'>}
                                )
                                (C {<grep>} {(SQ <.ini>)})
                                (C {<sed>} {(SQ <'s/.ini//'>)})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (C {(${ Id.VSub_Name PHP_APT_PACKAGE_NAME) <enmod>} 
                      {(DQ ($ Id.VSub_DollarName modules_to_enable))}
                    )
                    (command.Simple
                      words: [{<echo>} {(DQ <'<?php phpinfo(); ?>'>)}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/var/www/phpinfo.php'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<wget>} 
                      {<https> <Id.Lit_Colon ':'> 
                        <'//raw.githubusercontent.com/rlerdorf/opcache-status/master/opcache.php'>
                      } {<-O>} {<'/var/www/opcache.php'>}
                    )
                    (C {<wget>} 
                      {<https> <Id.Lit_Colon ':'> <'//github.com/krakjoe/apcu/raw/master/apc.php'>} {<-O>} {<'/var/www/apc.php'>}
                    )
                  ]
                  spids: [44455 44474]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<88>}
                  spids: [45430]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} 
                                      {
                                        (DQ 
                                          (command_sub
                                            left_token: <Id.Left_DollarParen '$('>
                                            child: (C {<readlink>} {<'/var/lib/mysql'>})
                                            right: <Id.Eof_RParen _>
                                          )
                                        )
                                      } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/mysql/'>)} 
                                      {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<G_RUN_CMD>} {<systemctl>} {<stop>} {<mysql>})
                            (C {<mkdir>} {<-p>} 
                              {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mysql'>}
                            )
                            (C {<cp>} {<-a>} {<'/var/lib/mysql/'> <Id.Lit_Star '*'>} 
                              {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mysql/'>}
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_NEqual
                                                  left: {($ Id.VSub_QMark '?')}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<G_DIETPI-NOTIFY>} {<1>} 
                                      {
                                        (DQ <'Moving of MySQL data store failed to '> 
                                          ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/mysql. DietPi-Software will now exit'>
                                        )
                                      }
                                    )
                                    (C {<Exit_Destroy>})
                                  ]
                                  spids: [45534 45548]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (command.Simple
                                  words: [{<rm>} {<-R>} {<'/var/lib/mysql'>}]
                                  redirects: [
                                    (redir
                                      op: <Id.Redir_AndGreat '&>'>
                                      loc: (redir_loc.Fd fd:1)
                                      arg: {<'/dev/null'>}
                                    )
                                  ]
                                  more_env: []
                                  do_fork: T
                                )
                                (command.Simple
                                  words: [{<rm>} {<'/var/lib/mysql'>}]
                                  redirects: [
                                    (redir
                                      op: <Id.Redir_AndGreat '&>'>
                                      loc: (redir_loc.Fd fd:1)
                                      arg: {<'/dev/null'>}
                                    )
                                  ]
                                  more_env: []
                                  do_fork: T
                                )
                              ]
                            )
                            (C {<ln>} {<-sf>} 
                              {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mysql'>} {<'/var/lib/mysql'>}
                            )
                            (C {<chown>} {<mysql> <Id.Lit_Colon ':'> <mysql>} {<'/var/lib/mysql'>})
                            (command.Simple
                              words: [{<Install_Apply_Permissions>}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_AndGreat '&>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<'/dev/null'>}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                          ]
                          spids: [45465 45488]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Less
                                          left: {($ Id.VSub_DollarName G_DISTRO)}
                                          right: {<Id.Lit_Digits 4>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<G_RUN_CMD>} {<systemctl>} {<start>} {<mysql>})
                            (command.Simple
                              words: [
                                {<mysql>}
                                {<-e>}
                                {(DQ <'install plugin unix_socket soname \'auth_socket\';'>)}
                              ]
                              redirects: [
                                (redir
                                  op: <Id.Redir_AndGreat '&>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<'/dev/null'>}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                            (C {<mysql>} {<-e>} 
                              {
                                (DQ 
                                  <
'grant all privileges on *.* to \'root\'@\'localhost\' identified via unix_socket with grant option;flush privileges'
                                  >
                                )
                              }
                            )
                            (command.Simple
                              words: [
                                {<mysql>}
                                {<-e>}
                                {
                                  (DQ 
                                    <
'drop user \'root\'@\'dietpi\';drop user \'root\'@\'127.0.0.1\';drop user \'root\'@\'::1\''
                                    >
                                  )
                                }
                              ]
                              redirects: [
                                (redir
                                  op: <Id.Redir_AndGreat '&>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<'/dev/null'>}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                          ]
                          spids: [45640 45654]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [45434 45453]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<90>}
                  spids: [45753]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DPipe
                                          left: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_GreatEqual
                                              left: 
                                                {
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                    var_name: aSOFTWARE_INSTALL_STATE
                                                    bracket_op: 
                                                      (bracket_op.ArrayIndex
                                                        expr: {<Id.Lit_Digits 84>}
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  )
                                                }
                                              right: {<Id.Lit_Digits 1>}
                                            )
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_GreatEqual
                                              left: 
                                                {
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                    var_name: aSOFTWARE_INSTALL_STATE
                                                    bracket_op: 
                                                      (bracket_op.ArrayIndex
                                                        expr: {<Id.Lit_Digits 85>}
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  )
                                                }
                                              right: {<Id.Lit_Digits 1>}
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<ln>} {<-sf>} {<'/usr/share/phpmyadmin'>} {<'/var/www'>})]
                          spids: [45788 45821]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<mysql>} {<-e>} 
                      {(DQ <'grant all privileges on *.* to phpmyadmin@localhost with grant option'>)}
                    )
                  ]
                  spids: [45757 45776]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<91>}
                  spids: [45869]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (command.Simple
                      words: [{(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <enmod>} {<redis>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '2>'>
                          loc: (redir_loc.Fd fd:2)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [45873 45892]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<58>}
                  spids: [45925]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 45987
                              stdin_parts: [
                                <'[Unit]\n'>
                                <'Description=openbazaar\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <'Type=simple\n'>
                                <'WorkingDirectory=/etc/openbazaar-server\n'>
                                <'ExecStart='>
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: (C {<which>} {<python>})
                                  right: <Id.Eof_RParen _>
                                )
                                <' openbazaard.py start -a 0.0.0.0\n'>
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=multi-user.target\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/systemd/system/openbazaar.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [45929 45948]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<133>}
                  spids: [45998]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<-R>} {<'/etc/yacy'>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 46062
                              stdin_parts: [
                                <'[Unit]\n'>
                                <'Description=DietPi YaCy Service\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <'Type=simple\n'>
                                <'RemainAfterExit=yes\n'>
                                <'ExecStart=/bin/bash -c \'/etc/yacy/startYACY.sh\'\n'>
                                <'ExecStop=/bin/bash -c \'/etc/yacy/stopYACY.sh\'\n'>
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=multi-user.target\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/systemd/system/yacy.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<systemctl>} {<daemon-reload>})
                    (C {<'/etc/yacy/bin/passwd.sh'>} {(DQ ($ Id.VSub_DollarName GLOBAL_PW))})
                  ]
                  spids: [46002 46021]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<47>}
                  spids: [46090]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<G_DIETPI-NOTIFY>} {<2>} 
                      {
                        (SQ 
                          <
'Enabling needed PHP modules: https://doc.owncloud.org/server/latest/admin_manual/installation/source_installation.html#php-extensions'
                          >
                        )
                      }
                    )
                    (C {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <enmod>} {<curl>} {<gd>} 
                      {<intl>} {<json>} {<pdo_mysql>} {<opcache>} {<apcu>} {<redis>}
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Great
                                          left: {($ Id.VSub_DollarName G_DISTRO)}
                                          right: {<Id.Lit_Digits 3>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<phpenmod>} {<ctype>} {<dom>} {<fileinfo>} {<iconv>} {<mbstring>} {<posix>} 
                              {<simplexml>} {<xmlwriter>} {<xmlreader>} {<zip>} {<exif>}
                            )
                          ]
                          spids: [46156 46170]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.AndOr
                      ops: [Id.Op_DAmp Id.Op_DPipe]
                      children: [
                        (C {<grep>} {<-q>} {(SQ <'apc.enable_cli='>)} 
                          {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/apcu.ini'>}
                        )
                        (C {<sed>} {<-i>} {(SQ <'/apc.enable_cli=/c\\apc.enable_cli=1'>)} 
                          {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/apcu.ini'>}
                        )
                        (command.Simple
                          words: [{<echo>} {(SQ <'apc.enable_cli=1'>)}]
                          redirects: [
                            (redir
                              op: <Id.Redir_DGreat '>>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: 
                                {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/apcu.ini'>}
                            )
                          ]
                          more_env: []
                          do_fork: T
                        )
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 83>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<G_DIETPI-NOTIFY>} {<2>} 
                              {
                                (SQ 
                                  <
'Apache webserver found, enable ownCloud specific configuration: "https://doc.owncloud.org/server/latest/admin_manual/installation/source_installation.html#configure-apache-web-server"'
                                  >
                                )
                              }
                            )
                            (command.Simple
                              words: [{<a2enmod>} {<rewrite>} {<headers>} {<env>} {<dir>} {<mime>}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_Great '1>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<'/dev/null'>}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                            (C {<local>} 
                              {<Id.Lit_VarLike 'owncloud_conf='> 
                                (SQ <'/etc/apache2/sites-available/owncloud.conf'>)
                              }
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<Id.Lit_LBracket '['>} {<-f>} 
                                              {($ Id.VSub_DollarName owncloud_conf)} {<Id.Lit_RBracket ']'>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<G_DIETPI-NOTIFY>} {<2>} 
                                      {
                                        (SQ 
                                          <
'Existing ownCloud configuration found, will save the new one for review and comparison to: /etc/apache2/sites-available/owncloud.conf.dietpi-new'
                                          >
                                        )
                                      }
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'owncloud_conf='>
                                              name: owncloud_conf
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (SQ 
                                                <
'/etc/apache2/sites-available/owncloud.conf.dietpi-new'
                                                >
                                              )
                                            }
                                          spids: [46328]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [46304 46315]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (C {<cp>} {<'/DietPi/dietpi/conf/apache.ownnextcloud.conf'>} 
                              {($ Id.VSub_DollarName owncloud_conf)}
                            )
                            (C {<sed>} {<-i>} {(SQ <'s/nextcloud/owncloud/g'>)} 
                              {($ Id.VSub_DollarName owncloud_conf)}
                            )
                            (C {<sed>} {<-i>} {(SQ <'s/php_admin_value/#php_admin_value/'>)} 
                              {($ Id.VSub_DollarName owncloud_conf)}
                            )
                            (command.Simple
                              words: [{<a2ensite>} {<owncloud>}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_Great '1>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<'/dev/null'>}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                          ]
                          spids: [46247 46266]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 85>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<G_DIETPI-NOTIFY>} {<2>} 
                              {
                                (SQ 
                                  <
'Nginx webserver found, enable ownCloud specific configuration: "https://doc.owncloud.org/server/latest/admin_manual/installation/nginx_configuration.html#owncloud-in-a-subdir-of-nginx"'
                                  >
                                )
                              }
                            )
                            (C {<local>} 
                              {<Id.Lit_VarLike 'owncloud_config='> 
                                (SQ <'/etc/nginx/sites-dietpi/owncloud.config'>)
                              }
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<Id.Lit_LBracket '['>} {<-f>} 
                                              {($ Id.VSub_DollarName owncloud_config)} {<Id.Lit_RBracket ']'>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<G_DIETPI-NOTIFY>} {<2>} 
                                      {
                                        (SQ 
                                          <
'Existing ownCloud configuration found, will save the new one for review and comparison to: /etc/nginx/sites-dietpi/owncloud.config.dietpi-new'
                                          >
                                        )
                                      }
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'owncloud_config='>
                                              name: owncloud_config
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (SQ 
                                                <
'/etc/nginx/sites-dietpi/owncloud.config.dietpi-new'
                                                >
                                              )
                                            }
                                          spids: [46449]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [46425 46436]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (C {<cp>} {<'/DietPi/dietpi/conf/nginx.sites-dietpi.owncloud.config'>} 
                              {($ Id.VSub_DollarName owncloud_config)}
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_Great
                                                  left: {($ Id.VSub_DollarName G_DISTRO)}
                                                  right: {<Id.Lit_Digits 3>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<sed>} {<-i>} 
                                      {(SQ <'s|/run/php5-fpm.sock|/run/php/php7.0-fpm.sock|g'>)} {($ Id.VSub_DollarName owncloud_config)}
                                    )
                                    (C {<sed>} {<-i>} 
                                      {
                                        (SQ 
                                          <
's/#fastcgi_request_buffering off;/fastcgi_request_buffering off;/g'
                                          >
                                        )
                                      } {($ Id.VSub_DollarName owncloud_config)}
                                    )
                                  ]
                                  spids: [46471 46485]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.Simple
                              words: [
                                {<wget>}
                                {<-q>}
                                {<--spider>}
                                {<--timeout> <Id.Lit_Equals '='> <10>}
                                {<--tries> <Id.Lit_Equals '='> <2>}
                                {<https> <Id.Lit_Colon ':'> <'//localhost'>}
                              ]
                              redirects: [
                                (redir
                                  op: <Id.Redir_AndGreat '&>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<'/dev/null'>}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DPipe
                                                  left: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DEqual
                                                      left: {($ Id.VSub_QMark '?')}
                                                      right: {<Id.Lit_Digits 0>}
                                                    )
                                                  right: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DEqual
                                                      left: {($ Id.VSub_QMark '?')}
                                                      right: {<Id.Lit_Digits 5>}
                                                    )
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<sed>} {<-i>} 
                                      {(SQ <'s/#fastcgi_param HTTPS on;/fastcgi_param HTTPS on;/g'>)} {($ Id.VSub_DollarName owncloud_config)}
                                    )
                                  ]
                                  spids: [46543 46564]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                          spids: [46385 46404]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 46607
                              stdin_parts: [
                                <'[mysqld]\n'>
                                <'innodb_large_prefix=1\n'>
                                <'innodb_file_format=barracuda\n'>
                                <'innodb_file_per_table=1\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/mysql/mariadb.conf.d/99-dietpi-4byte.cnf'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<G_RUN_CMD>} {<systemctl>} {<restart>} {<mysql>})
                    (C {<.>} {<'/DietPi/dietpi/func/dietpi-globals'>})
                    (C {<local>} 
                      {<Id.Lit_VarLike 'config_php='> (SQ <'/var/www/owncloud/config/config.php'>)}
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'datadir='> 
                        (DQ 
                          (command_sub
                            left_token: <Id.Left_DollarParen '$('>
                            child: 
                              (command.Pipeline
                                children: [
                                  (C {<grep>} {<-m1>} {(SQ <'^[[:blank:]]*SOFTWARE_OWNCLOUD_DATADIR='>)} 
                                    {<'/DietPi/dietpi.txt'>}
                                  )
                                  (C {<sed>} {(SQ <'s/^.*=//'>)})
                                ]
                                negated: F
                                stderr_indices: []
                              )
                            right: <Id.Eof_RParen _>
                          )
                        )
                      }
                    )
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName datadir))} 
                          {<Id.Lit_RBracket ']'>}
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'datadir='> name:datadir)
                              op: assign_op.Equal
                              rhs: 
                                {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/owncloud_data'>)}
                              spids: [46680]
                            )
                          ]
                          redirects: []
                        )
                      ]
                    )
                    (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName datadir))})
                    (command.Simple
                      words: [{<Install_Apply_Permissions>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {<-d>} 
                                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) 
                                        <'/mysql/owncloud'>
                                      } {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<G_DIETPI-NOTIFY>} {<2>} 
                              {(SQ <'ownCloud database found, will NOT overwrite.'>)}
                            )
                          ]
                          spids: [46704 46718]
                        )
                      ]
                      else_action: [
                        (command.If
                          arms: [
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (C {<Id.Lit_LBracket '['>} {<-f>} 
                                          {(DQ ($ Id.VSub_DollarName datadir)) 
                                            <'/dietpi-owncloud-database-backup.sql'>
                                          } {<Id.Lit_RBracket ']'>}
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (C {<G_DIETPI-NOTIFY>} {<2>} 
                                  {(SQ <'ownCloud database backup found, starting recovery...'>)}
                                )
                                (C {<local>} 
                                  {<Id.Lit_VarLike 'dbuser='> 
                                    (command_sub
                                      left_token: <Id.Left_DollarParen '$('>
                                      child: 
                                        (command.Pipeline
                                          children: [
                                            (C {<grep>} {<-m1>} {(DQ <'^[[:blank:]]*\'dbuser\''>)} 
                                              {($ Id.VSub_DollarName config_php)}
                                            )
                                            (C {<awk>} {(SQ <'{print $3}'>)})
                                            (C {<sed>} {(DQ <'s/[\',]//g'>)})
                                          ]
                                          negated: F
                                          stderr_indices: []
                                        )
                                      right: <Id.Eof_RParen _>
                                    )
                                  }
                                )
                                (C {<local>} 
                                  {<Id.Lit_VarLike 'dbpass='> 
                                    (command_sub
                                      left_token: <Id.Left_DollarParen '$('>
                                      child: 
                                        (command.Pipeline
                                          children: [
                                            (C {<grep>} {<-m1>} {(DQ <'^[[:blank:]]*\'dbpassword\''>)} 
                                              {($ Id.VSub_DollarName config_php)}
                                            )
                                            (C {<awk>} {(SQ <'{print $3}'>)})
                                            (C {<sed>} {(DQ <'s/[\',]//g'>)})
                                          ]
                                          negated: F
                                          stderr_indices: []
                                        )
                                      right: <Id.Eof_RParen _>
                                    )
                                  }
                                )
                                (C {<'/DietPi/dietpi/func/create_mysql_db'>} {<owncloud>} 
                                  {(DQ ($ Id.VSub_DollarName dbuser))} {(DQ ($ Id.VSub_DollarName dbpass))}
                                )
                                (command.Simple
                                  words: [{<mysql>} {<-uroot>} {<owncloud>}]
                                  redirects: [
                                    (redir
                                      op: <Id.Redir_Less '<'>
                                      loc: (redir_loc.Fd fd:0)
                                      arg: 
                                        {(DQ ($ Id.VSub_DollarName datadir)) 
                                          <'/dietpi-owncloud-database-backup.sql'>
                                        }
                                    )
                                  ]
                                  more_env: []
                                  do_fork: T
                                )
                              ]
                              spids: [46736 46750]
                            )
                          ]
                          else_action: [
                            (C {<local>} 
                              {<Id.Lit_VarLike 'username='> 
                                (DQ 
                                  (command_sub
                                    left_token: <Id.Left_DollarParen '$('>
                                    child: 
                                      (command.Pipeline
                                        children: [
                                          (C {<cat>} {<'/DietPi/dietpi.txt'>})
                                          (C {<grep>} {<-m1>} 
                                            {
                                              (SQ 
                                                <
'^[[:blank:]]*SOFTWARE_OWNCLOUD_NEXTCLOUD_USERNAME='
                                                >
                                              )
                                            }
                                          )
                                          (C {<sed>} {(SQ <'s/^.*=//'>)})
                                        ]
                                        negated: F
                                        stderr_indices: []
                                      )
                                    right: <Id.Eof_RParen _>
                                  )
                                )
                              }
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName username))} 
                                  {<Id.Lit_RBracket ']'>}
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'username='>
                                          name: username
                                        )
                                      op: assign_op.Equal
                                      rhs: {(SQ <admin>)}
                                      spids: [46901]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                            )
                            (C {<mysql>} {<-e>} 
                              {
                                (DQ 
                                  <
'grant all privileges on *.* to \'tmp_root\'@\'localhost\' identified by \''
                                  > ($ Id.VSub_DollarName GLOBAL_PW) <'\' with grant option'>
                                )
                              }
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (command.Simple
                                  words: [
                                    {<grep>}
                                    {<-q>}
                                    {(DQ <'\'installed\' => true,'>)}
                                    {($ Id.VSub_DollarName config_php)}
                                  ]
                                  redirects: [
                                    (redir
                                      op: <Id.Redir_Great '2>'>
                                      loc: (redir_loc.Fd fd:2)
                                      arg: {<'/dev/null'>}
                                    )
                                  ]
                                  more_env: []
                                  do_fork: T
                                )
                                (C {<occ>} {<maintenance> <Id.Lit_Colon ':'> <install>} 
                                  {<--no-interaction>} {<--database>} {(DQ <mysql>)} {<--database-name>} {(DQ <owncloud>)} {<--database-user>} {(DQ <tmp_root>)} 
                                  {<--database-pass>} {(DQ ($ Id.VSub_DollarName GLOBAL_PW))} {<--admin-user>} {(DQ ($ Id.VSub_DollarName username))} 
                                  {<--admin-pass>} {(DQ ($ Id.VSub_DollarName GLOBAL_PW))} {<--data-dir>} {(DQ ($ Id.VSub_DollarName datadir))}
                                )
                              ]
                            )
                            (C {<mysql>} {<-e>} {(DQ <'drop user \'tmp_root\'@\'localhost\''>)})
                          ]
                          redirects: []
                        )
                      ]
                      redirects: []
                    )
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (C {<grep>} {<-q>} {(DQ <'^[[:blank:]]*\'mysql.utf8mb4\''>)} 
                          {($ Id.VSub_DollarName config_php)}
                        )
                        (C {<sed>} {<-i>} 
                          {
                            (DQ <'/^[[:blank:]]*\'dbpassword\'/a '> <Id.Lit_BadBackslash '\\'> <' '> 
                              <Id.Lit_BadBackslash '\\'> <' \'mysql.utf8mb4\' => true,'>
                            )
                          } {($ Id.VSub_DollarName config_php)}
                        )
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Unary
                                          op_id: Id.Arith_Bang
                                          child: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_DollarParen '$('>
                                                child: 
                                                  (command.Pipeline
                                                    children: [
                                                      (C {<cat>} {($ Id.VSub_DollarName config_php)})
                                                      (C {<grep>} {<-ci>} {<-m1>} {(DQ <'1 => \''>)})
                                                    ]
                                                    negated: F
                                                    stderr_indices: []
                                                  )
                                                right: <Id.Eof_RParen _>
                                              )
                                            }
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<sed>} {<-i>} 
                              {
                                (DQ <'/0 => \'localhost\'/a     1 => \''> 
                                  (command_sub
                                    left_token: <Id.Left_DollarParen '$('>
                                    child: (C {<sed>} {<-n>} {<4p>} {<'/DietPi/dietpi/.network'>})
                                    right: <Id.Eof_RParen _>
                                  ) <'\','>
                                )
                              } {($ Id.VSub_DollarName config_php)}
                            )
                            (C {<sed>} {<-i>} 
                              {
                                (DQ <'/1 => \'/a     2 => \''> 
                                  (command_sub
                                    left_token: <Id.Left_DollarParen '$('>
                                    child: (C {<cat>} {<'/etc/hostname'>})
                                    right: <Id.Eof_RParen _>
                                  ) <'\','>
                                )
                              } {($ Id.VSub_DollarName config_php)}
                            )
                          ]
                          spids: [47047 47075]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<sed>} {<-i>} {(DQ <'s|\'http://localhost\'|\'http://localhost/owncloud\'|g'>)} 
                      {($ Id.VSub_DollarName config_php)}
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 83>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<grep>} {<-q>} {(DQ <'^[[:blank:]]*\'htaccess.RewriteBase\''>)} 
                                  {($ Id.VSub_DollarName config_php)}
                                )
                                (C {<sed>} {<-i>} 
                                  {
                                    (DQ <'/^[[:blank:]]*\'overwrite.cli.url\'/a '> 
                                      <Id.Lit_BadBackslash '\\'> <' '> <Id.Lit_BadBackslash '\\'> <' \'htaccess.RewriteBase\' => \'/owncloud\','>
                                    )
                                  } {($ Id.VSub_DollarName config_php)}
                                )
                              ]
                            )
                            (C {<occ>} 
                              {<maintenance> <Id.Lit_Colon ':'> <update> <Id.Lit_Colon ':'> <htaccess>}
                            )
                          ]
                          spids: [47142 47161]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (C {<grep>} {<-q>} {(DQ <'^[[:blank:]]*\'memcache.local\''>)} 
                          {($ Id.VSub_DollarName config_php)}
                        )
                        (C {<sed>} {<-i>} 
                          {
                            (DQ <'/^[[:blank:]]*\'version\'/a '> <Id.Lit_BadBackslash '\\'> <' '> 
                              <Id.Lit_BadBackslash '\\'> <' \'memcache.local\' => \''> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') 
                              <Id.Lit_BadBackslash '\\'> <OC> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <Id.Lit_BadBackslash '\\'> 
                              <Memcache> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <Id.Lit_BadBackslash '\\'> 
                              <'APCu\','>
                            )
                          } {($ Id.VSub_DollarName config_php)}
                        )
                      ]
                    )
                    (C {<local>} {<Id.Lit_VarLike 'redis_conf='> (DQ <'/etc/redis/redis*.conf'>)})
                    (command.AndOr
                      ops: [Id.Op_DPipe Id.Op_DAmp Id.Op_DPipe]
                      children: [
                        (C {<grep>} {<-q>} {(DQ <'^[[:blank:]]*unixsocket /'>)} 
                          {($ Id.VSub_DollarName redis_conf)}
                        )
                        (C {<grep>} {<-q>} {(SQ <'^[[:blank:]]*#unixsocket /'>)} 
                          {($ Id.VSub_DollarName redis_conf)}
                        )
                        (C {<sed>} {<-i>} {(SQ <'s|^[[:blank:]]*#unixsocket /|unixsocket /|'>)} 
                          {($ Id.VSub_DollarName redis_conf)}
                        )
                        (command.Simple
                          words: [{<echo>} {(SQ <'unixsocket /var/run/redis/redis.sock'>)}]
                          redirects: [
                            (redir
                              op: <Id.Redir_DGreat '>>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {($ Id.VSub_DollarName redis_conf)}
                            )
                          ]
                          more_env: []
                          do_fork: T
                        )
                      ]
                    )
                    (command.AndOr
                      ops: [Id.Op_DAmp Id.Op_DPipe]
                      children: [
                        (C {<grep>} {<-q>} {(DQ <'^[[:blank:]]*#?unixsocketperm '>)} 
                          {($ Id.VSub_DollarName redis_conf)}
                        )
                        (C {<sed>} {<-i>} 
                          {
                            (DQ <'/^[[:blank:]]*#?unixsocketperm /c'> <Id.Lit_BadBackslash '\\'> 
                              <'unixsocketperm 770'>
                            )
                          } {($ Id.VSub_DollarName redis_conf)}
                        )
                        (command.Simple
                          words: [{<echo>} {(SQ <'unixsocketperm 770'>)}]
                          redirects: [
                            (redir
                              op: <Id.Redir_DGreat '>>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {($ Id.VSub_DollarName redis_conf)}
                            )
                          ]
                          more_env: []
                          do_fork: T
                        )
                      ]
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'redis_sock='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<grep>} {(DQ <'^[[:blank:]]*unixsocket /'>)} 
                                  {($ Id.VSub_DollarName redis_conf)}
                                )
                                (C {<sed>} {(DQ <'s/^[[:blank:]]*unixsocket //'>)})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (C {<usermod>} {<-a>} {<-G>} {<redis>} {<www-data>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Unary
                                          op_id: Id.Arith_Bang
                                          child: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_DollarParen '$('>
                                                child: 
                                                  (command.Pipeline
                                                    children: [
                                                      (C {<cat>} {($ Id.VSub_DollarName config_php)})
                                                      (C {<grep>} {<-ci>} {<-m1>} 
                                                        {(DQ <'\'memcache.locking\''>)}
                                                      )
                                                    ]
                                                    negated: F
                                                    stderr_indices: []
                                                  )
                                                right: <Id.Eof_RParen _>
                                              )
                                            }
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<sed>} {<-i>} 
                              {
                                (DQ <Id.Lit_BadBackslash '\\'> <'#\'memcache.local\'#a '> 
                                  <Id.Lit_BadBackslash '\\'> <' '> <Id.Lit_BadBackslash '\\'> <' \'filelocking.enabled\' => true,'> <Id.Lit_BadBackslash '\\'> <n> 
                                  <'  \'memcache.locking\' => \''> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <Id.Lit_BadBackslash '\\'> <OC> 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\\\'>
                                    ch: '\\'
                                  ) <Id.Lit_BadBackslash '\\'> <Memcache> 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\\\'>
                                    ch: '\\'
                                  ) <Id.Lit_BadBackslash '\\'> <'Redis\','> <Id.Lit_BadBackslash '\\'> <n> <'  \'redis\' => ['> 
                                  <Id.Lit_BadBackslash '\\'> <n> <'    \'host\' => \''> ($ Id.VSub_DollarName redis_sock) <'\','> <Id.Lit_BadBackslash '\\'> <n> 
                                  <'    \'port\' => 0,'> <Id.Lit_BadBackslash '\\'> <n> <'  ],'>
                                )
                              } {($ Id.VSub_DollarName config_php)}
                            )
                          ]
                          spids: [47388 47416]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (command.Pipeline
                          children: [
                            (command.Simple
                              words: [{<crontab>} {<-u>} {<www-data>} {<-l>}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_Great '2>'>
                                  loc: (redir_loc.Fd fd:2)
                                  arg: {<'/dev/null'>}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                            (C {<grep>} {<-q>} {(SQ <'/var/www/owncloud/cron.php'>)})
                          ]
                          negated: F
                          stderr_indices: []
                        )
                        (command.Pipeline
                          children: [
                            (command.Subshell
                              child: 
                                (command.CommandList
                                  children: [
                                    (command.Sentence
                                      child: 
                                        (command.Simple
                                          words: [{<crontab>} {<-u>} {<www-data>} {<-l>}]
                                          redirects: [
                                            (redir
                                              op: <Id.Redir_Great '2>'>
                                              loc: (redir_loc.Fd fd:2)
                                              arg: {<'/dev/null'>}
                                            )
                                          ]
                                          more_env: []
                                          do_fork: T
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                    (C {<echo>} {(DQ <'*/15 * * * * php /var/www/owncloud/cron.php'>)})
                                  ]
                                )
                              redirects: []
                            )
                            (C {<crontab>} {<-u>} {<www-data>} {<->})
                          ]
                          negated: F
                          stderr_indices: []
                        )
                      ]
                    )
                    (C {<occ>} {<background> <Id.Lit_Colon ':'> <cron>})
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (C {<grep>} {<-q>} {(DQ <'^[[:blank:]]*\'maintenance\' => true,'>)} 
                          {($ Id.VSub_DollarName config_php)}
                        )
                        (C {<occ>} {<maintenance> <Id.Lit_Colon ':'> <mode>} {<--on>})
                      ]
                    )
                  ]
                  spids: [46094 46113]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<114>}
                  spids: [47575]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<G_DIETPI-NOTIFY>} {<2>} 
                      {
                        (SQ 
                          <
'Enabling needed PHP modules: https://docs.nextcloud.com/server/12/admin_manual/installation/source_installation.html#prerequisites-for-manual-installation'
                          >
                        )
                      }
                    )
                    (C {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <enmod>} {<curl>} {<gd>} 
                      {<intl>} {<json>} {<pdo_mysql>} {<opcache>} {<apcu>} {<redis>}
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Great
                                          left: {($ Id.VSub_DollarName G_DISTRO)}
                                          right: {<Id.Lit_Digits 3>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<phpenmod>} {<ctype>} {<dom>} {<fileinfo>} {<iconv>} {<mbstring>} {<posix>} 
                              {<simplexml>} {<xmlwriter>} {<xmlreader>} {<zip>} {<exif>}
                            )
                          ]
                          spids: [47641 47655]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.AndOr
                      ops: [Id.Op_DAmp Id.Op_DPipe]
                      children: [
                        (C {<grep>} {<-q>} {(SQ <'apc.enable_cli='>)} 
                          {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/apcu.ini'>}
                        )
                        (C {<sed>} {<-i>} {(SQ <'/apc.enable_cli=/c\\apc.enable_cli=1'>)} 
                          {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/apcu.ini'>}
                        )
                        (command.Simple
                          words: [{<echo>} {(SQ <'apc.enable_cli=1'>)}]
                          redirects: [
                            (redir
                              op: <Id.Redir_DGreat '>>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: 
                                {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/apcu.ini'>}
                            )
                          ]
                          more_env: []
                          do_fork: T
                        )
                      ]
                    )
                    (command.AndOr
                      ops: [Id.Op_DAmp Id.Op_DPipe]
                      children: [
                        (C {<grep>} {<-q>} {(SQ <'opcache.enable='>)} 
                          {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/opcache.ini'>}
                        )
                        (C {<sed>} {<-i>} {(SQ <'/opcache.enable=/c\\opcache.enable=1'>)} 
                          {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/opcache.ini'>}
                        )
                        (command.Simple
                          words: [{<echo>} {(SQ <'opcache.enable=1'>)}]
                          redirects: [
                            (redir
                              op: <Id.Redir_DGreat '>>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: 
                                {($ Id.VSub_DollarName FP_PHP_BASE_DIR) 
                                  <'/mods-available/opcache.ini'>
                                }
                            )
                          ]
                          more_env: []
                          do_fork: T
                        )
                      ]
                    )
                    (command.AndOr
                      ops: [Id.Op_DAmp Id.Op_DPipe]
                      children: [
                        (C {<grep>} {<-q>} {(SQ <'opcache.enable_cli='>)} 
                          {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/opcache.ini'>}
                        )
                        (C {<sed>} {<-i>} {(SQ <'/opcache.enable_cli=/c\\opcache.enable_cli=1'>)} 
                          {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/opcache.ini'>}
                        )
                        (command.Simple
                          words: [{<echo>} {(SQ <'opcache.enable_cli=1'>)}]
                          redirects: [
                            (redir
                              op: <Id.Redir_DGreat '>>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: 
                                {($ Id.VSub_DollarName FP_PHP_BASE_DIR) 
                                  <'/mods-available/opcache.ini'>
                                }
                            )
                          ]
                          more_env: []
                          do_fork: T
                        )
                      ]
                    )
                    (command.AndOr
                      ops: [Id.Op_DAmp Id.Op_DPipe]
                      children: [
                        (C {<grep>} {<-q>} {(SQ <'opcache.interned_strings_buffer='>)} 
                          {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/opcache.ini'>}
                        )
                        (C {<sed>} {<-i>} 
                          {
                            (SQ 
                              <
'/opcache.interned_strings_buffer=/c\\opcache.interned_strings_buffer=8'
                              >
                            )
                          } {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/opcache.ini'>}
                        )
                        (command.Simple
                          words: [{<echo>} {(SQ <'opcache.interned_strings_buffer=8'>)}]
                          redirects: [
                            (redir
                              op: <Id.Redir_DGreat '>>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: 
                                {($ Id.VSub_DollarName FP_PHP_BASE_DIR) 
                                  <'/mods-available/opcache.ini'>
                                }
                            )
                          ]
                          more_env: []
                          do_fork: T
                        )
                      ]
                    )
                    (command.AndOr
                      ops: [Id.Op_DAmp Id.Op_DPipe]
                      children: [
                        (C {<grep>} {<-q>} {(SQ <'opcache.max_accelerated_files='>)} 
                          {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/opcache.ini'>}
                        )
                        (C {<sed>} {<-i>} 
                          {
                            (SQ 
                              <
'/opcache.max_accelerated_files=/c\\opcache.max_accelerated_files=10000'
                              >
                            )
                          } {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/opcache.ini'>}
                        )
                        (command.Simple
                          words: [{<echo>} {(SQ <'opcache.max_accelerated_files=10000'>)}]
                          redirects: [
                            (redir
                              op: <Id.Redir_DGreat '>>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: 
                                {($ Id.VSub_DollarName FP_PHP_BASE_DIR) 
                                  <'/mods-available/opcache.ini'>
                                }
                            )
                          ]
                          more_env: []
                          do_fork: T
                        )
                      ]
                    )
                    (command.AndOr
                      ops: [Id.Op_DAmp Id.Op_DPipe]
                      children: [
                        (C {<grep>} {<-q>} {(SQ <'opcache.save_comments='>)} 
                          {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/opcache.ini'>}
                        )
                        (C {<sed>} {<-i>} {(SQ <'/opcache.save_comments=/c\\opcache.save_comments=1'>)} 
                          {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/opcache.ini'>}
                        )
                        (command.Simple
                          words: [{<echo>} {(SQ <'opcache.save_comments=1'>)}]
                          redirects: [
                            (redir
                              op: <Id.Redir_DGreat '>>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: 
                                {($ Id.VSub_DollarName FP_PHP_BASE_DIR) 
                                  <'/mods-available/opcache.ini'>
                                }
                            )
                          ]
                          more_env: []
                          do_fork: T
                        )
                      ]
                    )
                    (command.AndOr
                      ops: [Id.Op_DAmp Id.Op_DPipe]
                      children: [
                        (C {<grep>} {<-q>} {(SQ <'opcache.revalidate_freq='>)} 
                          {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/opcache.ini'>}
                        )
                        (C {<sed>} {<-i>} 
                          {(SQ <'/opcache.revalidate_freq=/c\\opcache.revalidate_freq=1'>)} {($ Id.VSub_DollarName FP_PHP_BASE_DIR) <'/mods-available/opcache.ini'>}
                        )
                        (command.Simple
                          words: [{<echo>} {(SQ <'opcache.revalidate_freq=1'>)}]
                          redirects: [
                            (redir
                              op: <Id.Redir_DGreat '>>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: 
                                {($ Id.VSub_DollarName FP_PHP_BASE_DIR) 
                                  <'/mods-available/opcache.ini'>
                                }
                            )
                          ]
                          more_env: []
                          do_fork: T
                        )
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 83>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<G_DIETPI-NOTIFY>} {<2>} 
                              {
                                (SQ 
                                  <
'Apache webserver found, enable Nextcloud specific configuration: "https://docs.nextcloud.com/server/12/admin_manual/installation/source_installation.html#apache-web-server-configuration"'
                                  >
                                )
                              }
                            )
                            (command.Simple
                              words: [{<a2enmod>} {<rewrite>} {<headers>} {<env>} {<dir>} {<mime>}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_Great '1>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<'/dev/null'>}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                            (C {<local>} 
                              {<Id.Lit_VarLike 'nextcloud_conf='> 
                                (SQ <'/etc/apache2/sites-available/nextcloud.conf'>)
                              }
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<Id.Lit_LBracket '['>} {<-f>} 
                                              {($ Id.VSub_DollarName nextcloud_conf)} {<Id.Lit_RBracket ']'>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<G_DIETPI-NOTIFY>} {<2>} 
                                      {
                                        (SQ 
                                          <
'Existing Nextcloud configuration found, will save the new one for review and comparison to: /etc/apache2/sites-available/nextcloud.conf.dietpi-new'
                                          >
                                        )
                                      }
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'nextcloud_conf='>
                                              name: nextcloud_conf
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (SQ 
                                                <
'/etc/apache2/sites-available/nextcloud.conf.dietpi-new'
                                                >
                                              )
                                            }
                                          spids: [48046]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [48022 48033]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (C {<cp>} {<'/DietPi/dietpi/conf/apache.ownnextcloud.conf'>} 
                              {($ Id.VSub_DollarName nextcloud_conf)}
                            )
                            (command.Simple
                              words: [{<a2ensite>} {<nextcloud>}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_Great '1>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<'/dev/null'>}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                          ]
                          spids: [47965 47984]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 85>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<G_DIETPI-NOTIFY>} {<2>} 
                              {
                                (SQ 
                                  <
'Nginx webserver found, enable Nextcloud specific configuration: "https://docs.nextcloud.com/server/12/admin_manual/installation/nginx.html#nextcloud-in-a-subdir-of-nginx"'
                                  >
                                )
                              }
                            )
                            (C {<local>} 
                              {<Id.Lit_VarLike 'nextcloud_config='> 
                                (SQ <'/etc/nginx/sites-dietpi/nextcloud.config'>)
                              }
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<Id.Lit_LBracket '['>} {<-f>} 
                                              {($ Id.VSub_DollarName nextcloud_config)} {<Id.Lit_RBracket ']'>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<G_DIETPI-NOTIFY>} {<2>} 
                                      {
                                        (SQ 
                                          <
'Existing Nextcloud configuration found, will save the new one for review and comparison to: /etc/nginx/sites-dietpi/nextcloud.config.dietpi-new'
                                          >
                                        )
                                      }
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'nextcloud_config='>
                                              name: nextcloud_config
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (SQ 
                                                <
'/etc/nginx/sites-dietpi/nextcloud.config.dietpi-new'
                                                >
                                              )
                                            }
                                          spids: [48141]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [48117 48128]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (C {<cp>} {<'/DietPi/dietpi/conf/nginx.sites-dietpi.nextcloud.config'>} 
                              {($ Id.VSub_DollarName nextcloud_config)}
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_Great
                                                  left: {($ Id.VSub_DollarName G_DISTRO)}
                                                  right: {<Id.Lit_Digits 3>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<sed>} {<-i>} 
                                      {(SQ <'s|/run/php5-fpm.sock|/run/php/php7.0-fpm.sock|g'>)} {($ Id.VSub_DollarName nextcloud_config)}
                                    )
                                    (C {<sed>} {<-i>} 
                                      {
                                        (SQ 
                                          <
's/#fastcgi_request_buffering off;/fastcgi_request_buffering off;/g'
                                          >
                                        )
                                      } {($ Id.VSub_DollarName nextcloud_config)}
                                    )
                                  ]
                                  spids: [48163 48177]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.Simple
                              words: [
                                {<wget>}
                                {<-q>}
                                {<--spider>}
                                {<--timeout> <Id.Lit_Equals '='> <10>}
                                {<--tries> <Id.Lit_Equals '='> <2>}
                                {<https> <Id.Lit_Colon ':'> <'//localhost'>}
                              ]
                              redirects: [
                                (redir
                                  op: <Id.Redir_AndGreat '&>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<'/dev/null'>}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DPipe
                                                  left: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DEqual
                                                      left: {($ Id.VSub_QMark '?')}
                                                      right: {<Id.Lit_Digits 0>}
                                                    )
                                                  right: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DEqual
                                                      left: {($ Id.VSub_QMark '?')}
                                                      right: {<Id.Lit_Digits 5>}
                                                    )
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<sed>} {<-i>} 
                                      {(SQ <'s/#fastcgi_param HTTPS on;/fastcgi_param HTTPS on;/g'>)} {($ Id.VSub_DollarName nextcloud_config)}
                                    )
                                  ]
                                  spids: [48235 48256]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                          spids: [48077 48096]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 84>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<G_DIETPI-NOTIFY>} {<2>} 
                              {
                                (SQ 
                                  <
'Lighttpd webserver found, enable Nextcloud specific configuration.'
                                  >
                                )
                              }
                            )
                            (C {<local>} 
                              {<Id.Lit_VarLike 'lighttpd_conf='> (SQ <'/etc/lighttpd/lighttpd.conf'>)}
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe Id.Op_DAmp Id.Op_DPipe]
                              children: [
                                (C {<grep>} {<-q>} {(SQ <'^[[:blank:]]*"mod_setenv",'>)} 
                                  {($ Id.VSub_DollarName lighttpd_conf)}
                                )
                                (C {<grep>} {<-q>} {(SQ <'^[[:blank:]#;]*"mod_setenv",'>)} 
                                  {($ Id.VSub_DollarName lighttpd_conf)}
                                )
                                (C {<sed>} {<-i>} 
                                  {(SQ <'/^[[:blank:]#;]*"mod_setenv",/c\\\t"mod_setenv",'>)} {($ Id.VSub_DollarName lighttpd_conf)}
                                )
                                (C {<sed>} {<-i>} 
                                  {(SQ <'/^[[:blank:]]*server.modules = (/a\\\t"mod_setenv",'>)} {($ Id.VSub_DollarName lighttpd_conf)}
                                )
                              ]
                            )
                            (command.AndOr
                              ops: [Id.Op_DAmp]
                              children: [
                                (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} 
                                  {<'/etc/lighttpd/conf-available/99-dietpi-nextcloud.conf'>} {<Id.Lit_RBracket ']'>}
                                )
                                (C {<cp>} {<'/DietPi/dietpi/conf/lighttpd.nextcloud.conf'>} 
                                  {<'/etc/lighttpd/conf-available/99-dietpi-nextcloud.conf'>}
                                )
                              ]
                            )
                            (C {<lighttpd-enable-mod>} {<dietpi-nextcloud>})
                            (C {<service>} {<lighttpd>} {<force-reload>})
                          ]
                          spids: [48280 48299]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 48435
                              stdin_parts: [
                                <'[mysqld]\n'>
                                <'innodb_large_prefix=1\n'>
                                <'innodb_file_format=barracuda\n'>
                                <'innodb_file_per_table=1\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/mysql/mariadb.conf.d/99-dietpi-4byte.cnf'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<G_RUN_CMD>} {<systemctl>} {<restart>} {<mysql>})
                    (C {<.>} {<'/DietPi/dietpi/func/dietpi-globals'>})
                    (C {<local>} 
                      {<Id.Lit_VarLike 'config_php='> (SQ <'/var/www/nextcloud/config/config.php'>)}
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'datadir='> 
                        (DQ 
                          (command_sub
                            left_token: <Id.Left_DollarParen '$('>
                            child: 
                              (command.Pipeline
                                children: [
                                  (C {<grep>} {<-m1>} {(SQ <'^[[:blank:]]*SOFTWARE_NEXTCLOUD_DATADIR='>)} 
                                    {<'/DietPi/dietpi.txt'>}
                                  )
                                  (C {<sed>} {(SQ <'s/^.*=//'>)})
                                ]
                                negated: F
                                stderr_indices: []
                              )
                            right: <Id.Eof_RParen _>
                          )
                        )
                      }
                    )
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName datadir))} 
                          {<Id.Lit_RBracket ']'>}
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'datadir='> name:datadir)
                              op: assign_op.Equal
                              rhs: 
                                {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/nextcloud_data'>)}
                              spids: [48508]
                            )
                          ]
                          redirects: []
                        )
                      ]
                    )
                    (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName datadir))})
                    (command.Simple
                      words: [{<Install_Apply_Permissions>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {<-d>} 
                                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) 
                                        <'/mysql/nextcloud'>
                                      } {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<G_DIETPI-NOTIFY>} {<2>} 
                              {(SQ <'Nextcloud database found, will NOT overwrite.'>)}
                            )
                          ]
                          spids: [48532 48546]
                        )
                      ]
                      else_action: [
                        (command.If
                          arms: [
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (C {<Id.Lit_LBracket '['>} {<-f>} 
                                          {(DQ ($ Id.VSub_DollarName datadir)) 
                                            <'/dietpi-nextcloud-database-backup.sql'>
                                          } {<Id.Lit_RBracket ']'>}
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (C {<G_DIETPI-NOTIFY>} {<2>} 
                                  {(SQ <'Nextcloud database backup found, starting recovery...'>)}
                                )
                                (C {<local>} 
                                  {<Id.Lit_VarLike 'dbuser='> 
                                    (command_sub
                                      left_token: <Id.Left_DollarParen '$('>
                                      child: 
                                        (command.Pipeline
                                          children: [
                                            (C {<grep>} {<-m1>} {(DQ <'^[[:blank:]]*\'dbuser\''>)} 
                                              {($ Id.VSub_DollarName config_php)}
                                            )
                                            (C {<awk>} {(SQ <'{print $3}'>)})
                                            (C {<sed>} {(DQ <'s/[\',]//g'>)})
                                          ]
                                          negated: F
                                          stderr_indices: []
                                        )
                                      right: <Id.Eof_RParen _>
                                    )
                                  }
                                )
                                (C {<local>} 
                                  {<Id.Lit_VarLike 'dbpass='> 
                                    (command_sub
                                      left_token: <Id.Left_DollarParen '$('>
                                      child: 
                                        (command.Pipeline
                                          children: [
                                            (C {<grep>} {<-m1>} {(DQ <'^[[:blank:]]*\'dbpassword\''>)} 
                                              {($ Id.VSub_DollarName config_php)}
                                            )
                                            (C {<awk>} {(SQ <'{print $3}'>)})
                                            (C {<sed>} {(DQ <'s/[\',]//g'>)})
                                          ]
                                          negated: F
                                          stderr_indices: []
                                        )
                                      right: <Id.Eof_RParen _>
                                    )
                                  }
                                )
                                (C {<'/DietPi/dietpi/func/create_mysql_db'>} {<nextcloud>} 
                                  {(DQ ($ Id.VSub_DollarName dbuser))} {(DQ ($ Id.VSub_DollarName dbpass))}
                                )
                                (command.Simple
                                  words: [{<mysql>} {<-uroot>} {<nextcloud>}]
                                  redirects: [
                                    (redir
                                      op: <Id.Redir_Less '<'>
                                      loc: (redir_loc.Fd fd:0)
                                      arg: 
                                        {(DQ ($ Id.VSub_DollarName datadir)) 
                                          <'/dietpi-nextcloud-database-backup.sql'>
                                        }
                                    )
                                  ]
                                  more_env: []
                                  do_fork: T
                                )
                              ]
                              spids: [48564 48578]
                            )
                          ]
                          else_action: [
                            (C {<local>} 
                              {<Id.Lit_VarLike 'username='> 
                                (DQ 
                                  (command_sub
                                    left_token: <Id.Left_DollarParen '$('>
                                    child: 
                                      (command.Pipeline
                                        children: [
                                          (C {<grep>} {<-m1>} 
                                            {
                                              (SQ 
                                                <
'^[[:blank:]]*SOFTWARE_OWNCLOUD_NEXTCLOUD_USERNAME='
                                                >
                                              )
                                            } {<'/DietPi/dietpi.txt'>}
                                          )
                                          (C {<sed>} {(SQ <'s/^.*=//'>)})
                                        ]
                                        negated: F
                                        stderr_indices: []
                                      )
                                    right: <Id.Eof_RParen _>
                                  )
                                )
                              }
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName username))} 
                                  {<Id.Lit_RBracket ']'>}
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'username='>
                                          name: username
                                        )
                                      op: assign_op.Equal
                                      rhs: {(SQ <admin>)}
                                      spids: [48725]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                            )
                            (C {<mysql>} {<-e>} 
                              {
                                (DQ 
                                  <
'grant all privileges on *.* to \'tmp_root\'@\'localhost\' identified by \''
                                  > ($ Id.VSub_DollarName GLOBAL_PW) <'\' with grant option'>
                                )
                              }
                            )
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (command.Simple
                                  words: [
                                    {<grep>}
                                    {<-q>}
                                    {(DQ <'\'installed\' => true,'>)}
                                    {($ Id.VSub_DollarName config_php)}
                                  ]
                                  redirects: [
                                    (redir
                                      op: <Id.Redir_Great '2>'>
                                      loc: (redir_loc.Fd fd:2)
                                      arg: {<'/dev/null'>}
                                    )
                                  ]
                                  more_env: []
                                  do_fork: T
                                )
                                (C {<ncc>} {<maintenance> <Id.Lit_Colon ':'> <install>} 
                                  {<--no-interaction>} {<--database>} {(DQ <mysql>)} {<--database-name>} {(DQ <nextcloud>)} {<--database-user>} {(DQ <tmp_root>)} 
                                  {<--database-pass>} {(DQ ($ Id.VSub_DollarName GLOBAL_PW))} {<--admin-user>} {(DQ ($ Id.VSub_DollarName username))} 
                                  {<--admin-pass>} {(DQ ($ Id.VSub_DollarName GLOBAL_PW))} {<--data-dir>} {(DQ ($ Id.VSub_DollarName datadir))}
                                )
                              ]
                            )
                            (C {<mysql>} {<-e>} {(DQ <'drop user \'tmp_root\'@\'localhost\''>)})
                          ]
                          redirects: []
                        )
                      ]
                      redirects: []
                    )
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (C {<grep>} {<-q>} {(DQ <'^[[:blank:]]*\'mysql.utf8mb4\''>)} 
                          {($ Id.VSub_DollarName config_php)}
                        )
                        (C {<sed>} {<-i>} 
                          {
                            (DQ <'/^[[:blank:]]*\'dbpassword\'/a '> <Id.Lit_BadBackslash '\\'> <' '> 
                              <Id.Lit_BadBackslash '\\'> <' \'mysql.utf8mb4\' => true,'>
                            )
                          } {($ Id.VSub_DollarName config_php)}
                        )
                      ]
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Unary
                                          op_id: Id.Arith_Bang
                                          child: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_DollarParen '$('>
                                                child: 
                                                  (command.Pipeline
                                                    children: [
                                                      (C {<cat>} {($ Id.VSub_DollarName config_php)})
                                                      (C {<grep>} {<-ci>} {<-m1>} {(DQ <'1 => \'*\''>)})
                                                    ]
                                                    negated: F
                                                    stderr_indices: []
                                                  )
                                                right: <Id.Eof_RParen _>
                                              )
                                            }
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<sed>} {<-i>} {(DQ <'/0 => \'localhost\'/a     1 => \'*\','>)} 
                              {($ Id.VSub_DollarName config_php)}
                            )
                          ]
                          spids: [48867 48895]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<sed>} {<-i>} {(DQ <'s|\'http://localhost\'|\'http://localhost/nextcloud\'|g'>)} 
                      {($ Id.VSub_DollarName config_php)}
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 83>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (C {<grep>} {<-q>} {(DQ <'^[[:blank:]]*\'htaccess.RewriteBase\''>)} 
                                  {($ Id.VSub_DollarName config_php)}
                                )
                                (C {<sed>} {<-i>} 
                                  {
                                    (DQ <'/^[[:blank:]]*\'overwrite.cli.url\'/a '> 
                                      <Id.Lit_BadBackslash '\\'> <' '> <Id.Lit_BadBackslash '\\'> <' \'htaccess.RewriteBase\' => \'/nextcloud\','>
                                    )
                                  } {($ Id.VSub_DollarName config_php)}
                                )
                              ]
                            )
                            (C {<ncc>} 
                              {<maintenance> <Id.Lit_Colon ':'> <update> <Id.Lit_Colon ':'> <htaccess>}
                            )
                          ]
                          spids: [48935 48954]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (C {<grep>} {<-q>} {(DQ <'^[[:blank:]]*\'memcache.local\''>)} 
                          {($ Id.VSub_DollarName config_php)}
                        )
                        (C {<sed>} {<-i>} 
                          {
                            (DQ <'/^[[:blank:]]*\'version\'/a '> <Id.Lit_BadBackslash '\\'> <' '> 
                              <Id.Lit_BadBackslash '\\'> <' \'memcache.local\' => \''> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') 
                              <Id.Lit_BadBackslash '\\'> <OC> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <Id.Lit_BadBackslash '\\'> 
                              <Memcache> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <Id.Lit_BadBackslash '\\'> 
                              <'APCu\','>
                            )
                          } {($ Id.VSub_DollarName config_php)}
                        )
                      ]
                    )
                    (C {<local>} {<Id.Lit_VarLike 'redis_conf='> (DQ <'/etc/redis/redis*.conf'>)})
                    (command.AndOr
                      ops: [Id.Op_DPipe Id.Op_DAmp Id.Op_DPipe]
                      children: [
                        (C {<grep>} {<-q>} {(DQ <'^[[:blank:]]*unixsocket /'>)} 
                          {($ Id.VSub_DollarName redis_conf)}
                        )
                        (C {<grep>} {<-q>} {(SQ <'^[[:blank:]]*#unixsocket /'>)} 
                          {($ Id.VSub_DollarName redis_conf)}
                        )
                        (C {<sed>} {<-i>} {(SQ <'s|^[[:blank:]]*#unixsocket /|unixsocket /|'>)} 
                          {($ Id.VSub_DollarName redis_conf)}
                        )
                        (command.Simple
                          words: [{<echo>} {(SQ <'unixsocket /var/run/redis/redis.sock'>)}]
                          redirects: [
                            (redir
                              op: <Id.Redir_DGreat '>>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {($ Id.VSub_DollarName redis_conf)}
                            )
                          ]
                          more_env: []
                          do_fork: T
                        )
                      ]
                    )
                    (command.AndOr
                      ops: [Id.Op_DAmp Id.Op_DPipe]
                      children: [
                        (C {<grep>} {<-q>} {(DQ <'^[[:blank:]]*#?unixsocketperm '>)} 
                          {($ Id.VSub_DollarName redis_conf)}
                        )
                        (C {<sed>} {<-i>} 
                          {
                            (DQ <'/^[[:blank:]]*#?unixsocketperm /c'> <Id.Lit_BadBackslash '\\'> 
                              <'unixsocketperm 770'>
                            )
                          } {($ Id.VSub_DollarName redis_conf)}
                        )
                        (command.Simple
                          words: [{<echo>} {(SQ <'unixsocketperm 770'>)}]
                          redirects: [
                            (redir
                              op: <Id.Redir_DGreat '>>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {($ Id.VSub_DollarName redis_conf)}
                            )
                          ]
                          more_env: []
                          do_fork: T
                        )
                      ]
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'redis_sock='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<grep>} {(DQ <'^[[:blank:]]*unixsocket /'>)} 
                                  {($ Id.VSub_DollarName redis_conf)}
                                )
                                (C {<sed>} {(DQ <'s/^[[:blank:]]*unixsocket //'>)})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (C {<usermod>} {<-a>} {<-G>} {<redis>} {<www-data>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Unary
                                          op_id: Id.Arith_Bang
                                          child: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_DollarParen '$('>
                                                child: 
                                                  (command.Pipeline
                                                    children: [
                                                      (C {<cat>} {($ Id.VSub_DollarName config_php)})
                                                      (C {<grep>} {<-ci>} {<-m1>} 
                                                        {(DQ <'\'memcache.locking\''>)}
                                                      )
                                                    ]
                                                    negated: F
                                                    stderr_indices: []
                                                  )
                                                right: <Id.Eof_RParen _>
                                              )
                                            }
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<sed>} {<-i>} 
                              {
                                (DQ <Id.Lit_BadBackslash '\\'> <'#\'memcache.local\'#a '> 
                                  <Id.Lit_BadBackslash '\\'> <' '> <Id.Lit_BadBackslash '\\'> <' \'filelocking.enabled\' => true,'> <Id.Lit_BadBackslash '\\'> <n> 
                                  <'  \'memcache.locking\' => \''> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <Id.Lit_BadBackslash '\\'> <OC> 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\\\'>
                                    ch: '\\'
                                  ) <Id.Lit_BadBackslash '\\'> <Memcache> 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\\\'>
                                    ch: '\\'
                                  ) <Id.Lit_BadBackslash '\\'> <'Redis\','> <Id.Lit_BadBackslash '\\'> <n> <'  \'redis\' => array('> 
                                  <Id.Lit_BadBackslash '\\'> <n> <'    \'host\' => \''> ($ Id.VSub_DollarName redis_sock) <'\','> <Id.Lit_BadBackslash '\\'> <n> 
                                  <'    \'port\' => 0,'> <Id.Lit_BadBackslash '\\'> <n> <'    ),'>
                                )
                              } {($ Id.VSub_DollarName config_php)}
                            )
                          ]
                          spids: [49181 49209]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (command.Pipeline
                          children: [
                            (command.Simple
                              words: [{<crontab>} {<-u>} {<www-data>} {<-l>}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_Great '2>'>
                                  loc: (redir_loc.Fd fd:2)
                                  arg: {<'/dev/null'>}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                            (C {<grep>} {<-q>} {(SQ <'/var/www/nextcloud/cron.php'>)})
                          ]
                          negated: F
                          stderr_indices: []
                        )
                        (command.Pipeline
                          children: [
                            (command.Subshell
                              child: 
                                (command.CommandList
                                  children: [
                                    (command.Sentence
                                      child: 
                                        (command.Simple
                                          words: [{<crontab>} {<-u>} {<www-data>} {<-l>}]
                                          redirects: [
                                            (redir
                                              op: <Id.Redir_Great '2>'>
                                              loc: (redir_loc.Fd fd:2)
                                              arg: {<'/dev/null'>}
                                            )
                                          ]
                                          more_env: []
                                          do_fork: T
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                    (C {<echo>} {(DQ <'*/15 * * * * php /var/www/nextcloud/cron.php'>)})
                                  ]
                                )
                              redirects: []
                            )
                            (C {<crontab>} {<-u>} {<www-data>} {<->})
                          ]
                          negated: F
                          stderr_indices: []
                        )
                      ]
                    )
                    (C {<ncc>} {<background> <Id.Lit_Colon ':'> <cron>})
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (C {<grep>} {<-q>} {(DQ <'^[[:blank:]]*\'maintenance\' => true,'>)} 
                          {($ Id.VSub_DollarName config_php)}
                        )
                        (C {<ncc>} {<maintenance> <Id.Lit_Colon ':'> <mode>} {<--on>})
                      ]
                    )
                  ]
                  spids: [47579 47598]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<44>}
                  spids: [49368]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<rm>} {<'/etc/init.d/transmission-daemon'>})
                    (C {<rm>} {<'/etc/systemd/system/transmission-daemon.service'>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 49437
                              stdin_parts: [
                                <'[Unit]\n'>
                                <'Description=Barebones transmission-daemon service\n'>
                                <'DefaultDependencies=no\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <'Type=oneshot\n'>
                                <'RemainAfterExit=yes\n'>
                                <
'ExecStart=/usr/bin/transmission-daemon --config-dir /var/lib/transmission-daemon/info\n'
                                >
                                <'ExecStop=/usr/bin/killall -w transmission-daemon\n'>
                                <'StandardOutput=tty\n'>
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=multi-user.target\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/systemd/system/transmission-daemon.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 49845
                              stdin_parts: [
                                <'{\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <alt-speed-down>
                                <Id.Right_DoubleQuote '"'>
                                <': 50,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <alt-speed-enabled>
                                <Id.Right_DoubleQuote '"'>
                                <': false,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <alt-speed-time-begin>
                                <Id.Right_DoubleQuote '"'>
                                <': 540,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <alt-speed-time-day>
                                <Id.Right_DoubleQuote '"'>
                                <': 127,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <alt-speed-time-enabled>
                                <Id.Right_DoubleQuote '"'>
                                <': false,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <alt-speed-time-end>
                                <Id.Right_DoubleQuote '"'>
                                <': 1020,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <alt-speed-up>
                                <Id.Right_DoubleQuote '"'>
                                <': 50,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <bind-address-ipv4>
                                <Id.Right_DoubleQuote '"'>
                                <': '>
                                <Id.Right_DoubleQuote '"'>
                                <0.0.0.0>
                                <Id.Right_DoubleQuote '"'>
                                <',\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <bind-address-ipv6>
                                <Id.Right_DoubleQuote '"'>
                                <': '>
                                <Id.Right_DoubleQuote '"'>
                                <'::'>
                                <Id.Right_DoubleQuote '"'>
                                <',\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <blocklist-enabled>
                                <Id.Right_DoubleQuote '"'>
                                <': false,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <blocklist-url>
                                <Id.Right_DoubleQuote '"'>
                                <': '>
                                <Id.Right_DoubleQuote '"'>
                                <'http://www.example.com/blocklist'>
                                <Id.Right_DoubleQuote '"'>
                                <',\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <cache-size-mb>
                                <Id.Right_DoubleQuote '"'>
                                <': 48,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <dht-enabled>
                                <Id.Right_DoubleQuote '"'>
                                <': true,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <download-dir>
                                <Id.Right_DoubleQuote '"'>
                                <': '>
                                <Id.Right_DoubleQuote '"'>
                                ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)
                                <'/downloads'>
                                <Id.Right_DoubleQuote '"'>
                                <',\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <download-limit>
                                <Id.Right_DoubleQuote '"'>
                                <': 100,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <download-limit-enabled>
                                <Id.Right_DoubleQuote '"'>
                                <': false,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <download-queue-enabled>
                                <Id.Right_DoubleQuote '"'>
                                <': true,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <download-queue-size>
                                <Id.Right_DoubleQuote '"'>
                                <': 2,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <encryption>
                                <Id.Right_DoubleQuote '"'>
                                <': 2,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <idle-seeding-limit>
                                <Id.Right_DoubleQuote '"'>
                                <': 1,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <idle-seeding-limit-enabled>
                                <Id.Right_DoubleQuote '"'>
                                <': true,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <incomplete-dir>
                                <Id.Right_DoubleQuote '"'>
                                <': '>
                                <Id.Right_DoubleQuote '"'>
                                ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)
                                <'/bt-inprogress'>
                                <Id.Right_DoubleQuote '"'>
                                <',\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <incomplete-dir-enabled>
                                <Id.Right_DoubleQuote '"'>
                                <': false,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <lpd-enabled>
                                <Id.Right_DoubleQuote '"'>
                                <': false,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <max-peers-global>
                                <Id.Right_DoubleQuote '"'>
                                <': 8,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <message-level>
                                <Id.Right_DoubleQuote '"'>
                                <': 0,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <peer-congestion-algorithm>
                                <Id.Right_DoubleQuote '"'>
                                <': '>
                                <Id.Right_DoubleQuote '"'>
                                <Id.Right_DoubleQuote '"'>
                                <',\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <peer-limit-global>
                                <Id.Right_DoubleQuote '"'>
                                <': 8,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <peer-limit-per-torrent>
                                <Id.Right_DoubleQuote '"'>
                                <': 5,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <peer-port>
                                <Id.Right_DoubleQuote '"'>
                                <': 51413,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <peer-port-random-high>
                                <Id.Right_DoubleQuote '"'>
                                <': 65535,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <peer-port-random-low>
                                <Id.Right_DoubleQuote '"'>
                                <': 49152,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <peer-port-random-on-start>
                                <Id.Right_DoubleQuote '"'>
                                <': false,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <peer-socket-tos>
                                <Id.Right_DoubleQuote '"'>
                                <': '>
                                <Id.Right_DoubleQuote '"'>
                                <default>
                                <Id.Right_DoubleQuote '"'>
                                <',\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <pex-enabled>
                                <Id.Right_DoubleQuote '"'>
                                <': true,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <port-forwarding-enabled>
                                <Id.Right_DoubleQuote '"'>
                                <': true,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <preallocation>
                                <Id.Right_DoubleQuote '"'>
                                <': 1,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <prefetch-enabled>
                                <Id.Right_DoubleQuote '"'>
                                <': 1,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <queue-stalled-enabled>
                                <Id.Right_DoubleQuote '"'>
                                <': true,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <queue-stalled-minutes>
                                <Id.Right_DoubleQuote '"'>
                                <': 30,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <ratio-limit>
                                <Id.Right_DoubleQuote '"'>
                                <': 1.1,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <ratio-limit-enabled>
                                <Id.Right_DoubleQuote '"'>
                                <': true,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <rename-partial-files>
                                <Id.Right_DoubleQuote '"'>
                                <': true,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <rpc-authentication-required>
                                <Id.Right_DoubleQuote '"'>
                                <': true,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <rpc-bind-address>
                                <Id.Right_DoubleQuote '"'>
                                <': '>
                                <Id.Right_DoubleQuote '"'>
                                <0.0.0.0>
                                <Id.Right_DoubleQuote '"'>
                                <',\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <rpc-enabled>
                                <Id.Right_DoubleQuote '"'>
                                <': true,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <rpc-password>
                                <Id.Right_DoubleQuote '"'>
                                <': '>
                                <Id.Right_DoubleQuote '"'>
                                ($ Id.VSub_DollarName GLOBAL_PW)
                                <Id.Right_DoubleQuote '"'>
                                <',\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <rpc-port>
                                <Id.Right_DoubleQuote '"'>
                                <': 9091,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <rpc-url>
                                <Id.Right_DoubleQuote '"'>
                                <': '>
                                <Id.Right_DoubleQuote '"'>
                                <'/transmission/'>
                                <Id.Right_DoubleQuote '"'>
                                <',\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <rpc-username>
                                <Id.Right_DoubleQuote '"'>
                                <': '>
                                <Id.Right_DoubleQuote '"'>
                                <root>
                                <Id.Right_DoubleQuote '"'>
                                <',\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <rpc-whitelist>
                                <Id.Right_DoubleQuote '"'>
                                <': '>
                                <Id.Right_DoubleQuote '"'>
                                <'192.*.*.*'>
                                <Id.Right_DoubleQuote '"'>
                                <',\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <rpc-whitelist-enabled>
                                <Id.Right_DoubleQuote '"'>
                                <': false,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <scrape-paused-torrents-enabled>
                                <Id.Right_DoubleQuote '"'>
                                <': true,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <script-torrent-done-enabled>
                                <Id.Right_DoubleQuote '"'>
                                <': false,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <script-torrent-done-filename>
                                <Id.Right_DoubleQuote '"'>
                                <': '>
                                <Id.Right_DoubleQuote '"'>
                                <Id.Right_DoubleQuote '"'>
                                <',\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <seed-queue-enabled>
                                <Id.Right_DoubleQuote '"'>
                                <': false,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <seed-queue-size>
                                <Id.Right_DoubleQuote '"'>
                                <': 10,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <speed-limit-down>
                                <Id.Right_DoubleQuote '"'>
                                <': 100,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <speed-limit-down-enabled>
                                <Id.Right_DoubleQuote '"'>
                                <': false,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <speed-limit-up>
                                <Id.Right_DoubleQuote '"'>
                                <': 100,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <speed-limit-up-enabled>
                                <Id.Right_DoubleQuote '"'>
                                <': false,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <start-added-torrents>
                                <Id.Right_DoubleQuote '"'>
                                <': true,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <trash-original-torrent-files>
                                <Id.Right_DoubleQuote '"'>
                                <': true,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <umask>
                                <Id.Right_DoubleQuote '"'>
                                <': 18,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <upload-limit>
                                <Id.Right_DoubleQuote '"'>
                                <': 100,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <upload-limit-enabled>
                                <Id.Right_DoubleQuote '"'>
                                <': false,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <upload-slots-per-torrent>
                                <Id.Right_DoubleQuote '"'>
                                <': 2,\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <utp-enabled>
                                <Id.Right_DoubleQuote '"'>
                                <': true\n'>
                                <'}\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/transmission-daemon/settings.json'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<sed>} {<-i>} 
                      {(SQ <'/cache-size-mb/c\\    "cache-size-mb": '>) 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: (C {<Optimize_BitTorrent>} {<0>})
                          right: <Id.Eof_RParen _>
                        ) (SQ <','>)
                      } {<'/etc/transmission-daemon/settings.json'>}
                    )
                    (C {<sed>} {<-i>} 
                      {(SQ <'/download-queue-size/c\\    "download-queue-size": '>) 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: (C {<Optimize_BitTorrent>} {<1>})
                          right: <Id.Eof_RParen _>
                        ) (SQ <','>)
                      } {<'/etc/transmission-daemon/settings.json'>}
                    )
                    (C {<sed>} {<-i>} 
                      {(SQ <'/peer-limit-global/c\\    "peer-limit-global": '>) 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: (C {<Optimize_BitTorrent>} {<2>})
                          right: <Id.Eof_RParen _>
                        ) (SQ <','>)
                      } {<'/etc/transmission-daemon/settings.json'>}
                    )
                    (C {<sed>} {<-i>} 
                      {(SQ <'/max-peers-global/c\\    "max-peers-global": '>) 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: (C {<Optimize_BitTorrent>} {<2>})
                          right: <Id.Eof_RParen _>
                        ) (SQ <','>)
                      } {<'/etc/transmission-daemon/settings.json'>}
                    )
                    (C {<sed>} {<-i>} 
                      {(SQ <'/peer-limit-per-torrent/c\\    "peer-limit-per-torrent": '>) 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: (C {<Optimize_BitTorrent>} {<2>})
                          right: <Id.Eof_RParen _>
                        ) (SQ <','>)
                      } {<'/etc/transmission-daemon/settings.json'>}
                    )
                    (C {<sed>} {<-i>} 
                      {(SQ <'/upload-slots-per-torrent/c\\    "upload-slots-per-torrent": '>) 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: (C {<Optimize_BitTorrent>} {<3>})
                          right: <Id.Eof_RParen _>
                        ) (SQ <','>)
                      } {<'/etc/transmission-daemon/settings.json'>}
                    )
                  ]
                  spids: [49372 49391]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<54>}
                  spids: [49975]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<'/DietPi/dietpi/func/create_mysql_db'>} {<phpbb3>} {<phpbb3>} 
                      {(DQ ($ Id.VSub_DollarName GLOBAL_PW))}
                    )
                  ]
                  spids: [49979 49998]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<128>}
                  spids: [50026]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<useradd>} {<-r>} {<-M>} {<mpd>} {<-G>} {<audio>} {<-s>} {<'/usr/bin/nologin'>})
                    (C {<mkdir>} {<-p>} {<'/var/lib/mpd'>})
                    (C {<mkdir>} {<-p>} {<'/var/run/mpd'>})
                    (C {<mkdir>} {<-p>} {<'/var/lib/mpd/music'>})
                    (C {<mkdir>} {<-p>} {<'/var/lib/mpd/playlists'>})
                    (C {<touch>} {<'/var/lib/mpd/state'>})
                    (command.Simple
                      words: [{<rm>} {<'/var/lib/mpd/music/MNT'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<ln>} {<-sf>} {<'/mnt'>} {<'/var/lib/mpd/music/MNT'>})
                    (C {<chown>} {<-R>} {<mpd> <Id.Lit_Colon ':'> <audio>} {<'/var/lib/mpd'>})
                    (C {<mkdir>} {<-p>} {<'/var/log/mpd'>})
                    (C {<touch>} {<'/var/log/mpd/mpd.log'>})
                    (C {<chmod>} {<644>} {<'/var/log/mpd/mpd.log'>})
                    (C {<chown>} {<-R>} {<mpd> <Id.Lit_Colon ':'> <audio>} {<'/var/log/mpd'>})
                    (C {<mkdir>} {<-p>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/.mpd_cache'>}
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 50217
                              stdin_parts: [
                                <
'#Even though we declare the conf location in our service, MPD will fail to start if this file does not exist.\n'
                                >
                                <'## The configuration file location for mpd:\n'>
                                <'MPDCONF=/etc/mpd.conf\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/default/mpd'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 50251
                              stdin_parts: [
                                <'[Unit]\n'>
                                <'Description=Music Player Daemon\n'>
                                <'After=network.target sound.target\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <'User=root\n'>
                                <'EnvironmentFile=/etc/default/mpd\n'>
                                <'ExecStartPre=/bin/mkdir -p /var/run/mpd\n'>
                                <'ExecStartPre=/bin/chown -R mpd:audio /var/run/mpd\n'>
                                <'ExecStart='>
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: (C {<which>} {<mpd>})
                                  right: <Id.Eof_RParen _>
                                )
                                <' --no-daemon /etc/mpd.conf\n'>
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=multi-user.target\n'>
                                <'\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/lib/systemd/system/mpd.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<cp>} {<'/DietPi/dietpi/conf/mpd.conf'>} {<'/etc/mpd.conf'>})
                    (C {<chown>} {<mpd> <Id.Lit_Colon ':'> <audio>} {<'/etc/mpd.conf'>})
                    (C {<chmod>} {<0666>} {<'/etc/mpd.conf'>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        {
                                          (command_sub
                                            left_token: <Id.Left_DollarParen '$('>
                                            child: 
                                              (command.Pipeline
                                                children: [
                                                  (C {<cat>} {<'/DietPi/dietpi.txt'>})
                                                  (C {<grep>} {<-ci>} {<-m1>} 
                                                    {(SQ <'^CONFIG_SOUNDCARD=justboom'>)}
                                                  )
                                                ]
                                                negated: F
                                                stderr_indices: []
                                              )
                                            right: <Id.Eof_RParen _>
                                          )
                                        }
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<local>} 
                              {<Id.Lit_VarLike 'justboom_soundcard_desc='> (SQ <'JustBoom DietPi'>)}
                            )
                            (C {<sed>} {<-i>} 
                              {
                                (DQ <'/^name '> 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  ) <'/c'> <Id.Lit_BadBackslash '\\'> <'name '> 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  ) ($ Id.VSub_DollarName justboom_soundcard_desc) 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  )
                                )
                              } {<'/etc/mpd.conf'>}
                            )
                            (C {<sed>} {<-i>} 
                              {
                                (DQ <'/^zeroconf_name '> 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  ) <'/c'> <Id.Lit_BadBackslash '\\'> <'zeroconf_name '> 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  ) ($ Id.VSub_DollarName justboom_soundcard_desc) 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\"'>
                                    ch: '"'
                                  )
                                )
                              } {<'/etc/mpd.conf'>}
                            )
                            (C {<local>} {<Id.Lit_VarLike 'target_bitdepth='> <32>})
                            (C {<local>} {<Id.Lit_VarLike 'target_rate='> <192000>})
                            (C {<sed>} {<-i>} 
                              {(SQ <'/^format "/c\\format "'>) ($ Id.VSub_DollarName target_rate) 
                                (SQ <':'>) ($ Id.VSub_DollarName target_bitdepth) (SQ <':2"'>)
                              } {<'/etc/mpd.conf'>}
                            )
                            (C {<sed>} {<-i>} 
                              {(SQ <'/audio_output_format "/c\\audio_output_format "'>) 
                                ($ Id.VSub_DollarName target_rate) (SQ <':'>) ($ Id.VSub_DollarName target_bitdepth) (SQ <':2"'>)
                              } {<'/etc/mpd.conf'>}
                            )
                            (C {<sed>} {<-i>} 
                              {
                                (SQ 
                                  <
'/samplerate_converter "/c\\samplerate_converter "soxr very high"'
                                  >
                                )
                              } {<'/etc/mpd.conf'>}
                            )
                          ]
                          spids: [50287 50313]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<Download_Test_Media>})
                  ]
                  spids: [50030 50049]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<94>}
                  spids: [50464]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<sed>} {<-i>} {(DQ <'/root/c'> <Id.Lit_BadBackslash '\\'> <'#root'>)} 
                      {<'/etc/ftpusers'>}
                    )
                    (C {<cp>} {<'/DietPi/dietpi/conf/proftpd.conf'>} {<'/etc/proftpd/proftpd.conf'>})
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/DefaultRoot /c'> <Id.Lit_BadBackslash '\\'> <'DefaultRoot '> 
                          ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)
                        )
                      } {<'/etc/proftpd/proftpd.conf'>}
                    )
                  ]
                  spids: [50468 50487]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<96>}
                  spids: [50538]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (command.Pipeline
                      children: [
                        (C {<echo>} {<-e>} {(DQ <dietpi> <Id.Lit_BadBackslash '\\'> <ndietpi>)})
                        (C {<smbpasswd>} {<-s>} {<-a>} {<root>})
                      ]
                      negated: F
                      stderr_indices: []
                    )
                    (C {<cp>} {<'/DietPi/dietpi/conf/smb.conf'>} {<'/etc/samba/smb.conf'>})
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/path = /c'> <Id.Lit_BadBackslash '\\'> <'path = '> 
                          ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)
                        )
                      } {<'/etc/samba/smb.conf'>}
                    )
                  ]
                  spids: [50542 50561]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<95>}
                  spids: [50621]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<sed>} {<-i>} {(SQ <'/root/c\\#root'>)} {<'/etc/ftpusers'>})
                    (C {<cp>} {<'/DietPi/dietpi/conf/vsftpd.conf'>} {<'/etc/vsftpd.conf'>})
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/^local_root=/c'> <Id.Lit_BadBackslash '\\'> <'local_root='> 
                          ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)
                        )
                      } {<'/etc/vsftpd.conf'>}
                    )
                  ]
                  spids: [50625 50644]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<109>}
                  spids: [50694]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 50738
                              stdin_parts: [
                                ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)
                                <' *(rw,async,no_root_squash,fsid=0,crossmnt,no_subtree_check)\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/exports'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [50698 50717]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<32>}
                  spids: [50749]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 50806
                              stdin_parts: [
                                <'[Unit]\n'>
                                <'Description=YMPD\n'>
                                <'After=mpd.service\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <'Type=simple\n'>
                                <'User=root\n'>
                                <'ExecStart=/usr/bin/ympd --user root --webport 1337\n'>
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=multi-user.target\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/systemd/system/ympd.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [50753 50772]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<121>}
                  spids: [50817]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/roon'>})
                    (C {<cp>} {<'/DietPi/dietpi/conf/roonbridge.service'>} 
                      {<'/etc/systemd/system/roonbridge.service'>}
                    )
                    (command.Simple
                      words: [
                        {<rm>}
                        {<-R>}
                        {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/roon/RoonBridge/Logs'>}
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [
                        {<rm>}
                        {<-R>}
                        {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/roon/RAATServer/Logs'>}
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<mkdir>} {<-p>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/roon/RoonBridge'>}
                    )
                    (C {<mkdir>} {<-p>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/roon/RAATServer'>}
                    )
                    (C {<ln>} {<-sf>} {<'/var/log'>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/roon/RoonBridge/Logs'>}
                    )
                    (C {<ln>} {<-sf>} {<'/var/log'>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/roon/RAATServer/Logs'>}
                    )
                  ]
                  spids: [50821 50840]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<122>}
                  spids: [50958]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/node-red'>})
                    (C {<adduser>} {<nodered>} {<--system>} {<--group>} {<--no-create-home>} 
                      {<--shell> <Id.Lit_Equals '='> <'/bin/nologin'>}
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 51039
                              stdin_parts: [
                                <'[Unit]\n'>
                                <'Description=Node-Red\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <'Type=simple\n'>
                                <'User=nodered\n'>
                                <'ExecStart=/usr/local/bin/node-red -u '>
                                ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)
                                <'/node-red\n'>
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=multi-user.target\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/systemd/system/node-red.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/node-red'>} 
                      {(DQ ($ Id.VSub_DollarName HOME)) <'/.node-red'>}
                    )
                  ]
                  spids: [50962 50981]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<125>}
                  spids: [51070]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/JAVA_HOME=/c'> <Id.Lit_BadBackslash '\\'> <'JAVA_HOME='> 
                          (command_sub
                            left_token: <Id.Left_DollarParen '$('>
                            child: 
                              (C {<find>} 
                                {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\/'> ch:'/') 
                                  <usr> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\/'> ch:'/') <lib> 
                                  (word_part.EscapedLiteral
                                    token: <Id.Lit_EscapedChar '\\/'>
                                    ch: '/'
                                  ) <jvm> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\/'> ch:'/')
                                } {<-name>} {<java-8-openjdk> <Id.Lit_Star '*'>}
                              )
                            right: <Id.Eof_RParen _>
                          )
                        )
                      } {<'/etc/default/tomcat8'>}
                    )
                  ]
                  spids: [51074 51093]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<119>}
                  spids: [51139]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/cava'>})
                    (C {<cp>} {<'/DietPi/dietpi/conf/cava.conf'>} 
                      {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/cava/config'>}
                    )
                    (C {<sed>} {<-i>} {(SQ <'/audio_buffer_size /c\\audio_buffer_size "384"'>)} 
                      {<'/etc/mpd.conf'>}
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Unary
                                          op_id: Id.Arith_Bang
                                          child: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_DollarParen '$('>
                                                child: 
                                                  (command.Pipeline
                                                    children: [
                                                      (C {<cat>} {<'/etc/mpd.conf'>})
                                                      (C {<grep>} {<-ci>} {<-m1>} {(SQ <'/tmp/mpd.fifo'>)})
                                                    ]
                                                    negated: F
                                                    stderr_indices: []
                                                  )
                                                right: <Id.Eof_RParen _>
                                              )
                                            }
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.Simple
                              words: [{<cat>}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DLess '<<'>
                                  loc: (redir_loc.Fd fd:0)
                                  arg: 
                                    (redir_param.HereDoc
                                      here_begin: {<_EOF_>}
                                      here_end_span_id: 51289
                                      stdin_parts: [
                                        <'\n'>
                                        <'#Cava fifo stream\n'>
                                        <'audio_output {\n'>
                                        <'\n'>
                                        <'    type '>
                                        <Id.Right_DoubleQuote '"'>
                                        <fifo>
                                        <Id.Right_DoubleQuote '"'>
                                        <'\n'>
                                        <'    enabled '>
                                        <Id.Right_DoubleQuote '"'>
                                        <yes>
                                        <Id.Right_DoubleQuote '"'>
                                        <'\n'>
                                        <'    name '>
                                        <Id.Right_DoubleQuote '"'>
                                        <CAVA>
                                        <Id.Right_DoubleQuote '"'>
                                        <'\n'>
                                        <'    path '>
                                        <Id.Right_DoubleQuote '"'>
                                        <'/tmp/mpd.fifo'>
                                        <Id.Right_DoubleQuote '"'>
                                        <'\n'>
                                        <'    format '>
                                        <Id.Right_DoubleQuote '"'>
                                        <'44100:16:2'>
                                        <Id.Right_DoubleQuote '"'>
                                        <'\n'>
                                        <'\n'>
                                        <'}\n'>
                                      ]
                                    )
                                )
                                (redir
                                  op: <Id.Redir_DGreat '>>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<'/etc/mpd.conf'>}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                          ]
                          spids: [51215 51243]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [51143 51162]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<118>}
                  spids: [51304]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<sed>} {<-i>} {(DQ <'/User=/c'> <Id.Lit_BadBackslash '\\'> <'User=root'>)} 
                      {<'/lib/systemd/system/mopidy.service'>}
                    )
                    (C {<mkdir>} {<-p>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mopidy/cache'>}
                    )
                    (C {<mkdir>} {<-p>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mopidy/data'>}
                    )
                    (C {<mkdir>} {<-p>} 
                      {(word_part.TildeSub token:<Id.Lit_TildeLike '~'>) <'/.config/mopidy'>}
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 51440
                              stdin_parts: [
                                <'[core]\n'>
                                <'cache_dir = '>
                                ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)
                                <'/mopidy/cache\n'>
                                <'config_dir = /etc/mopidy\n'>
                                <'data_dir = '>
                                ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)
                                <'/mopidy/data\n'>
                                <'\n'>
                                <'[logging]\n'>
                                <'config_file = /etc/mopidy/logging.conf\n'>
                                <'debug_file = /var/log/mopidy.log\n'>
                                <'\n'>
                                <'[local]\n'>
                                <'library = images\n'>
                                <'media_dir = /mnt\n'>
                                <'enabled = true\n'>
                                <'scan_timeout = 1000\n'>
                                <'scan_flush_threshold = 100\n'>
                                <'scan_follow_symlinks = false\n'>
                                <'excluded_file_extensions =\n'>
                                <'  .directory\n'>
                                <'  .html\n'>
                                <'  .jpeg\n'>
                                <'  .jpg\n'>
                                <'  .log\n'>
                                <'  .nfo\n'>
                                <'  .png\n'>
                                <'  .txt\n'>
                                <'\n'>
                                <'[file]\n'>
                                <'enabled = true\n'>
                                <'media_dirs = /mnt\n'>
                                <'\n'>
                                <'[m3u]\n'>
                                <'playlists_dir = /mnt\n'>
                                <'\n'>
                                <'[http]\n'>
                                <'enabled = true\n'>
                                <'hostname = ::\n'>
                                <'port = 6680\n'>
                                <'static_dir =\n'>
                                <'zeroconf = Mopidy HTTP server on '>
                                ($ Id.VSub_DollarName hostname)
                                <'\n'>
                                <'\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: 
                            {(word_part.TildeSub token:<Id.Lit_TildeLike '~'>) 
                              <'/.config/mopidy/mopidy.conf'>
                            }
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<cp>} 
                      {(word_part.TildeSub token:<Id.Lit_TildeLike '~'>) 
                        <'/.config/mopidy/mopidy.conf'>
                      } {<'/etc/mopidy/mopidy.conf'>}
                    )
                    (C {<Download_Test_Media>})
                  ]
                  spids: [51308 51327]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<31>}
                  spids: [51468]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (command.Simple
                      words: [{<userdel>} {<-r>} {<kodi>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<sed>} {<-i>} {(SQ <'/USER=/c\\USER=root'>)} {<'/etc/default/kodi'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<cp>} {<'/DietPi/dietpi/conf/kodi_udev'>} {<'/etc/udev/rules.d/99-input.rules'>})
                    (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/etc/udev/rules.d/99-input.rules'>})
                    (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName HOME)) <'/Desktop'>})
                    (command.Simple
                      words: [{<rm>} {<'/usr/share/applications/kodi.desktop'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<wget>} 
                      {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/kodi.desktop'>} {<-O>} {<'/usr/share/applications/kodi.desktop'>}
                    )
                    (C {<ln>} {<-sf>} {<'/usr/share/applications/kodi.desktop'>} 
                      {(DQ ($ Id.VSub_DollarName HOME)) <'/Desktop/kodi.desktop'>}
                    )
                  ]
                  spids: [51472 51491]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<39>}
                  spids: [51610]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<sed>} {<-i>} {(SQ <'/USER=m/c\\USER=root'>)} {<'/etc/init.d/minidlna'>})
                    (command.Simple
                      words: [
                        {<sed>}
                        {<-i>}
                        {(SQ <'/User=m/c\\User=root'>)}
                        {<'/lib/systemd/system/minidlna.service'>}
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [
                        {<sed>}
                        {<-i>}
                        {(SQ <'/Group=m/c\\Group=root'>)}
                        {<'/lib/systemd/system/minidlna.service'>}
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<cp>} {<'/DietPi/dietpi/conf/minidlna.conf'>} {<'/etc/minidlna.conf'>})
                    (C {<mkdir>} {<-p>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/.MiniDLNA_Cache'>}
                    )
                  ]
                  spids: [51614 51633]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<67>}
                  spids: [51727]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 51786
                              stdin_parts: [
                                <'[Unit]\n'>
                                <'Description=noip2\n'>
                                <'After=network.target network-online.target rsyslog.service\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <'Type=forking\n'>
                                <'RemainAfterExit=yes\n'>
                                <'\n'>
                                <'ExecStart=/usr/local/bin/noip2\n'>
                                <'ExecStop=/usr/bin/killall -w noip2\n'>
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=multi-user.target\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/systemd/system/noip2.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [51731 51750]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<108>}
                  spids: [51797]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<chmod>} {<-R>} {<Id.Lit_Other '+'> <x>} {<'/etc/amiberry'>})
                    (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry'>})
                    (C {<cp>} {<-R>} {<'/etc/amiberry/conf'>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/'>}
                    )
                    (command.Simple
                      words: [{<rm>} {<-R>} {<'/etc/amiberry/conf'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<ln>} {<-sf>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/conf'>} {<'/etc/amiberry/conf'>}
                    )
                    (command.Simple
                      words: [{<rm>} {<-R>} {<'/etc/amiberry/disks'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<mkdir>} {<-p>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/disks'>}
                    )
                    (C {<ln>} {<-sf>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/disks'>} {<'/etc/amiberry/disks'>}
                    )
                    (command.Simple
                      words: [{<rm>} {<-R>} {<'/etc/amiberry/floppy_images'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<mkdir>} {<-p>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/floppy_images'>}
                    )
                    (C {<ln>} {<-sf>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/floppy_images'>} {<'/etc/amiberry/floppy_images'>}
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 51992
                              stdin_parts: [
                                <'Put your Amiga floopy images (*.adf) in this directory.\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: 
                            {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) 
                              <'/amiberry/floppy_images/dir.txt'>
                            }
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<rm>} {<-R>} {<'/etc/amiberry/hdf'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<mkdir>} {<-p>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/hdf'>}
                    )
                    (C {<ln>} {<-sf>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/hdf'>} {<'/etc/amiberry/hdf'>}
                    )
                    (command.Simple
                      words: [{<rm>} {<-R>} {<'/etc/amiberry/kickstarts'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<mkdir>} {<-p>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/kickstarts'>}
                    )
                    (C {<ln>} {<-sf>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/kickstarts'>} {<'/etc/amiberry/kickstarts'>}
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 52086
                              stdin_parts: [
                                <'Put your Kickstart Roms (*.rom) in this directory.\n'>
                                <
'They should be named accordingly depending on version: kick12.rom , kick13.rom , kick20.rom, kick31.rom\n'
                                >
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: 
                            {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) 
                              <'/amiberry/kickstarts/dir.txt'>
                            }
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<rm>} {<-R>} {<'/etc/amiberry/savestates'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<mkdir>} {<-p>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/savestates'>}
                    )
                    (C {<ln>} {<-sf>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/savestates'>} {<'/etc/amiberry/savestates'>}
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 52141
                              stdin_parts: [<'Saved states will be stored here.\n'>]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: 
                            {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) 
                              <'/amiberry/savestates/dir.txt'>
                            }
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<rm>} {<-R>} {<'/etc/amiberry/screenshots'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<mkdir>} {<-p>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/screenshots'>}
                    )
                    (C {<ln>} {<-sf>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/screenshots'>} {<'/etc/amiberry/screenshots'>}
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 52196
                              stdin_parts: [<'Screenshots will be stored here.\n'>]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: 
                            {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) 
                              <'/amiberry/screenshots/dir.txt'>
                            }
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'fp_userdata_actual='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: (C {<readlink>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA))})
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {<-n>} 
                                      {(DQ ($ Id.VSub_DollarName fp_userdata_actual))} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<sed>} {<-i>} 
                              {
                                (DQ <'s:'> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <':'> 
                                  ($ Id.VSub_DollarName fp_userdata_actual) <':g'>
                                )
                              } {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/conf/adfdir.conf'>}
                            )
                            (C {<sed>} {<-i>} 
                              {
                                (DQ <'s:'> ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <':'> 
                                  ($ Id.VSub_DollarName fp_userdata_actual) <':g'>
                                )
                              } {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/amiberry/conf/autostart.uae'>}
                            )
                          ]
                          spids: [52223 52236]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<local>} {<Id.Lit_VarLike 'amiberry_filename='> (SQ <amiberry-rpi>)})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                          right: {<Id.Lit_Digits 3>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'amiberry_filename+='>
                                      name: amiberry_filename
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: {(SQ <3>)}
                                  spids: [52316]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [52298 52312]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                          right: {<Id.Lit_Digits 2>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'amiberry_filename+='>
                                      name: amiberry_filename
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: {(SQ <2>)}
                                  spids: [52345]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [52327 52341]
                        )
                      ]
                      else_action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'amiberry_filename+='>
                                  name: amiberry_filename
                                )
                              op: assign_op.PlusEqual
                              rhs: {(SQ <1>)}
                              spids: [52360]
                            )
                          ]
                          redirects: []
                        )
                      ]
                      redirects: []
                    )
                    (C {<ln>} {<-sf>} {<'/etc/amiberry/'> (DQ ($ Id.VSub_DollarName amiberry_filename))} 
                      {<'/etc/amiberry/amiberry'>}
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'amiberry_filename+='>
                              name: amiberry_filename
                            )
                          op: assign_op.PlusEqual
                          rhs: {(SQ <-sdl2>)}
                          spids: [52388]
                        )
                      ]
                      redirects: []
                    )
                    (C {<ln>} {<-sf>} {<'/etc/amiberry/'> (DQ ($ Id.VSub_DollarName amiberry_filename))} 
                      {<'/etc/amiberry/amiberry-sdl2'>}
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 52434
                              stdin_parts: [
                                <'[Unit]\n'>
                                <'Description=AmiBerry Amiga Emulator\n'>
                                <'DefaultDependencies=no\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <'Type=simple\n'>
                                <'User=root\n'>
                                <'WorkingDirectory=/etc/amiberry\n'>
                                <'ExecStart=/bin/bash -c ./amiberry_run.sh\n'>
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=local-fs.target\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/systemd/system/amiberry.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<systemctl>} {<daemon-reload>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 52465
                              stdin_parts: [
                                <'#!/bin/bash\n'>
                                <'if (( '>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                                <'(ps aux | grep -ci -m1 \'[X]11\') )); then\n'>
                                <'\n'>
                                <'./amiberry -f conf/autostart.uae\n'>
                                <'\n'>
                                <'else\n'>
                                <'\n'>
                                <'xinit ./amiberry -f conf/autostart.uae\n'>
                                <'\n'>
                                <'fi\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/amiberry/amiberry_run.sh'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/etc/amiberry/amiberry_run.sh'>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 52503
                              stdin_parts: [
                                <'[Unit]\n'>
                                <'Description=AmiBerry Amiga Emulator\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <'Type=simple\n'>
                                <'User=root\n'>
                                <'WorkingDirectory=/etc/amiberry\n'>
                                <'ExecStart=/bin/bash -c ./amiberry_run_sdl2.sh\n'>
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=local-fs.target\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/systemd/system/amiberry-sdl2.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<systemctl>} {<daemon-reload>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 52533
                              stdin_parts: [
                                <'#!/bin/bash\n'>
                                <'xinit ./amiberry-sdl2 -f conf/autostart.uae\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/amiberry/amiberry_run_sdl2.sh'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/etc/amiberry/amiberry_run_sdl2.sh'>})
                  ]
                  spids: [51801 51820]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<112>}
                  spids: [52553]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (command.Simple
                      words: [{<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.d1x-rebirth'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.d2x-rebirth'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<ln>} {<-sf>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) 
                        <'/dxx-rebirth/descent_1_profiles'>
                      } {(DQ ($ Id.VSub_DollarName HOME)) <'/.d1x-rebirth'>}
                    )
                    (C {<ln>} {<-sf>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) 
                        <'/dxx-rebirth/descent_2_profiles'>
                      } {(DQ ($ Id.VSub_DollarName HOME)) <'/.d2x-rebirth'>}
                    )
                    (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<-R>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/dxx-rebirth/'> 
                        <Id.Lit_Star '*'>
                      }
                    )
                    (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName HOME)) <'/Desktop'>})
                    (C {<mkdir>} {<-p>} {<'/usr/share/applications'>})
                    (C {<ln>} {<-s>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) 
                        <'/dxx-rebirth/dxx-rebirth.desktop'>
                      } {(DQ ($ Id.VSub_DollarName HOME)) <'/Desktop/dxx-rebirth.desktop'>}
                    )
                    (C {<ln>} {<-s>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) 
                        <'/dxx-rebirth/dxx-rebirth.desktop'>
                      } {<'/usr/share/applications/dxx-rebirth.desktop'>}
                    )
                  ]
                  spids: [52557 52576]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<51>}
                  spids: [52729]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<cp>} {<'/DietPi/dietpi/conf/opentyrian_run'>} 
                      {<'/usr/local/games/opentyrian/run'>}
                    )
                    (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/usr/local/games/opentyrian/run'>})
                    (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName HOME)) <'/Desktop'>})
                    (command.Simple
                      words: [{<rm>} {<'/usr/share/applications/opentyrian.desktop'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<wget>} 
                      {<http> <Id.Lit_Colon ':'> <'//dietpi.com/downloads/conf/desktop/pcmanfm.conf'>} {<-O>} {<'/usr/share/applications/opentyrian.desktop'>}
                    )
                    (C {<ln>} {<-s>} {<'/usr/share/applications/opentyrian.desktop'>} 
                      {(DQ ($ Id.VSub_DollarName HOME)) <'/Desktop/opentyrian.desktop'>}
                    )
                  ]
                  spids: [52733 52752]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<59>}
                  spids: [52835]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/etc/raspimjpeg'>})
                    (C {<ln>} {<-s>} {<'/etc/raspimjpeg'>} {<'/var/www/dietpicam/raspimjpeg'>})
                    (C {<chgrp>} {<www-data>} {<'/etc/motion/motion.conf'>})
                    (C {<chmod>} {<777>} {<'/etc/motion/motion.conf'>})
                    (C {<usermod>} {<-a>} {<-G>} {<video>} {<www-data>})
                    (C {<cp>} {<'/DietPi/dietpi/conf/raspimjpeg.service'>} 
                      {<'/var/lib/dietpi/dietpi-software/services/raspimjpeg.service'>}
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'dietpicam_media_directory='> 
                        ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)
                      }
                    )
                    (C {<mkdir>} {<-p>} 
                      {(DQ ($ Id.VSub_DollarName dietpicam_media_directory)) <'/dietpicam'>}
                    )
                    (C {<rm>} {<-R>} {<'/var/www/dietpicam/media'>})
                    (C {<ln>} {<-s>} 
                      {(DQ ($ Id.VSub_DollarName dietpicam_media_directory)) <'/dietpicam'>} {<'/var/www/dietpicam/media'>}
                    )
                    (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<rpi-camera>} {<enable>})
                  ]
                  spids: [52839 52858]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<45>}
                  spids: [52991]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<cp>} {<'/DietPi/dietpi/conf/deluge.service'>} 
                      {<'/var/lib/dietpi/dietpi-software/services/deluge.service'>}
                    )
                    (C {<deluged>})
                    (C {<killall>} {<-w>} {<deluged>})
                    (C {<cp>} {<'/DietPi/dietpi/conf/deluge.conf'>} 
                      {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/deluge/core.conf'>}
                    )
                    (C {<cp>} {<'/DietPi/dietpi/conf/deluge_web.conf'>} 
                      {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/deluge/web.conf'>}
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 53095
                              stdin_parts: [<'root:'> ($ Id.VSub_DollarName GLOBAL_PW) <':10\n'>]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/deluge/auth'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'deluge_cache_size='> 
                        (word_part.ArithSub
                          anode: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Pipeline
                                    children: [
                                      (C {<echo>} {<-e>} 
                                        {
                                          (DQ <'scale=0; '> 
                                            (command_sub
                                              left_token: <Id.Left_DollarParen '$('>
                                              child: (C {<Optimize_BitTorrent>} {<0>})
                                              right: <Id.Eof_RParen _>
                                            ) <' * 1024 / 16'>
                                          )
                                        }
                                      )
                                      (C {<bc>} {<-l>})
                                    ]
                                    negated: F
                                    stderr_indices: []
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                        )
                      }
                    )
                    (C {<sed>} {<-i>} 
                      {(SQ <'/"cache_size": /c\\ "cache_size": '>) 
                        (DQ ($ Id.VSub_DollarName deluge_cache_size)) (SQ <','>)
                      } {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/deluge/core.conf'>}
                    )
                    (C {<sed>} {<-i>} 
                      {(SQ <'/"max_active_limit": /c\\ "max_active_limit": '>) 
                        (DQ 
                          (command_sub
                            left_token: <Id.Left_DollarParen '$('>
                            child: (C {<Optimize_BitTorrent>} {<1>})
                            right: <Id.Eof_RParen _>
                          )
                        ) (SQ <','>)
                      } {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/deluge/core.conf'>}
                    )
                    (C {<sed>} {<-i>} 
                      {(SQ <'/"max_active_downloading": /c\\ "max_active_downloading": '>) 
                        (DQ 
                          (command_sub
                            left_token: <Id.Left_DollarParen '$('>
                            child: (C {<Optimize_BitTorrent>} {<1>})
                            right: <Id.Eof_RParen _>
                          )
                        ) (SQ <','>)
                      } {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/deluge/core.conf'>}
                    )
                    (C {<sed>} {<-i>} 
                      {(SQ <'/"max_connections_global": /c\\ "max_connections_global": '>) 
                        (DQ 
                          (command_sub
                            left_token: <Id.Left_DollarParen '$('>
                            child: (C {<Optimize_BitTorrent>} {<2>})
                            right: <Id.Eof_RParen _>
                          )
                        ) (SQ <','>)
                      } {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/deluge/core.conf'>}
                    )
                    (C {<sed>} {<-i>} 
                      {(SQ <'/"max_upload_slots_global": /c\\ "max_upload_slots_global": '>) 
                        (DQ 
                          (command_sub
                            left_token: <Id.Left_DollarParen '$('>
                            child: (C {<Optimize_BitTorrent>} {<3>})
                            right: <Id.Eof_RParen _>
                          )
                        ) (SQ <','>)
                      } {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/deluge/core.conf'>}
                    )
                  ]
                  spids: [52995 53014]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<106>}
                  spids: [53264]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<mkdir>} {<-p>} {<'/etc/raspcontrol'>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 53338
                              stdin_parts: [
                                <'{\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <user>
                                <Id.Right_DoubleQuote '"'>
                                <': '>
                                <Id.Right_DoubleQuote '"'>
                                <root>
                                <Id.Right_DoubleQuote '"'>
                                <',\n'>
                                <'    '>
                                <Id.Right_DoubleQuote '"'>
                                <password>
                                <Id.Right_DoubleQuote '"'>
                                <': '>
                                <Id.Right_DoubleQuote '"'>
                                ($ Id.VSub_DollarName GLOBAL_PW)
                                <Id.Right_DoubleQuote '"'>
                                <'\n'>
                                <'}\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/raspcontrol/database.aptmnt'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<chown>} {<-R>} {<www-data> <Id.Lit_Colon ':'> <www-data>} {<'/etc/raspcontrol'>})
                    (C {<chmod>} {<-R>} {<750>} {<'/etc/raspcontrol'>})
                  ]
                  spids: [53268 53287]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<93>}
                  spids: [53370]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<ln>} {<-sf>} {<'/var/www/html/admin'>} {<'/var/www/pihole'>})
                    (C {<ln>} {<-sf>} {<'/var/www/html/admin'>} {<'/var/www/admin'>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 53448
                              stdin_parts: [
                                <'<html>\n'>
                                <'Blocked by Pi-hole.\n'>
                                <'<script>window.close();</script>\n'>
                                <'</html>\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/var/www/index.html'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<echo>} {<-e>} {(DQ )}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/var/log/pihole.log'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<chown>} {<www-data> <Id.Lit_Colon ':'> <www-data>} {<'/var/log/pihole.log'>})
                    (C {<chmod>} {<775>} {<'/var/log/pihole.log'>})
                    (C {<pihole>} {<-a>} {<-p>} {(DQ ($ Id.VSub_DollarName GLOBAL_PW))})
                    (C {<whiptail>} {<--title>} {(DQ <'PiHole: Web interface'>)} {<--msgbox>} 
                      {
                        (DQ <'DietPi has changed the PiHole web interface password to:'> 
                          <Id.Lit_BadBackslash '\\'> <'n- '> ($ Id.VSub_DollarName GLOBAL_PW) <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                          <'nPlease use this password when logging into the web interface:'> <Id.Lit_BadBackslash '\\'> <'n - http://ip/pihole'> <Id.Lit_BadBackslash '\\'> <n> 
                          <Id.Lit_BadBackslash '\\'> <'nThis password can be changed, please see pihole binary for info:'> <Id.Lit_BadBackslash '\\'> 
                          <'n - pihole --help'>
                        )
                      } {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<16>} {<70>}
                    )
                  ]
                  spids: [53374 53393]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<34>}
                  spids: [53554]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DPipe
                                  left: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: 
                                        {
                                          (braced_var_sub
                                            left: <Id.Left_DollarBrace '${'>
                                            token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                            var_name: aSOFTWARE_INSTALL_STATE
                                            bracket_op: 
                                              (bracket_op.ArrayIndex
                                                expr: {<Id.Lit_Digits 33>}
                                              )
                                            right: <Id.Right_DollarBrace '}'>
                                          )
                                        }
                                      right: {<Id.Lit_Digits 1>}
                                    )
                                  right: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: 
                                        {
                                          (braced_var_sub
                                            left: <Id.Left_DollarBrace '${'>
                                            token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                            var_name: aSOFTWARE_INSTALL_STATE
                                            bracket_op: 
                                              (bracket_op.ArrayIndex
                                                expr: {<Id.Lit_Digits 34>}
                                              )
                                            right: <Id.Right_DollarBrace '}'>
                                          )
                                        }
                                      right: {<Id.Lit_Digits 1>}
                                    )
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<local>} 
                      {<Id.Lit_VarLike 'subsonic_memory_max='> 
                        (word_part.ArithSub
                          anode: 
                            (arith_expr.Binary
                              op_id: Id.Arith_Slash
                              left: {($ Id.VSub_DollarName RAM_TOTAL)}
                              right: {<Id.Lit_Digits 5>}
                            )
                        )
                      }
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Less
                                          left: {($ Id.VSub_DollarName subsonic_memory_max)}
                                          right: {<Id.Lit_Digits 150>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'subsonic_memory_max='>
                                      name: subsonic_memory_max
                                    )
                                  op: assign_op.Equal
                                  rhs: {<150>}
                                  spids: [53640]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [53622 53636]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 53679
                              stdin_parts: [
                                <'SUBSONIC_USER=root\n'>
                                <'SUBSONIC_ARGS='>
                                <Id.Right_DoubleQuote '"'>
                                <'--quiet --pidfile=/run/subsonic.pid --max-memory='>
                                ($ Id.VSub_DollarName subsonic_memory_max)
                                <' --default-music-folder='>
                                ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)
                                <'/'>
                                ($ Id.VSub_DollarName FOLDER_MUSIC)
                                <' --default-podcast-folder='>
                                ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)
                                <'/'>
                                ($ Id.VSub_DollarName FOLDER_MUSIC)
                                <' --default-playlist-folder='>
                                ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)
                                <'/'>
                                ($ Id.VSub_DollarName FOLDER_MUSIC)
                                <Id.Right_DoubleQuote '"'>
                                <'\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/default/subsonic'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<Download_Test_Media>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Less
                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                          right: {<Id.Lit_Digits 2>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<ln>} {<-fs>} {<'/usr/local/bin/ffmpeg'>} {<'/var/subsonic/transcode'>})
                          ]
                          spids: [53698 53712]
                        )
                      ]
                      else_action: [
                        (C {<ln>} {<-fs>} {<'/usr/bin/ffmpeg'>} {<'/var/subsonic/transcode'>})
                      ]
                      redirects: []
                    )
                  ]
                  spids: [53558 53591]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<71>}
                  spids: [53756]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<update-rc.d>} {<webiopi>} {<defaults>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WEBIOPI='> name:WEBIOPI)
                          op: assign_op.Equal
                          rhs: {<2>}
                          spids: [53799]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [53760 53779]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<62>}
                  spids: [53811]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<'/DietPi/dietpi/dietpi-autostart'>} {<5>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 53884
                              stdin_parts: [
                                <'[Unit]\n'>
                                <'Description=dietpi-cloudshell on main screen\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <'Type=simple\n'>
                                <'StandardOutput=tty\n'>
                                <'TTYPath=/dev/tty1\n'>
                                <'\n'>
                                <
'ExecStartPre=/usr/bin/setterm --term linux --blank 0 --powersave off --cursor off\n'
                                >
                                <'\n'>
                                <'ExecStart=/bin/bash -c \'/DietPi/dietpi/dietpi-cloudshell 1\'\n'>
                                <'\n'>
                                <'ExecStop=/usr/bin/setterm --reset\n'>
                                <
'ExecStop=/bin/bash -c \'G_DIETPI-NOTIFY 0 DietPi-Cloudshell terminated, have a nice day!\'\n'
                                >
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=multi-user.target\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/systemd/system/dietpi-cloudshell.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<systemctl>} {<daemon-reload>})
                  ]
                  spids: [53815 53834]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<98>}
                  spids: [53900]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<mkdir>} {<-p>} {<'/var/lib/haproxy'>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 54023
                              stdin_parts: [
                                <'global\n'>
                                <'\n'>
                                <'\t#rsyslog is required for logging\n'>
                                <'\t#log /var/log    local0\n'>
                                <'\t#log /var/log    local1 notice\n'>
                                <'\tmaxconn 64\n'>
                                <'\t#Jail directory\n'>
                                <'\tchroot /var/lib/haproxy\n'>
                                <'\tstats socket /run/haproxy.sock mode 660 level admin\n'>
                                <'\tstats timeout 30s\n'>
                                <'\tuser root\n'>
                                <'\tgroup root\n'>
                                <'\tdaemon\n'>
                                <'\n'>
                                <'\t# Default SSL material locations\n'>
                                <'\tca-base /etc/ssl/certs\n'>
                                <'\tcrt-base /etc/ssl/private\n'>
                                <'\n'>
                                <'\t# Default ciphers to use on SSL-enabled listening sockets.\n'>
                                <'\t# For more information, see ciphers(1SSL).\n'>
                                <
'\tssl-default-bind-ciphers kEECDH+aRSA+AES:kRSA+AES:+AES256:RC4-SHA:!kEDH:!LOW:!EXP:!MD5:!aNULL:!eNULL\n'
                                >
                                <'\n'>
                                <'defaults\n'>
                                <'\n'>
                                <'\tlog     global\n'>
                                <'\tmode    http\n'>
                                <'\toption  httplog\n'>
                                <'\toption  dontlognull\n'>
                                <'\ttimeout connect 5000\n'>
                                <'\ttimeout client  50000\n'>
                                <'\ttimeout server  50000\n'>
                                <'\terrorfile 400 /etc/haproxy/errors/400.http\n'>
                                <'\terrorfile 403 /etc/haproxy/errors/403.http\n'>
                                <'\terrorfile 408 /etc/haproxy/errors/408.http\n'>
                                <'\terrorfile 500 /etc/haproxy/errors/500.http\n'>
                                <'\terrorfile 502 /etc/haproxy/errors/502.http\n'>
                                <'\terrorfile 503 /etc/haproxy/errors/503.http\n'>
                                <'\terrorfile 504 /etc/haproxy/errors/504.http\n'>
                                <'\n'>
                                <'frontend localnodes\n'>
                                <'\n'>
                                <'\tbind *:80\n'>
                                <'\tmode http\n'>
                                <'\tdefault_backend nodes\n'>
                                <'\n'>
                                <'backend nodes\n'>
                                <'\n'>
                                <'\tmode http\n'>
                                <'\tbalance roundrobin\n'>
                                <'\toption forwardfor\n'>
                                <'\thttp-request set-header X-Forwarded-Port %[dst_port]\n'>
                                <
'\thttp-request add-header X-Forwarded-Proto https if { ssl_fc }\n'
                                >
                                <'\toption httpchk HEAD / HTTP/1.1'>
                                <Id.Lit_BadBackslash '\\'>
                                <r>
                                <Id.Lit_BadBackslash '\\'>
                                <'nHost:localhost\n'>
                                <'\tserver web01 127.0.0.1:9000 check\n'>
                                <'\tserver web02 127.0.0.1:9001 check\n'>
                                <'\tserver web03 127.0.0.1:9002 check\n'>
                                <'\n'>
                                <'#Admin web page\n'>
                                <'\n'>
                                <'\tlisten stats\n'>
                                <'\tbind *:1338\n'>
                                <'\tstats enable\n'>
                                <'\tstats uri /\n'>
                                <'\tstats hide-version\n'>
                                <'\tstats auth admin:dietpi\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/haproxy/haproxy.cfg'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<mkdir>} {<-p>} {<'/etc/haproxy/errors'>})
                    (C {<local>} {<Id.Lit_VarLike 'errorcode='> <0>})
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'errorcode='>
                                  name: errorcode
                                )
                              op: assign_op.Equal
                              rhs: {<400>}
                              spids: [54044]
                            )
                          ]
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.Simple
                      words: [
                        {<echo>}
                        {<-e>}
                        {(DQ <'[html]'> ($ Id.VSub_DollarName errorcode) <'[/html]'>)}
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: 
                            {<'/etc/haproxy/errors/'> (DQ ($ Id.VSub_DollarName errorcode)) <.http>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'errorcode='>
                                  name: errorcode
                                )
                              op: assign_op.Equal
                              rhs: {<403>}
                              spids: [54067]
                            )
                          ]
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.Simple
                      words: [
                        {<echo>}
                        {<-e>}
                        {(DQ <'[html]'> ($ Id.VSub_DollarName errorcode) <'[/html]'>)}
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: 
                            {<'/etc/haproxy/errors/'> (DQ ($ Id.VSub_DollarName errorcode)) <.http>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'errorcode='>
                                  name: errorcode
                                )
                              op: assign_op.Equal
                              rhs: {<408>}
                              spids: [54090]
                            )
                          ]
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.Simple
                      words: [
                        {<echo>}
                        {<-e>}
                        {(DQ <'[html]'> ($ Id.VSub_DollarName errorcode) <'[/html]'>)}
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: 
                            {<'/etc/haproxy/errors/'> (DQ ($ Id.VSub_DollarName errorcode)) <.http>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'errorcode='>
                                  name: errorcode
                                )
                              op: assign_op.Equal
                              rhs: {<500>}
                              spids: [54113]
                            )
                          ]
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.Simple
                      words: [
                        {<echo>}
                        {<-e>}
                        {(DQ <'[html]'> ($ Id.VSub_DollarName errorcode) <'[/html]'>)}
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: 
                            {<'/etc/haproxy/errors/'> (DQ ($ Id.VSub_DollarName errorcode)) <.http>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'errorcode='>
                                  name: errorcode
                                )
                              op: assign_op.Equal
                              rhs: {<502>}
                              spids: [54136]
                            )
                          ]
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.Simple
                      words: [
                        {<echo>}
                        {<-e>}
                        {(DQ <'[html]'> ($ Id.VSub_DollarName errorcode) <'[/html]'>)}
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: 
                            {<'/etc/haproxy/errors/'> (DQ ($ Id.VSub_DollarName errorcode)) <.http>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'errorcode='>
                                  name: errorcode
                                )
                              op: assign_op.Equal
                              rhs: {<503>}
                              spids: [54159]
                            )
                          ]
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.Simple
                      words: [
                        {<echo>}
                        {<-e>}
                        {(DQ <'[html]'> ($ Id.VSub_DollarName errorcode) <'[/html]'>)}
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: 
                            {<'/etc/haproxy/errors/'> (DQ ($ Id.VSub_DollarName errorcode)) <.http>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Sentence
                      child: 
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'errorcode='>
                                  name: errorcode
                                )
                              op: assign_op.Equal
                              rhs: {<504>}
                              spids: [54182]
                            )
                          ]
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                    (command.Simple
                      words: [
                        {<echo>}
                        {<-e>}
                        {(DQ <'[html]'> ($ Id.VSub_DollarName errorcode) <'[/html]'>)}
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: 
                            {<'/etc/haproxy/errors/'> (DQ ($ Id.VSub_DollarName errorcode)) <.http>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [53904 53923]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<35>}
                  spids: [54214]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<update-rc.d>} {<logitechmediaserver>} {<remove>})
                    (C {<rm>} {<'/etc/init.d/logitechmediaserver'>})
                    (C {<cp>} {<'/DietPi/dietpi/conf/squeezeboxserver.service'>} 
                      {<'/var/lib/dietpi/dietpi-software/services/squeezeboxserver.service'>}
                    )
                    (C {<Download_Test_Media>})
                  ]
                  spids: [54218 54237]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<55>}
                  spids: [54290]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<'/DietPi/dietpi/func/create_mysql_db'>} {<wordpress>} {<wordpress>} 
                      {(DQ ($ Id.VSub_DollarName GLOBAL_PW))}
                    )
                  ]
                  spids: [54294 54313]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DPipe
                                  left: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DPipe
                                      left: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 27>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      right: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 28>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                    )
                                  right: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: 
                                        {
                                          (braced_var_sub
                                            left: <Id.Left_DollarBrace '${'>
                                            token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                            var_name: aSOFTWARE_INSTALL_STATE
                                            bracket_op: 
                                              (bracket_op.ArrayIndex
                                                expr: {<Id.Lit_Digits 120>}
                                              )
                                            right: <Id.Right_DollarBrace '}'>
                                          )
                                        }
                                      right: {<Id.Lit_Digits 1>}
                                    )
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: {($ Id.VSub_DollarName G_USER_INPUTS)}
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<local>} {<Id.Lit_VarLike 'entering_pw='> <1>})
                            (C {<local>} {<Id.Lit_VarLike 'loop_count='> <0>})
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: 
                                                    {
                                                      (braced_var_sub
                                                        left: <Id.Left_DollarBrace '${'>
                                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                        var_name: aSOFTWARE_INSTALL_STATE
                                                        bracket_op: 
                                                          (bracket_op.ArrayIndex
                                                            expr: {<Id.Lit_Digits 120>}
                                                          )
                                                        right: <Id.Right_DollarBrace '}'>
                                                      )
                                                    }
                                                  right: {<Id.Lit_Digits 1>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'entering_pw='>
                                              name: entering_pw
                                            )
                                          op: assign_op.Equal
                                          rhs: {<0>}
                                          spids: [54463]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [54440 54459]
                                )
                              ]
                              else_action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                                          name: WHIP_QUESTION
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (SQ 
                                            <
'A password is required for your VNC Server.\\n\\nThe next screen will allow you to set your password, this password will be used when connecting from a VNC client/viewer.\\n\\nPress Ok/Enter when ready.'
                                            >
                                          )
                                        }
                                      spids: [54472]
                                    )
                                  ]
                                  redirects: []
                                )
                                (C {<whiptail>} {<--title>} {(DQ <'VNC Server Password'>)} {<--msgbox>} 
                                  {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<13>} {<70>}
                                )
                              ]
                              redirects: []
                            )
                            (command.WhileUntil
                              keyword: <Id.KW_While while>
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.DParen
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName entering_pw)}
                                              right: {<Id.Lit_Digits 1>}
                                            )
                                          redirects: []
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              body: 
                                (command.DoGroup
                                  children: [
                                    (C {<vncpasswd>})
                                    (command.DParen
                                      child: 
                                        (arith_expr.UnaryAssign
                                          op_id: Id.Node_PostDPlus
                                          child: ($ Id.Lit_ArithVarLike loop_count)
                                        )
                                      redirects: []
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (C {<Id.Lit_LBracket '['>} {<-f>} 
                                                      {(DQ ($ Id.VSub_DollarName HOME)) 
                                                        <'/.vnc/passwd'>
                                                      } {<Id.Lit_RBracket ']'>}
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'entering_pw='>
                                                      name: entering_pw
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {<0>}
                                                  spids: [54559]
                                                )
                                              ]
                                              redirects: []
                                            )
                                          ]
                                          spids: [54541 54555]
                                        )
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_GreatEqual
                                                          left: {($ Id.VSub_DollarName loop_count)}
                                                          right: {<Id.Lit_Digits 30>}
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'entering_pw='>
                                                      name: entering_pw
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {<0>}
                                                  spids: [54586]
                                                )
                                              ]
                                              redirects: []
                                            )
                                          ]
                                          spids: [54568 54582]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                  ]
                                )
                              redirects: []
                            )
                          ]
                          spids: [54409 54419]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 54628
                              stdin_parts: [
                                <'[Unit]\n'>
                                <'Description=Manage VNC Server\n'>
                                <'After=dietpi-service.service\n'>
                                <'After=rc.local.service\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <'Type=idle\n'>
                                <'RemainAfterExit=yes\n'>
                                <'ExecStart=/bin/bash /usr/local/bin/vncserver start\n'>
                                <'ExecStop=/bin/bash /usr/local/bin/vncserver stop\n'>
                                <'User=root\n'>
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=multi-user.target\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/systemd/system/vncserver.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<systemctl>} {<enable>} {<vncserver.service>})
                    (C {<systemctl>} {<daemon-reload>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 54777
                              stdin_parts: [
                                <'#!/bin/bash\n'>
                                <'\n'>
                                <'#Globals\n'>
                                <'VNC_INSTALLED=0\n'>
                                <'BINARY_FP=0\n'>
                                <'SHARED_MODE=0\n'>
                                <'\n'>
                                <'WIDTH='>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                                <
'(cat /DietPi/dietpi.txt | grep -m1 \'^SOFTWARE_VNCSERVER_WIDTH=\' | sed \'s/.*=//\')\n'
                                >
                                <'HEIGHT='>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                                <
'(cat /DietPi/dietpi.txt | grep -m1 \'^SOFTWARE_VNCSERVER_HEIGHT=\' | sed \'s/.*=//\')\n'
                                >
                                <'DEPTH='>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                                <
'(cat /DietPi/dietpi.txt | grep -m1 \'^SOFTWARE_VNCSERVER_DEPTH=\' | sed \'s/.*=//\')\n'
                                >
                                <'DISPLAY='>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                                <
'(cat /DietPi/dietpi.txt | grep -m1 \'^SOFTWARE_VNCSERVER_DISPLAY_INDEX=\' | sed \'s/.*=//\')\n'
                                >
                                <'SHARED_MODE='>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                                <
'(cat /DietPi/dietpi.txt | grep -m1 \'^SOFTWARE_VNCSERVER_SHARE_DESKTOP=\' | sed \'s/.*=//\')\n'
                                >
                                <'\n'>
                                <'#RealVNC | Slightly different launch method to VNC4server\n'>
                                <'REALVNC=0\n'>
                                <'if (( '>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                                <
'(dpkg --get-selections | grep -ci -m1 \'^realvnc-vnc-server\') )); then\n'
                                >
                                <'\n'>
                                <'\tREALVNC=1\n'>
                                <'\n'>
                                <
'\t#Set shared desktop mode if autostart is enabled for desktops. This prevents another VNC server being launched on :1.\n'
                                >
                                <'\tif (( '>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                                <'(cat /DietPi/dietpi/.dietpi-autostart_index) == 2 )); then\n'>
                                <'\n'>
                                <'\t\tSHARED_MODE=1\n'>
                                <'\n'>
                                <'\tfi\n'>
                                <'\n'>
                                <'fi\n'>
                                <'\n'>
                                <'#Find binary FP to use\n'>
                                <'if [ -f /usr/bin/tigervncserver ]; then\n'>
                                <'    BINARY_FP=\'/usr/bin/tigervncserver\'\n'>
                                <'    VNC_INSTALLED=1\n'>
                                <'elif [ -f /usr/bin/vnc4server ]; then\n'>
                                <'    BINARY_FP=\'/usr/bin/vnc4server\'\n'>
                                <'    VNC_INSTALLED=1\n'>
                                <'elif [ -f /usr/bin/vncserver ]; then\n'>
                                <'    BINARY_FP=\'/usr/bin/vncserver\'\n'>
                                <'    VNC_INSTALLED=1\n'>
                                <'fi\n'>
                                <'\n'>
                                <'#Exit if no VNC binary found\n'>
                                <'if (( ! '>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                                <'VNC_INSTALLED )); then\n'>
                                <'    exit 1\n'>
                                <'fi\n'>
                                <'\n'>
                                <'case '>
                                <Id.Right_DoubleQuote '"'>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                                <1>
                                <Id.Right_DoubleQuote '"'>
                                <' in\n'>
                                <'    start)\n'>
                                <'        if (( '>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                                <'SHARED_MODE )); then\n'>
                                <'\n'>
                                <'\t\t\t# - excluding RealVNC as it has its own services\n'>
                                <'\t\t\tif (( ! '>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                                <'REALVNC )); then\n'>
                                <'\n'>
                                <'\t\t\t\t#wait for X to start\n'>
                                <'\t\t\t\twhile (( ! '>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                                <'(ps aux | grep -ci -m1 \'[/]usr/bin/X\') ))\n'>
                                <'\t\t\t\tdo\n'>
                                <'\n'>
                                <'\t\t\t\t\tsleep 3\n'>
                                <'\n'>
                                <'\t\t\t\tdone\n'>
                                <'\n'>
                                <'\t\t\t\txset dpms force on #disable screen blanking\n'>
                                <'\t\t\t\tx11vnc -display :0 -usepw -forever &\n'>
                                <'\n'>
                                <'\t\t\tfi\n'>
                                <'\n'>
                                <'        else\n'>
                                <'\n'>
                                <'            '>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                                <'BINARY_FP :'>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                                <'DISPLAY -geometry '>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                                <'WIDTH\'x\''>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                                <'HEIGHT -depth '>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                                <'DEPTH\n'>
                                <'\n'>
                                <'        fi\n'>
                                <'    ;;\n'>
                                <'\n'>
                                <'    stop)\n'>
                                <'        '>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                                <'BINARY_FP -kill :'>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                                <'DISPLAY &> /dev/null\n'>
                                <'        killall -w x11vnc &> /dev/null\n'>
                                <'\t\tkillall -w Xtigervnc &> /dev/null\n'>
                                <'    ;;\n'>
                                <'\n'>
                                <'esac\n'>
                                <'\n'>
                                <'exit 0\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/usr/local/bin/vncserver'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/usr/local/bin/vncserver'>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 120>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<systemctl>} {<enable>} {<vncserver-x11-serviced.service>})
                            (C {<systemctl>} {<enable>} {<vncserver-virtuald.service>})
                          ]
                          spids: [54792 54811]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: {($ Id.VSub_DollarName G_DISTRO)}
                                          right: {<Id.Lit_Digits 4>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.Simple
                              words: [{<echo>} {<-e>} {(SQ <'$localhost = "no";'>)}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DGreat '>>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<'/etc/vnc.conf'>}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                          ]
                          spids: [54838 54852]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [54349 54396]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<28>}
                  spids: [54882]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DPipe
                                  left: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_GreatEqual
                                      left: 
                                        {
                                          (braced_var_sub
                                            left: <Id.Left_DollarBrace '${'>
                                            token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                            var_name: aSOFTWARE_INSTALL_STATE
                                            bracket_op: 
                                              (bracket_op.ArrayIndex
                                                expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                              )
                                            right: <Id.Right_DollarBrace '}'>
                                          )
                                        }
                                      right: {<Id.Lit_Digits 1>}
                                    )
                                  right: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_GreatEqual
                                      left: 
                                        {
                                          (braced_var_sub
                                            left: <Id.Left_DollarBrace '${'>
                                            token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                            var_name: aSOFTWARE_INSTALL_STATE
                                            bracket_op: 
                                              (bracket_op.ArrayIndex
                                                expr: {<Id.Lit_Digits 120>}
                                              )
                                            right: <Id.Right_DollarBrace '}'>
                                          )
                                        }
                                      right: {<Id.Lit_Digits 1>}
                                    )
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<local>} {<Id.Lit_VarLike 'cmd_launch_desktop='> (SQ )})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 23>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'cmd_launch_desktop='>
                                      name: cmd_launch_desktop
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <'/usr/bin/lxsession -s LXDE &'>)}
                                  spids: [54961]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [54938 54957]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 24>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'cmd_launch_desktop='>
                                      name: cmd_launch_desktop
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <'x-window-manager &'>)}
                                  spids: [54995]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [54972 54991]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 26>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'cmd_launch_desktop='>
                                      name: cmd_launch_desktop
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <'x-window-manager &'>)}
                                  spids: [55029]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [55006 55025]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 25>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'cmd_launch_desktop='>
                                      name: cmd_launch_desktop
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <'/usr/bin/xfce4-session &'>)}
                                  spids: [55063]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [55040 55059]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.vnc'>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 55104
                              stdin_parts: [
                                <'[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup\n'>
                                <'[ -r /root/.Xresources ] && xrdb /root/.Xresources\n'>
                                <'xsetroot -solid grey\n'>
                                <'vncconfig -iconic &\n'>
                                ($ Id.VSub_DollarName cmd_launch_desktop)
                                <'\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {(DQ ($ Id.VSub_DollarName HOME)) <'/.vnc/xstartup'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<chmod>} {<Id.Lit_Other '+'> <x>} 
                      {(DQ ($ Id.VSub_DollarName HOME)) <'/.vnc/xstartup'>}
                    )
                  ]
                  spids: [54886 54919]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<73>}
                  spids: [55128]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (command.Simple
                      words: [{<echo>} {<0>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/var/log/auth.log'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 55190
                              stdin_parts: [
                                <'[Definition]\n'>
                                <'# loglevel #1=error #2=warn #3=info\n'>
                                <'loglevel = 3\n'>
                                <'logtarget = /var/log/fail2ban.log\n'>
                                <'socket = /var/run/fail2ban/fail2ban.sock\n'>
                                <'pidfile = /var/run/fail2ban/fail2ban.pid\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/fail2ban/fail2ban.conf'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 55240
                              stdin_parts: [
                                <'[DEFAULT]\n'>
                                <'\n'>
                                <'enabled = true\n'>
                                <'ignoreip = 127.0.0.1/8\n'>
                                <'ignorecommand =\n'>
                                <'backend = auto\n'>
                                <'bantime = 600\n'>
                                <'findtime = 600\n'>
                                <'maxretry = 3\n'>
                                <'banaction = route\n'>
                                <'action_ = %(banaction)s[name=%(__name__)s, bantime='>
                                <Id.Right_DoubleQuote '"'>
                                <'%(bantime)s'>
                                <Id.Right_DoubleQuote '"'>
                                <', port='>
                                <Id.Right_DoubleQuote '"'>
                                <'%(port)s'>
                                <Id.Right_DoubleQuote '"'>
                                <']\n'>
                                <'action = %(action_)s\n'>
                                <'\n'>
                                <'[sshd]\n'>
                                <'\n'>
                                <'enabled  = true\n'>
                                <'port     = ssh\n'>
                                <'filter   = sshd\n'>
                                <'logpath  = /var/log/auth.log\n'>
                                <'maxretry = 6\n'>
                                <'\n'>
                                <'[dropbear]\n'>
                                <'\n'>
                                <'enabled  = true\n'>
                                <'port     = ssh\n'>
                                <'filter   = dropbear\n'>
                                <'logpath  = /var/log/auth.log\n'>
                                <'maxretry = 6\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/fail2ban/jail.conf'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [55132 55151]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<64>}
                  spids: [55251]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<cp>} {<'/DietPi/dietpi/conf/phpsysinfo.ini'>} 
                      {<'/var/www/phpsysinfo/phpsysinfo.ini'>}
                    )
                  ]
                  spids: [55255 55274]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<56>}
                  spids: [55302]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<mkdir>} {<-p>} {<'/var/www/gallery/DietPi'>})
                    (C {<wget>} {<http> <Id.Lit_Colon ':'> <'//dietpi.com/images/dietpi-logo_256.png'>} 
                      {<-O>} {<'/var/www/gallery/DietPi/logo_256.png'>}
                    )
                    (C {<mkdir>} {<-p>} {<'/var/www/gallery/Tr-Zero'>})
                    (C {<wget>} 
                      {<http> <Id.Lit_Colon ':'> 
                        <'//media.indiedb.com/images/games/1/25/24673/SS_0.jpg'>
                      } {<-O>} {<'/var/www/gallery/Tr-Zero/SS_0.jpg'>}
                    )
                    (C {<wget>} 
                      {<http> <Id.Lit_Colon ':'> 
                        <'//media.indiedb.com/images/games/1/25/24673/SS_44.jpg'>
                      } {<-O>} {<'/var/www/gallery/Tr-Zero/SS_1.jpg'>}
                    )
                    (C {<wget>} 
                      {<http> <Id.Lit_Colon ':'> <'//media.indiedb.com/images/games/1/25/24673/3.png'>} {<-O>} {<'/var/www/gallery/Tr-Zero/SS_2.jpg'>}
                    )
                    (C {<mkdir>} {<-p>} {<'/var/www/gallery/_sfpg_data'>})
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/define(\'SECURITY_PHRASE\'/c'> <Id.Lit_BadBackslash '\\'> 
                          <'define(\'SECURITY_PHRASE\', \'true\');'>
                        )
                      } {<'/var/www/gallery/index.php'>}
                    )
                  ]
                  spids: [55306 55325]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<40>}
                  spids: [55435]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<Download_Test_Media>})
                    (C {<G_RUN_CMD>} {<wget>} 
                      {<http> <Id.Lit_Colon ':'> 
                        <'//dietpi.com/downloads/mysql_databases/ampache_mysql_3.8.2-v6.0.zip'>
                      } {<-O>} {<sql.zip>}
                    )
                    (C {<unzip>} {<-o>} {<sql.zip>})
                    (C {<rm>} {<sql.zip>})
                    (C {<'/DietPi/dietpi/func/create_mysql_db'>} {<ampache>} {<ampache>} 
                      {(DQ ($ Id.VSub_DollarName GLOBAL_PW))}
                    )
                    (command.Simple
                      words: [{<mysql>} {<ampache>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Less '<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: {<ampache.sql>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<rm>} {<ampache.sql>})
                    (C {<G_RUN_CMD>} {<wget>} 
                      {<http> <Id.Lit_Colon ':'> 
                        <'//dietpi.com/downloads/conf/ampache.cfg.php_3.8.2-v6.0'>
                      } {<-O>} {<'/var/www/ampache/config/ampache.cfg.php'>}
                    )
                  ]
                  spids: [55439 55458]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<97>}
                  spids: [55552]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<local>} {<Id.Lit_VarLike 'key_size='> <1024>})
                    (C {<cp>} {<-R>} {<'/usr/share/easy-rsa/'>} {<'/etc/openvpn'>})
                    (C {<mkdir>} {<-p>} {<'/etc/openvpn/easy-rsa/keys'>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 55659
                              stdin_parts: [
                                <'export KEY_SIZE='>
                                ($ Id.VSub_DollarName key_size)
                                <'\n'>
                                <'export KEY_COUNTRY='>
                                <Id.Right_DoubleQuote '"'>
                                <UK>
                                <Id.Right_DoubleQuote '"'>
                                <'\n'>
                                <'export KEY_PROVINCE='>
                                <Id.Right_DoubleQuote '"'>
                                <DietPi>
                                <Id.Right_DoubleQuote '"'>
                                <'\n'>
                                <'export KEY_CITY='>
                                <Id.Right_DoubleQuote '"'>
                                <DietPi>
                                <Id.Right_DoubleQuote '"'>
                                <'\n'>
                                <'export KEY_ORG='>
                                <Id.Right_DoubleQuote '"'>
                                <DietPi>
                                <Id.Right_DoubleQuote '"'>
                                <'\n'>
                                <'export KEY_EMAIL='>
                                <Id.Right_DoubleQuote '"'>
                                <'noreply@DietPi.com'>
                                <Id.Right_DoubleQuote '"'>
                                <'\n'>
                                <'export KEY_OU='>
                                <Id.Right_DoubleQuote '"'>
                                <DietPi>
                                <Id.Right_DoubleQuote '"'>
                                <'\n'>
                                <'export KEY_NAME='>
                                <Id.Right_DoubleQuote '"'>
                                <DietPi_OpenVPN_Server>
                                <Id.Right_DoubleQuote '"'>
                                <'\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_DGreat '>>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/openvpn/easy-rsa/vars'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<G_DIETPI-NOTIFY>} {<2>} 
                      {
                        (DQ <'Generating unique OpenVPN certificates and keys. Please wait...'> 
                          <Id.Lit_BadBackslash '\\'> <n>
                        )
                      }
                    )
                    (C {<openssl>} {<dhparam>} {<-out>} 
                      {<'/etc/openvpn/dh'> (DQ ($ Id.VSub_DollarName key_size)) <.pem>} {(DQ ($ Id.VSub_DollarName key_size))}
                    )
                    (C {<chmod>} {<-R>} {<Id.Lit_Other '+'> <x>} {<'/etc/openvpn/easy-rsa'>})
                    (C {<cd>} {<'/etc/openvpn/easy-rsa'>})
                    (C {<.>} {<'./vars'>})
                    (C {<'./clean-all'>})
                    (C {<'./build-ca'>} {<--batch>} {<DietPi_OpenVPN_Server>})
                    (C {<'./build-key-server'>} {<--batch>} {<DietPi_OpenVPN_Server>})
                    (C {<cp>} 
                      (word.BracedTree
                        parts: [
                          <'/etc/openvpn/easy-rsa/keys/'>
                          (word_part.BracedTuple
                            words: [
                              {<DietPi_OpenVPN_Server.crt>}
                              {<DietPi_OpenVPN_Server.key>}
                              {<ca.crt>}
                            ]
                          )
                        ]
                      ) {<'/etc/openvpn/'>}
                    )
                    (C {<'./build-key'>} {<--batch>} {<DietPi_OpenVPN_Client>})
                    (C {<cd>} {<..>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 55830
                              stdin_parts: [
                                <'port 1194\n'>
                                <'proto udp\n'>
                                <'dev tun\n'>
                                <'\n'>
                                <'ca ca.crt\n'>
                                <'cert DietPi_OpenVPN_Server.crt\n'>
                                <'key DietPi_OpenVPN_Server.key\n'>
                                <'dh dh'>
                                ($ Id.VSub_DollarName key_size)
                                <'.pem\n'>
                                <'\n'>
                                <'server 10.8.0.0 255.255.255.0\n'>
                                <'\n'>
                                <'client-to-client\n'>
                                <'keepalive 10 60\n'>
                                <'comp-lzo\n'>
                                <'max-clients 10\n'>
                                <'\n'>
                                <'user nobody\n'>
                                <'group nogroup\n'>
                                <'\n'>
                                <'persist-key\n'>
                                <'persist-tun\n'>
                                <'verb 3\n'>
                                <'\n'>
                                <'#Web Forwarding (uncomment to enable)\n'>
                                <'#push '>
                                <Id.Right_DoubleQuote '"'>
                                <redirect-gateway>
                                <Id.Right_DoubleQuote '"'>
                                <'\n'>
                                <'#push '>
                                <Id.Right_DoubleQuote '"'>
                                <'dhcp-option DNS 10.8.0.1'>
                                <Id.Right_DoubleQuote '"'>
                                <'\n'>
                                <'\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/openvpn/server.conf'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 55868
                              stdin_parts: [
                                <'client\n'>
                                <'proto udp\n'>
                                <'dev tun\n'>
                                <'\n'>
                                <'#Ip/Domain name of DietPi system, running OpenVPN server.\n'>
                                <'remote mywebsite.com 1194\n'>
                                <'\n'>
                                <'resolv-retry infinite\n'>
                                <'nobind\n'>
                                <'\n'>
                                <'user nobody\n'>
                                <'group nogroup\n'>
                                <'\n'>
                                <'persist-key\n'>
                                <'persist-tun\n'>
                                <'\n'>
                                <'ns-cert-type server\n'>
                                <'comp-lzo\n'>
                                <'verb 3\n'>
                                <'\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.ovpn'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<echo>} {(SQ <'<ca>'>)}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DGreat '>>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.ovpn'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<cat>} {<'/etc/openvpn/ca.crt'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DGreat '>>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.ovpn'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<echo>} {(SQ <'</ca>'>)}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DGreat '>>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.ovpn'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<echo>} {(SQ <'<cert>'>)}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DGreat '>>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.ovpn'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<cat>} {<'/etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.crt'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DGreat '>>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.ovpn'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<echo>} {(SQ <'</cert>'>)}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DGreat '>>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.ovpn'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<echo>} {(SQ <'<key>'>)}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DGreat '>>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.ovpn'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<cat>} {<'/etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.key'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DGreat '>>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.ovpn'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<echo>} {(SQ <'</key>'>)}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DGreat '>>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.ovpn'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<cp>} {<'/etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.ovpn'>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/'>}
                    )
                    (C {<cp>} {<'/etc/openvpn/easy-rsa/keys/DietPi_OpenVPN_Client.ovpn'>} {<'/boot/'>})
                    (C {<sed>} {<-i>} {(SQ <'/net.ipv4.ip_forward=/c\\net.ipv4.ip_forward=1'>)} 
                      {<'/etc/sysctl.conf'>}
                    )
                  ]
                  spids: [55556 55575]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<60>}
                  spids: [56040]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<local>} 
                      {<Id.Lit_VarLike 'eth_index='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: (C {<sed>} {<-n>} {<1p>} {<'/DietPi/dietpi/.network'>})
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'wifi_index='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: (C {<sed>} {<-n>} {<2p>} {<'/DietPi/dietpi/.network'>})
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 56132
                              stdin_parts: [
                                <'ddns-update-style none;\n'>
                                <'default-lease-time 600;\n'>
                                <'max-lease-time 7200;\n'>
                                <'authoritative;\n'>
                                <'log-facility local7;\n'>
                                <'\n'>
                                <'subnet 192.168.42.0 netmask 255.255.255.0 {\n'>
                                <'        range 192.168.42.10 192.168.42.50;\n'>
                                <'        option broadcast-address 192.168.42.255;\n'>
                                <'        option routers 192.168.42.1;\n'>
                                <'        option domain-name '>
                                <Id.Right_DoubleQuote '"'>
                                <local>
                                <Id.Right_DoubleQuote '"'>
                                <';\n'>
                                <'        option domain-name-servers 8.8.8.8, 8.8.4.4;\n'>
                                <'}\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/dhcp/dhcpd.conf'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 56156
                              stdin_parts: [
                                <'INTERFACES='>
                                <Id.Right_DoubleQuote '"'>
                                <wlan>
                                ($ Id.VSub_DollarName wifi_index)
                                <Id.Right_DoubleQuote '"'>
                                <'\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/default/isc-dhcp-server'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<sed>} {<-i>} {(SQ <'/allow-hotplug wlan/q0'>)} {<'/etc/network/interfaces'>})
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/allow-hotplug wlan/c'> <Id.Lit_BadBackslash '\\'> <'allow-hotplug wlan'> 
                          ($ Id.VSub_DollarName wifi_index)
                        )
                      } {<'/etc/network/interfaces'>}
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 56220
                              stdin_parts: [
                                <'iface wlan'>
                                ($ Id.VSub_DollarName wifi_index)
                                <' inet static\n'>
                                <'address 192.168.42.1\n'>
                                <'netmask 255.255.255.0\n'>
                                <'#gateway 192.168.0.1\n'>
                                <'wireless-power off\n'>
                                <'#dns-nameservers 8.8.8.8 8.8.4.4\n'>
                                <'\n'>
                                <'# IP tables\n'>
                                <'up iptables-restore < /etc/iptables.ipv4.nat\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_DGreat '>>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/network/interfaces'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<ifconfig>} {<wlan> ($ Id.VSub_DollarName wifi_index)} {<192.168.42.1>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 56338
                              stdin_parts: [
                                <'interface=wlan'>
                                ($ Id.VSub_DollarName wifi_index)
                                <'\n'>
                                <'driver=nl80211\n'>
                                <'ssid='>
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: 
                                    (command.Pipeline
                                      children: [
                                        (C {<cat>} {<'/DietPi/dietpi.txt'>})
                                        (C {<grep>} {<-m1>} {(SQ <'^SOFTWARE_WIFI_HOTSPOT_SSID='>)})
                                        (C {<sed>} {(SQ <'s/.*=//'>)})
                                      ]
                                      negated: F
                                      stderr_indices: []
                                    )
                                  right: <Id.Eof_RParen _>
                                )
                                <'\n'>
                                <'hw_mode=g\n'>
                                <'channel='>
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: 
                                    (command.Pipeline
                                      children: [
                                        (C {<cat>} {<'/DietPi/dietpi.txt'>})
                                        (C {<grep>} {<-m1>} {(SQ <'^SOFTWARE_WIFI_HOTSPOT_CHANNEL='>)})
                                        (C {<sed>} {(SQ <'s/.*=//'>)})
                                      ]
                                      negated: F
                                      stderr_indices: []
                                    )
                                  right: <Id.Eof_RParen _>
                                )
                                <'\n'>
                                <'macaddr_acl=0\n'>
                                <'auth_algs=1\n'>
                                <'ignore_broadcast_ssid=0\n'>
                                <'wpa=2\n'>
                                <'wpa_passphrase='>
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: 
                                    (command.Pipeline
                                      children: [
                                        (C {<cat>} {<'/DietPi/dietpi.txt'>})
                                        (C {<grep>} {<-m1>} {(SQ <'^SOFTWARE_WIFI_HOTSPOT_KEY='>)})
                                        (C {<sed>} {(SQ <'s/.*=//'>)})
                                      ]
                                      negated: F
                                      stderr_indices: []
                                    )
                                  right: <Id.Eof_RParen _>
                                )
                                <'\n'>
                                <'wpa_key_mgmt=WPA-PSK\n'>
                                <'wpa_pairwise=TKIP\n'>
                                <'rsn_pairwise=CCMP\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/hostapd/hostapd.conf'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: {($ Id.VSub_DollarName WIFIHOTSPOT_RTL8188C_DEVICE)}
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<sed>} {<-i>} 
                              {(DQ <'/^driver=/c'> <Id.Lit_BadBackslash '\\'> <'driver=rtl871xdrv'>)} {<'/etc/hostapd/hostapd.conf'>}
                            )
                          ]
                          spids: [56345 56355]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 56397
                              stdin_parts: [
                                <'DAEMON_CONF='>
                                <Id.Right_DoubleQuote '"'>
                                <'/etc/hostapd/hostapd.conf'>
                                <Id.Right_DoubleQuote '"'>
                                <'\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/default/hostapd'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/net.ipv4.ip_forward=/c'> <Id.Lit_BadBackslash '\\'> 
                          <'net.ipv4.ip_forward=1'>
                        )
                      } {<'/etc/sysctl.conf'>}
                    )
                    (command.Simple
                      words: [{<echo>} {<1>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/proc/sys/net/ipv4/ip_forward'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<iptables>} {<-t>} {<nat>} {<-A>} {<POSTROUTING>} {<-o>} 
                      {<eth> ($ Id.VSub_DollarName eth_index)} {<-j>} {<MASQUERADE>}
                    )
                    (C {<iptables>} {<-A>} {<FORWARD>} {<-i>} {<eth> ($ Id.VSub_DollarName eth_index)} 
                      {<-o>} {<wlan> ($ Id.VSub_DollarName wifi_index)} {<-m>} {<state>} {<--state>} 
                      {<RELATED> <Id.Lit_Comma ','> <ESTABLISHED>} {<-j>} {<ACCEPT>}
                    )
                    (C {<iptables>} {<-A>} {<FORWARD>} {<-i>} {<wlan> ($ Id.VSub_DollarName wifi_index)} 
                      {<-o>} {<eth> ($ Id.VSub_DollarName eth_index)} {<-j>} {<ACCEPT>}
                    )
                    (command.Simple
                      words: [{<iptables-save>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/iptables.ipv4.nat'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DAmp
                                          left: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                              right: {<Id.Lit_Digits 3>}
                                            )
                                          right: 
                                            (arith_expr.Unary
                                              op_id: Id.Arith_Bang
                                              child: 
                                                {($ Id.VSub_DollarName WIFIHOTSPOT_RTL8188C_DEVICE)}
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.Simple
                              words: [{<echo>} {<-e>} {(DQ <'ieee80211n=1'>)}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DGreat '>>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<'/etc/hostapd/hostapd.conf'>}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                          ]
                          spids: [56520 56540]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [56044 56063]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<61>}
                  spids: [56574]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 56628
                              stdin_parts: [
                                <'Log notice file /var/log/tor/notices.log\n'>
                                <'VirtualAddrNetwork 10.192.0.0/10\n'>
                                <'AutomapHostsSuffixes .onion,.exit\n'>
                                <'AutomapHostsOnResolve 1\n'>
                                <'TransPort 9040\n'>
                                <'TransListenAddress 192.168.42.1\n'>
                                <'DNSPort 53\n'>
                                <'DNSListenAddress 192.168.42.1\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/tor/torrc'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<iptables>} {<-F>})
                    (C {<iptables>} {<-t>} {<nat>} {<-F>})
                    (C {<local>} 
                      {<Id.Lit_VarLike 'wifi_index='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: (C {<sed>} {<-n>} {<2p>} {<'/DietPi/dietpi/.network'>})
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (C {<iptables>} {<-t>} {<nat>} {<-A>} {<PREROUTING>} {<-i>} 
                      {<wlan> ($ Id.VSub_DollarName wifi_index)} {<-p>} {<tcp>} {<--dport>} {<22>} {<-j>} {<REDIRECT>} {<--to-ports>} {<22>}
                    )
                    (C {<iptables>} {<-t>} {<nat>} {<-A>} {<PREROUTING>} {<-i>} 
                      {<wlan> ($ Id.VSub_DollarName wifi_index)} {<-p>} {<udp>} {<--dport>} {<53>} {<-j>} {<REDIRECT>} {<--to-ports>} {<53>}
                    )
                    (C {<iptables>} {<-t>} {<nat>} {<-A>} {<PREROUTING>} {<-i>} 
                      {<wlan> ($ Id.VSub_DollarName wifi_index)} {<-p>} {<tcp>} {<--syn>} {<-j>} {<REDIRECT>} {<--to-ports>} {<9040>}
                    )
                    (command.Simple
                      words: [{<iptables-save>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/iptables.ipv4.nat'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<mkdir>} {<-p>} {<'/var/log/tor'>})
                    (command.Simple
                      words: [{<echo>} {<0>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/var/log/tor/notices.log'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<chown>} {<-R>} {<debian-tor> <Id.Lit_Colon ':'> <nogroup>} 
                      {<'/var/log/tor/notices.log'>}
                    )
                  ]
                  spids: [56578 56597]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<37>}
                  spids: [56824]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 56954
                              stdin_parts: [
                                <'general =\n'>
                                <'{\n'>
                                <'  name = '>
                                <Id.Right_DoubleQuote '"'>
                                <'%H'>
                                <Id.Right_DoubleQuote '"'>
                                <';\n'>
                                <'  interpolation = '>
                                <Id.Right_DoubleQuote '"'>
                                <soxr>
                                <Id.Right_DoubleQuote '"'>
                                <';\n'>
                                <'};\n'>
                                <'\n'>
                                <'metadata =\n'>
                                <'{\n'>
                                <'\tenabled = '>
                                <Id.Right_DoubleQuote '"'>
                                <yes>
                                <Id.Right_DoubleQuote '"'>
                                <';\n'>
                                <'\tinclude_cover_art = '>
                                <Id.Right_DoubleQuote '"'>
                                <no>
                                <Id.Right_DoubleQuote '"'>
                                <';\n'>
                                <'\tpipe_name = '>
                                <Id.Right_DoubleQuote '"'>
                                <'/tmp/shairport-sync-metadata'>
                                <Id.Right_DoubleQuote '"'>
                                <';\n'>
                                <'\tpipe_timeout = 5000;\n'>
                                <'\tsocket_address = '>
                                <Id.Right_DoubleQuote '"'>
                                <226.0.0.1>
                                <Id.Right_DoubleQuote '"'>
                                <';\n'>
                                <'\tsocket_port = 5555;\n'>
                                <'\tsocket_msglength = 65000;\n'>
                                <'};\n'>
                                <'\n'>
                                <'\n'>
                                <'alsa =\n'>
                                <'{\n'>
                                <'//  mixer_control_name = '>
                                <Id.Right_DoubleQuote '"'>
                                <PCM>
                                <Id.Right_DoubleQuote '"'>
                                <';\n'>
                                <
'//  output_rate = 44100; // can be 44100, 88200, 176400 or 352800\n'
                                >
                                <'//  output_format = '>
                                <Id.Right_DoubleQuote '"'>
                                <S16>
                                <Id.Right_DoubleQuote '"'>
                                <'; // can be '>
                                <Id.Right_DoubleQuote '"'>
                                <U8>
                                <Id.Right_DoubleQuote '"'>
                                <', '>
                                <Id.Right_DoubleQuote '"'>
                                <S8>
                                <Id.Right_DoubleQuote '"'>
                                <', '>
                                <Id.Right_DoubleQuote '"'>
                                <S16>
                                <Id.Right_DoubleQuote '"'>
                                <', '>
                                <Id.Right_DoubleQuote '"'>
                                <S24>
                                <Id.Right_DoubleQuote '"'>
                                <', '>
                                <Id.Right_DoubleQuote '"'>
                                <S24_3LE>
                                <Id.Right_DoubleQuote '"'>
                                <', '>
                                <Id.Right_DoubleQuote '"'>
                                <S24_3BE>
                                <Id.Right_DoubleQuote '"'>
                                <' or '>
                                <Id.Right_DoubleQuote '"'>
                                <S32>
                                <Id.Right_DoubleQuote '"'>
                                <'\n'>
                                <'};\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/usr/local/etc/shairport-sync.conf'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<groupadd>} {<-r>} {<shairport-sync>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [
                        {<useradd>}
                        {<-r>}
                        {<-M>}
                        {<-g>}
                        {<shairport-sync>}
                        {<-s>}
                        {<'/usr/bin/nologin'>}
                        {<-G>}
                        {<audio>}
                        {<shairport-sync>}
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/usr/local/bin/shairport-sync'>})
                  ]
                  spids: [56828 56847]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<38>}
                  spids: [57015]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<cp>} {<'/DietPi/dietpi/conf/brutefir_config'>} {<'/etc/BruteFIR/'>})
                    (C {<cp>} {<'/DietPi/dietpi/conf/brutefir.service'>} 
                      {<'/var/lib/dietpi/dietpi-software/services/brutefir.service'>}
                    )
                    (command.Simple
                      words: [{<echo>} {<-e>} {(DQ <snd-aloop>)}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/modules-load.d/brutefir-alsa-loopback.conf'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [
                        {<echo>}
                        {<-e>}
                        {
                          (DQ 
                            <'options snd-aloop id=BruteFIR enable=1 pcm_substreams=1 pcm_notify=1'>
                          )
                        }
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/modprobe.d/brutefir-alsa-loopback.conf'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 57145
                              stdin_parts: [
                                <'pcm.!default {\n'>
                                <'\n'>
                                <'\ttype plug\n'>
                                <'\n'>
                                <'\tslave {\n'>
                                <'\t\tpcm {\n'>
                                <'\n'>
                                <'\t\t\ttype hw\n'>
                                <'\t\t\tcard '>
                                <Id.Right_DoubleQuote '"'>
                                <BruteFIR>
                                <Id.Right_DoubleQuote '"'>
                                <'\n'>
                                <'\t\t\tdevice 0\n'>
                                <'\t\t\tchannels 2\n'>
                                <'\t\t\tformat '>
                                <Id.Right_DoubleQuote '"'>
                                <S16_LE>
                                <Id.Right_DoubleQuote '"'>
                                <'\n'>
                                <'\t\t\trate 44100\n'>
                                <'\t\t}\n'>
                                <'\t}\n'>
                                <'}\n'>
                                <'\n'>
                                <'ctl.!default {\n'>
                                <'\n'>
                                <'\ttype hw\n'>
                                <'\tcard '>
                                <Id.Right_DoubleQuote '"'>
                                <BruteFIR>
                                <Id.Right_DoubleQuote '"'>
                                <'\n'>
                                <'}\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/asound.conf'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [57019 57038]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<48>}
                  spids: [57157]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<sed>} {<-i>} {(SQ <'/output_buffering = /c\\output_buffering = Off/'>)} 
                      {(DQ ($ Id.VSub_DollarName FP_PHP_BASE_DIR)) <'/apache2/php.ini'>}
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/AllowOverride /c'> <Id.Lit_BadBackslash '\\'> <'    AllowOverride All'>)
                      } {<'/etc/apache2/sites-enabled/000-default'> <Id.Lit_Star '*'>}
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/AllowOverride /c'> <Id.Lit_BadBackslash '\\'> <'    AllowOverride All'>)
                      } {<'/etc/apache2/apache2.conf'>}
                    )
                    (C {<a2enmod>} {<rewrite>})
                    (C {<'/DietPi/dietpi/func/create_mysql_db'>} {<pydio>} {<pydio>} 
                      {(DQ ($ Id.VSub_DollarName GLOBAL_PW))}
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'target_data_dir='> 
                        (DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/pydio_data'>)
                      }
                    )
                    (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName target_data_dir))})
                    (C {<mv>} {<'/var/www/pydio/data/'> <Id.Lit_Star '*'>} 
                      {(DQ ($ Id.VSub_DollarName target_data_dir)) <'/'>}
                    )
                    (C {<rm>} {<-R>} {<'/var/www/pydio/data'>})
                    (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName target_data_dir))} 
                      {<'/var/www/pydio/data'>}
                    )
                  ]
                  spids: [57161 57180]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<36>}
                  spids: [57343]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (command.Simple
                      words: [
                        {<echo>}
                        {<-e>}
                        {
                          (DQ 
                            <
'#This file is no longer used as service has been upgraded to SystemD.'
                            > <Id.Lit_BadBackslash '\\'> 
                            <
'n#Please see /etc/systemd/system/squeezelite.service to set start options'
                            >
                          )
                        }
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/default/squeezelite'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<rm>} {<'/etc/init.d/squeezelite'>})
                    (C {<cp>} {<'/DietPi/dietpi/conf/squeezelite.service'>} 
                      {<'/etc/systemd/system/squeezelite.service'>}
                    )
                    (C {<Download_Test_Media>})
                  ]
                  spids: [57347 57366]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<99>}
                  spids: [57418]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<cp>} {<'/etc/emonhub/conf/default/emonhub'>} {<'/etc/default/emonhub'>})
                    (C {<cp>} {<'/etc/emonhub/service/emonhub'>} {<'/etc/init.d/emonhub'>})
                    (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/etc/init.d/emonhub'>})
                    (C {<update-rc.d>} {<emonhub>} {<defaults>})
                    (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<-R>} {<'/etc/emonhub'>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                          right: {<Id.Lit_Digits 3>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: 
                                                    {
                                                      (command_sub
                                                        left_token: <Id.Left_DollarParen '$('>
                                                        child: 
                                                          (command.Pipeline
                                                            children: [
                                                              (C {<cat>} {<'/DietPi/config.txt'>})
                                                              (C {<grep>} {<-ci>} {<-m1>} 
                                                                {(SQ <'=pi3-disable-bt'>)}
                                                              )
                                                            ]
                                                            negated: F
                                                            stderr_indices: []
                                                          )
                                                        right: <Id.Eof_RParen _>
                                                      )
                                                    }
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.Simple
                                      words: [
                                        {<echo>}
                                        {<-e>}
                                        {
                                          (DQ <Id.Lit_BadBackslash '\\'> <'ndtoverlay=pi3-disable-bt'>)
                                        }
                                      ]
                                      redirects: [
                                        (redir
                                          op: <Id.Redir_DGreat '>>'>
                                          loc: (redir_loc.Fd fd:1)
                                          arg: {<'/DietPi/config.txt'>}
                                        )
                                      ]
                                      more_env: []
                                      do_fork: T
                                    )
                                  ]
                                  spids: [57525 57555]
                                )
                              ]
                              else_action: [
                                (C {<sed>} {<-i>} {(SQ <'/pi3-disable-bt/c\\dtoverlay=pi3-disable-bt'>)} 
                                  {<'/DietPi/config.txt'>}
                                )
                              ]
                              redirects: []
                            )
                            (C {<systemctl>} {<stop>} {<hciuart>})
                            (C {<systemctl>} {<disable>} {<hciuart>})
                          ]
                          spids: [57503 57517]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<serialconsole>} {<disable>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'USER_EMONHUB_APIKEY_CURRENT='>
                              name: USER_EMONHUB_APIKEY_CURRENT
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Pipeline
                                    children: [
                                      (C {<cat>} {<'/DietPi/dietpi.txt'>})
                                      (C {<grep>} {<-m1>} {(SQ <'^SOFTWARE_EMONHUB_APIKEY='>)})
                                      (C {<sed>} {(SQ <'s/.*=//'>)})
                                    ]
                                    negated: F
                                    stderr_indices: []
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          spids: [57637]
                        )
                      ]
                      redirects: []
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/apikey/c'> <Id.Lit_BadBackslash '\\'> <'        apikey = '> 
                          ($ Id.VSub_DollarName USER_EMONHUB_APIKEY_CURRENT)
                        )
                      } {<'/etc/emonhub/conf/emonhub.conf'>}
                    )
                  ]
                  spids: [57422 57441]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<66>}
                  spids: [57686]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<'/usr/share/rpimonitor/scripts/updatePackagesStatus.pl'>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: {($ Id.VSub_DollarName USBDRIVE)}
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<sed>} {<-i>} 
                              {
                                (SQ 
                                  <
'\\/include=\\/etc\\/rpimonitor\\/template\\/sdcard.conf/a include=\\/etc\\/rpimonitor\\/template\\/usb_hdd.conf'
                                  >
                                )
                              } {<'/etc/rpimonitor/data.conf'>}
                            )
                            (command.Simple
                              words: [{<cat>}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DLess '<<'>
                                  loc: (redir_loc.Fd fd:0)
                                  arg: 
                                    (redir_param.HereDoc
                                      here_begin: {<_EOF_>}
                                      here_end_span_id: 57841
                                      stdin_parts: [
                                        <
'########################################################################\n'
                                        >
                                        <'# Extract USB HDD (sda1) information\n'>
                                        <'#  Page: 1\n'>
                                        <'#  Information               Status     Statistics\n'>
                                        <'#  - USBHDD1 total          - yes      - yes\n'>
                                        <'#  - USBHDD1 used           - yes      - yes\n'>
                                        <
'########################################################################\n'
                                        >
                                        <'static.10.name=usbhdd_total\n'>
                                        <'static.10.source=df -t ext4\n'>
                                        <'static.10.regexp=sda1'>
                                        <Id.Lit_BadBackslash '\\'>
                                        <'s+('>
                                        <Id.Lit_BadBackslash '\\'>
                                        <'d+)\n'>
                                        <'static.10.postprocess='>
                                        (word_part.EscapedLiteral
                                          token: <Id.Lit_EscapedChar '\\$'>
                                          ch: '$'
                                        )
                                        <'1/1024\n'>
                                        <'\n'>
                                        <'dynamic.14.name=usbhdd_used\n'>
                                        <'dynamic.14.source=df -t ext4\n'>
                                        <'dynamic.14.regexp=sda1'>
                                        <Id.Lit_BadBackslash '\\'>
                                        <'s+'>
                                        <Id.Lit_BadBackslash '\\'>
                                        <'d+'>
                                        <Id.Lit_BadBackslash '\\'>
                                        <'s+('>
                                        <Id.Lit_BadBackslash '\\'>
                                        <'d+)\n'>
                                        <'dynamic.14.postprocess='>
                                        (word_part.EscapedLiteral
                                          token: <Id.Lit_EscapedChar '\\$'>
                                          ch: '$'
                                        )
                                        <'1/1024\n'>
                                        <'dynamic.14.rrd=GAUGE\n'>
                                        <'\n'>
                                        <'web.status.1.content.9.name=USB HDD\n'>
                                        <'web.status.1.content.9.icon=usb_hdd.png\n'>
                                        <'web.status.1.content.9.line.1='>
                                        <Id.Right_DoubleQuote '"'>
                                        <'<b>/sda1</b> Used: <b>'>
                                        <Id.Right_DoubleQuote '"'>
                                        <'+KMG(data.usbhdd_used,\'M\')+'>
                                        <Id.Right_DoubleQuote '"'>
                                        <'</b> (<b>'>
                                        <Id.Right_DoubleQuote '"'>
                                        <'+Percent(data.udbhdd_used,data.usbhdd_total,\'M\')+'>
                                        <Id.Right_DoubleQuote '"'>
                                        <'</b>) Free: <b>'>
                                        <Id.Right_DoubleQuote '"'>
                                        <'+KMG(data.usbhdd_total-data.usbhdd_used,\'M\')+ '>
                                        <Id.Right_DoubleQuote '"'>
                                        <'</b> Total: <b>'>
                                        <Id.Right_DoubleQuote '"'>
                                        <'+ KMG(data.usbhdd_total,\'M\') +'>
                                        <Id.Right_DoubleQuote '"'>
                                        <'</b>'>
                                        <Id.Right_DoubleQuote '"'>
                                        <'\n'>
                                        <
'web.status.1.content.9.line.2=ProgressBar(data.usbhdd_used,data.usbhdd_total)\n'
                                        >
                                        <'\n'>
                                        <'web.statistics.1.content.9.name=USB HDD\n'>
                                        <'web.statistics.1.content.9.graph.1=usbhdd_total\n'>
                                        <'web.statistics.1.content.9.graph.2=usbhdd_used\n'>
                                        <
'web.statistics.1.content.9.ds_graph_options.usbhdd_total.label=USB HDD total space (MB)\n'
                                        >
                                        <
'web.statistics.1.content.9.ds_graph_options.usbhdd_total.color='
                                        >
                                        <Id.Right_DoubleQuote '"'>
                                        <'#FF7777'>
                                        <Id.Right_DoubleQuote '"'>
                                        <'\n'>
                                        <
'web.statistics.1.content.9.ds_graph_options.usbhdd_used.label=USB HDD used space (MB)\n'
                                        >
                                        <
'web.statistics.1.content.9.ds_graph_options.usbhdd_used.lines={ fill: true }\n'
                                        >
                                        <
'web.statistics.1.content.9.ds_graph_options.usbhdd_used.color='
                                        >
                                        <Id.Right_DoubleQuote '"'>
                                        <'#7777FF'>
                                        <Id.Right_DoubleQuote '"'>
                                        <'\n'>
                                      ]
                                    )
                                )
                                (redir
                                  op: <Id.Redir_Great '>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<'/etc/rpimonitor/template/usb_hdd.conf'>}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                          ]
                          spids: [57729 57739]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [57690 57709]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<65>}
                  spids: [57856]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<cp>} {<'/DietPi/dietpi/conf/netdata.service'>} 
                      {<'/etc/systemd/system/netdata.service'>}
                    )
                    (C {<systemctl>} {<daemon-reload>})
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (command.Simple
                          words: [{<getent>} {<group>} {<netdata>}]
                          redirects: [
                            (redir
                              op: <Id.Redir_Great '>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {<'/dev/null'>}
                            )
                          ]
                          more_env: []
                          do_fork: T
                        )
                        (C {<groupadd>} {<-r>} {<netdata>})
                      ]
                    )
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (command.Simple
                          words: [{<getent>} {<passwd>} {<netdata>}]
                          redirects: [
                            (redir
                              op: <Id.Redir_Great '>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {<'/dev/null'>}
                            )
                          ]
                          more_env: []
                          do_fork: T
                        )
                        (C {<useradd>} {<-r>} {<-g>} {<netdata>} {<-c>} {<netdata>} {<-s>} 
                          {<'/sbin/nologin'>} {<-d>} {<'/'>} {<netdata>}
                        )
                      ]
                    )
                    (command.ForEach
                      iter_names: [x]
                      iterable: 
                        (for_iter.Words
                          words: [
                            {<'/var/cache/netdata'>}
                            {<'/usr/share/netdata/web'>}
                            {<'/etc/netdata'>}
                            {<'/var/log/netdata'>}
                            {<'/var/lib/netdata'>}
                          ]
                        )
                      body: 
                        (command.DoGroup
                          children: [
                            (C {<chown>} {<-R>} {<netdata.netdata>} {($ Id.VSub_DollarName x)})
                            (C {<chmod>} {<0775>} {<-R>} {($ Id.VSub_DollarName x)})
                          ]
                        )
                      redirects: []
                    )
                  ]
                  spids: [57860 57879]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<57>}
                  spids: [58016]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (command.Simple
                      words: [{<Install_Apply_Permissions>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<php>} {<-r>} {(DQ <'readfile(\'https://getcomposer.org/installer\');'>)}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<composer-setup.php>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<php>} {<composer-setup.php>})
                    (C {<php>} {<-r>} {(DQ <'unlink(\'composer-setup.php\');'>)})
                    (C {<mv>} {<composer.phar>} {<'/usr/local/bin/composer'>})
                    (C {<cd>} {<'/var/www/baikal'>})
                    (C {<composer>} {<install>} {<--no-interaction>})
                    (C {<cd>} {(word_part.TildeSub token:<Id.Lit_TildeLike '~'>) <'/'>})
                    (C {<'/DietPi/dietpi/func/create_mysql_db'>} {<baikal>} {<baikal>} 
                      {(DQ ($ Id.VSub_DollarName GLOBAL_PW))}
                    )
                  ]
                  spids: [58020 58039]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<43>}
                  spids: [58138]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<local>} 
                      {<Id.Lit_VarLike 'max_users='> 
                        (word_part.ArithSub
                          anode: 
                            (arith_expr.Binary
                              op_id: Id.Arith_Star
                              left: {($ Id.VSub_DollarName G_HW_CPU_CORES)}
                              right: {<Id.Lit_Digits 8>}
                            )
                        )
                      }
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/users=/c'> <Id.Lit_BadBackslash '\\'> <'users='> 
                          ($ Id.VSub_DollarName max_users)
                        )
                      } {<'/etc/mumble-server.ini'>}
                    )
                    (C {<sed>} {<-i>} {(SQ <'/registerName=/c\\registerName=DietPi Mumble Server'>)} 
                      {<'/etc/mumble-server.ini'>}
                    )
                    (C {<sed>} {<-i>} {(SQ <'/logdays=/c\\logdays=-1'>)} {<'/etc/mumble-server.ini'>})
                    (C {<murmurd>} {<-ini>} {<'/etc/mumble-server.ini'>} {<-supw>} 
                      {(DQ ($ Id.VSub_DollarName GLOBAL_PW))}
                    )
                  ]
                  spids: [58142 58161]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<41>}
                  spids: [58261]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Banner_Configuration>}) (C {<Download_Test_Media>})]
                  spids: [58265 58284]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<42>}
                  spids: [58304]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<Download_Test_Media>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DAmp
                                          left: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DAmp
                                              left: {($ Id.VSub_DollarName G_USER_INPUTS)}
                                              right: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_Less
                                                  left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                                  right: {<Id.Lit_Digits 10>}
                                                )
                                            )
                                          right: 
                                            (arith_expr.Unary
                                              op_id: Id.Arith_Bang
                                              child: 
                                                {
                                                  (command_sub
                                                    left_token: <Id.Left_DollarParen '$('>
                                                    child: 
                                                      (command.Pipeline
                                                        children: [
                                                          (C {<locale>})
                                                          (C {<grep>} {<-ci>} {<-m1>} {(SQ <en_US.UTF-8>)})
                                                        ]
                                                        negated: F
                                                        stderr_indices: []
                                                      )
                                                    right: <Id.Eof_RParen _>
                                                  )
                                                }
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<sed>} {<-i>} {(SQ <'/en_US.UTF-8 UTF-8/c\\en_US.UTF-8 UTF-8'>)} 
                              {<'/etc/locale.gen'>}
                            )
                            (C {<locale-gen>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                                      name: WHIP_QUESTION
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
'Plex Media Server requires en_US.UTF8 locale to be installed and set to default, else, Plex will not start.\\n\\nOn the next screen:\\n - Press enter (Do not make any changes to the selections, we have already selected en_US.UTF8 for you).\\n\\nOn the screen after:\\n - Select en_US.UTF8 and press enter.'
                                        >
                                      )
                                    }
                                  spids: [58405]
                                )
                              ]
                              redirects: []
                            )
                            (C {<whiptail>} {<--title>} {(DQ <'Plex en_US.UTF8'>)} {<--msgbox>} 
                              {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<16>} {<70>}
                            )
                            (C {<dpkg-reconfigure>} {<locales>})
                          ]
                          spids: [58347 58386]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [58308 58327]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<52>}
                  spids: [58455]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 58510
                              stdin_parts: [
                                <'[Unit]\n'>
                                <'Description=Cuberite Server\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <'Type=oneshot\n'>
                                <'WorkingDirectory=/etc/cubrite\n'>
                                <'ExecStart=/etc/cubrite/Cuberite --service\n'>
                                <'ExecStop=/usr/bin/killall -w Cuberite\n'>
                                <'RemainAfterExit=yes\n'>
                                <'User=root\n'>
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=multi-user.target\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/systemd/system/cuberite.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<systemctl>} {<enable>} {<cuberite.service>})
                    (C {<systemctl>} {<daemon-reload>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 58546
                              stdin_parts: [
                                <'[User:root]\n'>
                                <'Password='>
                                ($ Id.VSub_DollarName GLOBAL_PW)
                                <'\n'>
                                <'\n'>
                                <'[WebAdmin]\n'>
                                <'Ports=1339\n'>
                                <'Enabled=1\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/cubrite/webadmin.ini'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [58459 58478]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<53>}
                  spids: [58557]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<'/DietPi/dietpi/dietpi-services'>} {<stop>})
                    (command.Simple
                      words: [{<killall>} {<-w>} {<supervisord>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<killall>} {<-w>} {<node>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<killall>} {<-w>} {<nodejs>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<ln>} {<-sf>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) 
                        <'/mineos/minecraft/mineos_console.js'>
                      } {<'/usr/local/bin/mineos'>}
                    )
                    (C {<cp>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) 
                        <'/mineos/minecraft/mineos.conf'>
                      } {<'/etc/mineos.conf'>}
                    )
                    (C {<cd>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mineos/minecraft'>})
                    (C {<'./generate-sslcert.sh'>})
                    (C {<cp>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) 
                        <'/mineos/minecraft/init/supervisor_conf'>
                      } {<'/etc/supervisor/conf.d/mineos.conf'>}
                    )
                    (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))})
                    (C {<useradd>} {<mineos>})
                    (command.Pipeline
                      children: [
                        (C {<echo>} {<-e>} 
                          {
                            (DQ <dietpi> <Id.Lit_BadBackslash '\\'> <ndietpi> <Id.Lit_BadBackslash '\\'> 
                              <n>
                            )
                          }
                        )
                        (C {<passwd>} {<mineos>})
                      ]
                      negated: F
                      stderr_indices: []
                    )
                    (C {<mkdir>} {<-p>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mineos/serverdata'>}
                    )
                    (C {<mkdir>} {<-p>} {<'/var/games'>})
                    (C {<cp>} {<-R>} {<'/var/games/minecraft/'> <Id.Lit_Star '*'>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mineos/serverdata/'>}
                    )
                    (C {<rm>} {<-R>} {<'/var/games/minecraft'>})
                    (C {<ln>} {<-sf>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mineos/serverdata'>} {<'/var/games/minecraft'>}
                    )
                    (C {<chown>} {<-R>} {<mineos> <Id.Lit_Colon ':'> <mineos>} {<'/var/games/minecraft'>})
                    (C {<sed>} {<-i>} {(SQ <'/^command=/c\\command=/usr/local/bin/node webui.js'>)} 
                      {<'/etc/supervisor/conf.d/mineos.conf'>}
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/^directory=/c'> <Id.Lit_BadBackslash '\\'> <'directory='> 
                          ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/mineos/minecraft'>
                        )
                      } {<'/etc/supervisor/conf.d/mineos.conf'>}
                    )
                    (C {<supervisorctl>} {<reload>})
                  ]
                  spids: [58561 58580]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<49>}
                  spids: [58846]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<mkdir>} {<-p>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/gogs-repo'>}
                    )
                    (C {<'/DietPi/dietpi/func/create_mysql_db'>} {<gogs>} {<gogs>} 
                      {(DQ ($ Id.VSub_DollarName GLOBAL_PW))}
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 58927
                              stdin_parts: [
                                <'#!/bin/bash\n'>
                                <'#Simple script to start gogs for DietPi systems\n'>
                                <'/etc/gogs/gogs web &> /var/log/gogs_daemon.log &\n'>
                                <'exit\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/gogs/start.sh'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/etc/gogs/start.sh'>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 58964
                              stdin_parts: [
                                <'[Unit]\n'>
                                <'Description=DietPi Gogs service\n'>
                                <'DefaultDependencies=no\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <'Type=oneshot\n'>
                                <'RemainAfterExit=yes\n'>
                                <'User=root\n'>
                                <'ExecStart=/bin/bash /etc/gogs/start.sh\n'>
                                <'ExecStop=/usr/bin/killall -w gogs\n'>
                                <'StandardOutput=tty\n'>
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=multi-user.target\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/systemd/system/gogs.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [58850 58869]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<46>}
                  spids: [58975]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/qBittorrent'>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 59318
                              stdin_parts: [
                                <'[General]\n'>
                                <'ported_to_new_savepath_system=true\n'>
                                <'\n'>
                                <'[Preferences]\n'>
                                <Downloads>
                                <Id.Lit_BadBackslash '\\'>
                                <'DiskWriteCacheSize='>
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: (C {<Optimize_BitTorrent>} {<0>})
                                  right: <Id.Eof_RParen _>
                                )
                                <'\n'>
                                <Downloads>
                                <Id.Lit_BadBackslash '\\'>
                                <'DiskWriteCacheTTL=60\n'>
                                <Queueing>
                                <Id.Lit_BadBackslash '\\'>
                                <'MaxActiveDownloads='>
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: (C {<Optimize_BitTorrent>} {<1>})
                                  right: <Id.Eof_RParen _>
                                )
                                <'\n'>
                                <Queueing>
                                <Id.Lit_BadBackslash '\\'>
                                <'MaxActiveTorrents='>
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: (C {<Optimize_BitTorrent>} {<1>})
                                  right: <Id.Eof_RParen _>
                                )
                                <'\n'>
                                <Queueing>
                                <Id.Lit_BadBackslash '\\'>
                                <'MaxActiveUploads=1\n'>
                                <Queueing>
                                <Id.Lit_BadBackslash '\\'>
                                <'IgnoreSlowTorrents=false\n'>
                                <Bittorrent>
                                <Id.Lit_BadBackslash '\\'>
                                <'MaxConnecs='>
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: (C {<Optimize_BitTorrent>} {<2>})
                                  right: <Id.Eof_RParen _>
                                )
                                <'\n'>
                                <Bittorrent>
                                <Id.Lit_BadBackslash '\\'>
                                <'MaxConnecsPerTorrent='>
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: (C {<Optimize_BitTorrent>} {<2>})
                                  right: <Id.Eof_RParen _>
                                )
                                <'\n'>
                                <Bittorrent>
                                <Id.Lit_BadBackslash '\\'>
                                <'MaxUploads='>
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: (C {<Optimize_BitTorrent>} {<3>})
                                  right: <Id.Eof_RParen _>
                                )
                                <'\n'>
                                <Bittorrent>
                                <Id.Lit_BadBackslash '\\'>
                                <'MaxUploadsPerTorrent='>
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: (C {<Optimize_BitTorrent>} {<3>})
                                  right: <Id.Eof_RParen _>
                                )
                                <'\n'>
                                <WebUI>
                                <Id.Lit_BadBackslash '\\'>
                                <'Port=1340\n'>
                                <WebUI>
                                <Id.Lit_BadBackslash '\\'>
                                <'Enabled=true\n'>
                                <General>
                                <Id.Lit_BadBackslash '\\'>
                                <'Locale=en_GB\n'>
                                <Downloads>
                                <Id.Lit_BadBackslash '\\'>
                                <'SavePath='>
                                ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)
                                <'/downloads\n'>
                                <Downloads>
                                <Id.Lit_BadBackslash '\\'>
                                <'TempPathEnabled=false\n'>
                                <Downloads>
                                <Id.Lit_BadBackslash '\\'>
                                <'TempPath='>
                                ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)
                                <'/downloads\n'>
                                <Downloads>
                                <Id.Lit_BadBackslash '\\'>
                                <'ScanDirs=@Invalid()\n'>
                                <Downloads>
                                <Id.Lit_BadBackslash '\\'>
                                <'DownloadInScanDirs=@Invalid()\n'>
                                <Downloads>
                                <Id.Lit_BadBackslash '\\'>
                                <'TorrentExportDir=\n'>
                                <MailNotification>
                                <Id.Lit_BadBackslash '\\'>
                                <'enabled=false\n'>
                                <MailNotification>
                                <Id.Lit_BadBackslash '\\'>
                                <'email=\n'>
                                <MailNotification>
                                <Id.Lit_BadBackslash '\\'>
                                <'smtp_server=smtp.changeme.com\n'>
                                <MailNotification>
                                <Id.Lit_BadBackslash '\\'>
                                <'req_ssl=false\n'>
                                <MailNotification>
                                <Id.Lit_BadBackslash '\\'>
                                <'req_auth=false\n'>
                                <MailNotification>
                                <Id.Lit_BadBackslash '\\'>
                                <'username=\n'>
                                <MailNotification>
                                <Id.Lit_BadBackslash '\\'>
                                <'password=\n'>
                                <Downloads>
                                <Id.Lit_BadBackslash '\\'>
                                <'PreAllocation=false\n'>
                                <Queueing>
                                <Id.Lit_BadBackslash '\\'>
                                <'QueueingEnabled=false\n'>
                                <Downloads>
                                <Id.Lit_BadBackslash '\\'>
                                <'UseIncompleteExtension=false\n'>
                                <Connection>
                                <Id.Lit_BadBackslash '\\'>
                                <'PortRangeMin=6881\n'>
                                <Connection>
                                <Id.Lit_BadBackslash '\\'>
                                <'UPnP=true\n'>
                                <Connection>
                                <Id.Lit_BadBackslash '\\'>
                                <'GlobalDLLimit=-1\n'>
                                <Connection>
                                <Id.Lit_BadBackslash '\\'>
                                <'GlobalUPLimit=-1\n'>
                                <Bittorrent>
                                <Id.Lit_BadBackslash '\\'>
                                <'uTP=true\n'>
                                <Bittorrent>
                                <Id.Lit_BadBackslash '\\'>
                                <'uTP_rate_limited=false\n'>
                                <Advanced>
                                <Id.Lit_BadBackslash '\\'>
                                <'IncludeOverhead=false\n'>
                                <Connection>
                                <Id.Lit_BadBackslash '\\'>
                                <'GlobalDLLimitAlt=10\n'>
                                <Connection>
                                <Id.Lit_BadBackslash '\\'>
                                <'GlobalUPLimitAlt=10\n'>
                                <Scheduler>
                                <Id.Lit_BadBackslash '\\'>
                                <'Enabled=false\n'>
                                <Bittorrent>
                                <Id.Lit_BadBackslash '\\'>
                                <'DHT=true\n'>
                                <Bittorrent>
                                <Id.Lit_BadBackslash '\\'>
                                <'sameDHTPortAsBT=true\n'>
                                <Bittorrent>
                                <Id.Lit_BadBackslash '\\'>
                                <'DHTPort=6881\n'>
                                <Bittorrent>
                                <Id.Lit_BadBackslash '\\'>
                                <'PeX=true\n'>
                                <Bittorrent>
                                <Id.Lit_BadBackslash '\\'>
                                <'LSD=true\n'>
                                <Bittorrent>
                                <Id.Lit_BadBackslash '\\'>
                                <'Encryption=1\n'>
                                <Advanced>
                                <Id.Lit_BadBackslash '\\'>
                                <'AnonymousMode=false\n'>
                                <Connection>
                                <Id.Lit_BadBackslash '\\'>
                                <'ProxyType=-1\n'>
                                <Connection>
                                <Id.Lit_BadBackslash '\\'>
                                <Proxy>
                                <Id.Lit_BadBackslash '\\'>
                                <'IP=0.0.0.0\n'>
                                <Connection>
                                <Id.Lit_BadBackslash '\\'>
                                <Proxy>
                                <Id.Lit_BadBackslash '\\'>
                                <'Port=8080\n'>
                                <Connection>
                                <Id.Lit_BadBackslash '\\'>
                                <'ProxyPeerConnections=false\n'>
                                <Connection>
                                <Id.Lit_BadBackslash '\\'>
                                <Proxy>
                                <Id.Lit_BadBackslash '\\'>
                                <'Authentication=false\n'>
                                <Connection>
                                <Id.Lit_BadBackslash '\\'>
                                <Proxy>
                                <Id.Lit_BadBackslash '\\'>
                                <'Username=\n'>
                                <Connection>
                                <Id.Lit_BadBackslash '\\'>
                                <Proxy>
                                <Id.Lit_BadBackslash '\\'>
                                <'Password=\n'>
                                <IPFilter>
                                <Id.Lit_BadBackslash '\\'>
                                <'Enabled=false\n'>
                                <IPFilter>
                                <Id.Lit_BadBackslash '\\'>
                                <'File=\n'>
                                <WebUI>
                                <Id.Lit_BadBackslash '\\'>
                                <'Username=root\n'>
                                <WebUI>
                                <Id.Lit_BadBackslash '\\'>
                                <'LocalHostAuth=true\n'>
                                <WebUI>
                                <Id.Lit_BadBackslash '\\'>
                                <HTTPS>
                                <Id.Lit_BadBackslash '\\'>
                                <'Enabled=false\n'>
                                <DynDNS>
                                <Id.Lit_BadBackslash '\\'>
                                <'Enabled=false\n'>
                                <DynDNS>
                                <Id.Lit_BadBackslash '\\'>
                                <'Service=0\n'>
                                <DynDNS>
                                <Id.Lit_BadBackslash '\\'>
                                <'Username=\n'>
                                <DynDNS>
                                <Id.Lit_BadBackslash '\\'>
                                <'Password=\n'>
                                <DynDNS>
                                <Id.Lit_BadBackslash '\\'>
                                <'DomainName=changeme.dyndns.org\n'>
                                <WebUI>
                                <Id.Lit_BadBackslash '\\'>
                                <'Password_ha1=@ByteArray('>
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: 
                                    (command.Pipeline
                                      children: [
                                        (C {<echo>} {<-ne>} {(DQ ($ Id.VSub_DollarName GLOBAL_PW))})
                                        (C {<md5sum>})
                                        (C {<awk>} {(SQ <'{print $1}'>)})
                                      ]
                                      negated: F
                                      stderr_indices: []
                                    )
                                  right: <Id.Eof_RParen _>
                                )
                                <')\n'>
                                <'\n'>
                                <'\n'>
                                <'[LegalNotice]\n'>
                                <'Accepted=true\n'>
                                <'\n'>
                                <'[AutoRun]\n'>
                                <'enabled=false\n'>
                                <'program=\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: 
                            {(DQ ($ Id.VSub_DollarName HOME)) 
                              <'/.config/qBittorrent/qBittorrent.conf'>
                            }
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 59349
                              stdin_parts: [
                                <'[Unit]\n'>
                                <'Description=qBittorrent Daemon Service\n'>
                                <'After=network.target\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <'Type=oneshot\n'>
                                <'User=root\n'>
                                <'RemainAfterExit=yes\n'>
                                <'ExecStart=/usr/bin/qbittorrent-nox -d --webui-port=1340\n'>
                                <'ExecStop=/usr/bin/killall -w qbittorrent-nox\n'>
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=multi-user.target\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/systemd/system/qbittorrent.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<systemctl>} {<daemon-reload>})
                  ]
                  spids: [58979 58998]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<107>}
                  spids: [59366]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 83>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<sed>} {<-i>} 
                              {
                                (DQ <'/AllowOverride /c'> <Id.Lit_BadBackslash '\\'> 
                                  <'    AllowOverride All'>
                                )
                              } {<'/etc/apache2/sites-enabled/000-default'> <Id.Lit_Star '*'>}
                            )
                            (C {<sed>} {<-i>} 
                              {
                                (DQ <'/AllowOverride /c'> <Id.Lit_BadBackslash '\\'> 
                                  <'    AllowOverride All'>
                                )
                              } {<'/etc/apache2/apache2.conf'>}
                            )
                            (C {<a2enmod>} {<rewrite>})
                            (C {<G_AGI>} {<libapache2-mod-scgi>})
                            (C {<htpasswd>} {<-cb>} {<'/etc/.rutorrent-htaccess'>} {<root>} 
                              {(DQ ($ Id.VSub_DollarName GLOBAL_PW))}
                            )
                            (command.Simple
                              words: [{<cat>}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DLess '<<'>
                                  loc: (redir_loc.Fd fd:0)
                                  arg: 
                                    (redir_param.HereDoc
                                      here_begin: {<_EOF_>}
                                      here_end_span_id: 59508
                                      stdin_parts: [
                                        <'AuthUserFile /etc/.rutorrent-htaccess\n'>
                                        <'AuthName '>
                                        <Id.Right_DoubleQuote '"'>
                                        <ruTorrent_login>
                                        <Id.Right_DoubleQuote '"'>
                                        <'\n'>
                                        <'AuthType Basic\n'>
                                        <'require user root\n'>
                                      ]
                                    )
                                )
                                (redir
                                  op: <Id.Redir_Great '>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<'/var/www/rutorrent/.htaccess'>}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                            (command.Simple
                              words: [{<cat>}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DLess '<<'>
                                  loc: (redir_loc.Fd fd:0)
                                  arg: 
                                    (redir_param.HereDoc
                                      here_begin: {<_EOF_>}
                                      here_end_span_id: 59534
                                      stdin_parts: [
                                        <'SCGIMount /RPC2 127.0.0.1:5000\n'>
                                        <'<location /RPC2>\n'>
                                        <'AuthName '>
                                        <Id.Right_DoubleQuote '"'>
                                        <'rTorrent secure access'>
                                        <Id.Right_DoubleQuote '"'>
                                        <'\n'>
                                        <'AuthType Basic\n'>
                                        <'AuthBasicProvider file\n'>
                                        <'AuthUserFile /etc/.rutorrent-htaccess\n'>
                                        <'Require user root\n'>
                                        <'</location>\n'>
                                      ]
                                    )
                                )
                                (redir
                                  op: <Id.Redir_Great '>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<'/etc/apache2/sites-available/rutorrent.conf'>}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                            (C {<ln>} {<-s>} {<'/etc/apache2/sites-available/rutorrent.conf'>} 
                              {<'/etc/apache2/sites-enabled/rutorrent.conf'>}
                            )
                          ]
                          spids: [59405 59424]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 84>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.Simple
                              words: [
                                {<echo>}
                                {<-e>}
                                {
                                  (DQ <'root:rtorrent:'> 
                                    (command_sub
                                      left_token: <Id.Left_DollarParen '$('>
                                      child: 
                                        (command.Pipeline
                                          children: [
                                            (C {<echo>} {<-n>} {(DQ <'root:rtorrent:dietpi'>)})
                                            (C {<md5sum>})
                                            (C {<cut>} {<-b>} {<-32>})
                                          ]
                                          negated: F
                                          stderr_indices: []
                                        )
                                      right: <Id.Eof_RParen _>
                                    )
                                  )
                                }
                              ]
                              redirects: [
                                (redir
                                  op: <Id.Redir_Great '>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<'/etc/.rutorrent-htaccess'>}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Unary
                                                  op_id: Id.Arith_Bang
                                                  child: 
                                                    {
                                                      (command_sub
                                                        left_token: <Id.Left_DollarParen '$('>
                                                        child: 
                                                          (command.Pipeline
                                                            children: [
                                                              (C {<cat>} 
                                                                {<'/etc/lighttpd/lighttpd.conf'>}
                                                              )
                                                              (C {<grep>} {<-ci>} {<-m1>} 
                                                                {(SQ <'^#RUTORRENT_DIETPI'>)}
                                                              )
                                                            ]
                                                            negated: F
                                                            stderr_indices: []
                                                          )
                                                        right: <Id.Eof_RParen _>
                                                      )
                                                    }
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.Simple
                                      words: [{<cat>}]
                                      redirects: [
                                        (redir
                                          op: <Id.Redir_DLess '<<'>
                                          loc: (redir_loc.Fd fd:0)
                                          arg: 
                                            (redir_param.HereDoc
                                              here_begin: {<_EOF_>}
                                              here_end_span_id: 59755
                                              stdin_parts: [
                                                <'#RUTORRENT_DIETPI\n'>
                                                <'server.modules += ( '>
                                                <Id.Right_DoubleQuote '"'>
                                                <mod_fastcgi>
                                                <Id.Right_DoubleQuote '"'>
                                                <' )\n'>
                                                <'server.modules += ( '>
                                                <Id.Right_DoubleQuote '"'>
                                                <mod_scgi>
                                                <Id.Right_DoubleQuote '"'>
                                                <' )\n'>
                                                <'server.modules += ( '>
                                                <Id.Right_DoubleQuote '"'>
                                                <mod_auth>
                                                <Id.Right_DoubleQuote '"'>
                                                <' )\n'>
                                                <'auth.debug = 0\n'>
                                                <'auth.backend = '>
                                                <Id.Right_DoubleQuote '"'>
                                                <htdigest>
                                                <Id.Right_DoubleQuote '"'>
                                                <'\n'>
                                                <'auth.backend.htdigest.userfile = '>
                                                <Id.Right_DoubleQuote '"'>
                                                <'/etc/.rutorrent-htaccess'>
                                                <Id.Right_DoubleQuote '"'>
                                                <'\n'>
                                                <'\n'>
                                                <'auth.require = ( '>
                                                <Id.Right_DoubleQuote '"'>
                                                <'/rutorrent/'>
                                                <Id.Right_DoubleQuote '"'>
                                                <' => (\n'>
                                                <'                    '>
                                                <Id.Right_DoubleQuote '"'>
                                                <method>
                                                <Id.Right_DoubleQuote '"'>
                                                <'  => '>
                                                <Id.Right_DoubleQuote '"'>
                                                <digest>
                                                <Id.Right_DoubleQuote '"'>
                                                <',\n'>
                                                <'                    '>
                                                <Id.Right_DoubleQuote '"'>
                                                <realm>
                                                <Id.Right_DoubleQuote '"'>
                                                <'   => '>
                                                <Id.Right_DoubleQuote '"'>
                                                <rtorrent>
                                                <Id.Right_DoubleQuote '"'>
                                                <',\n'>
                                                <'                    '>
                                                <Id.Right_DoubleQuote '"'>
                                                <require>
                                                <Id.Right_DoubleQuote '"'>
                                                <' => '>
                                                <Id.Right_DoubleQuote '"'>
                                                <valid-user>
                                                <Id.Right_DoubleQuote '"'>
                                                <'\n'>
                                                <'               ))\n'>
                                                <'\n'>
                                                <'scgi.server = ( '>
                                                <Id.Right_DoubleQuote '"'>
                                                <'/RPC2'>
                                                <Id.Right_DoubleQuote '"'>
                                                <' =>\n'>
                                                <'    ( '>
                                                <Id.Right_DoubleQuote '"'>
                                                <127.0.0.1>
                                                <Id.Right_DoubleQuote '"'>
                                                <' =>\n'>
                                                <'        (\n'>
                                                <'            '>
                                                <Id.Right_DoubleQuote '"'>
                                                <host>
                                                <Id.Right_DoubleQuote '"'>
                                                <' => '>
                                                <Id.Right_DoubleQuote '"'>
                                                <127.0.0.1>
                                                <Id.Right_DoubleQuote '"'>
                                                <',\n'>
                                                <'            '>
                                                <Id.Right_DoubleQuote '"'>
                                                <port>
                                                <Id.Right_DoubleQuote '"'>
                                                <' => 5000,\n'>
                                                <'            '>
                                                <Id.Right_DoubleQuote '"'>
                                                <check-local>
                                                <Id.Right_DoubleQuote '"'>
                                                <' => '>
                                                <Id.Right_DoubleQuote '"'>
                                                <disable>
                                                <Id.Right_DoubleQuote '"'>
                                                <'\n'>
                                                <'        )\n'>
                                                <'    )\n'>
                                                <')\n'>
                                                <'#RUTORRENT_DIETPI\n'>
                                              ]
                                            )
                                        )
                                        (redir
                                          op: <Id.Redir_DGreat '>>'>
                                          loc: (redir_loc.Fd fd:1)
                                          arg: {<'/etc/lighttpd/lighttpd.conf'>}
                                        )
                                      ]
                                      more_env: []
                                      do_fork: T
                                    )
                                  ]
                                  spids: [59612 59640]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                          spids: [59550 59569]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 85>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.Simple
                              words: [
                                {<echo>}
                                {
                                  (DQ <'root:'> 
                                    (command_sub
                                      left_token: <Id.Left_DollarParen '$('>
                                      child: (C {<openssl>} {<passwd>} {<-crypt>} {<dietpi>})
                                      right: <Id.Eof_RParen _>
                                    )
                                  )
                                }
                              ]
                              redirects: [
                                (redir
                                  op: <Id.Redir_Great '>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<'/etc/.rutorrent-htaccess'>}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                            (command.Simple
                              words: [{<cat>}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DLess '<<'>
                                  loc: (redir_loc.Fd fd:0)
                                  arg: 
                                    (redir_param.HereDoc
                                      here_begin: {<_EOF_>}
                                      here_end_span_id: 59834
                                      stdin_parts: [
                                        <'location /rutorrent {\n'>
                                        <'    auth_basic '>
                                        <Id.Right_DoubleQuote '"'>
                                        <'Restricted Content'>
                                        <Id.Right_DoubleQuote '"'>
                                        <';\n'>
                                        <'    auth_basic_user_file /etc/.rutorrent-htaccess;\n'>
                                        <'}\n'>
                                        <'\n'>
                                        <'location /RPC2 {\n'>
                                        <'    include scgi_params;\n'>
                                        <'    scgi_pass 127.0.0.1:5000;\n'>
                                        <'}\n'>
                                      ]
                                    )
                                )
                                (redir
                                  op: <Id.Redir_Great '>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<'/etc/nginx/sites-dietpi/rutorrent.config'>}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                          ]
                          spids: [59766 59785]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<sed>} {<-i>} {(SQ <'/"curl"[[:space:]]/c\\        "curl" => "/usr/bin/curl",'>)} 
                      {<'/var/www/rutorrent/conf/config.php'>}
                    )
                    (C {<chown>} {<www-data> <Id.Lit_Colon ':'> <www-data>} 
                      {<'/etc/.rutorrent-htaccess'>}
                    )
                    (C {<chmod>} {<400>} {<'/etc/.rutorrent-htaccess'>})
                    (C {<mkdir>} {<-p>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/downloads/.session'>}
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 59918
                              stdin_parts: [
                                <'[Unit]\n'>
                                <'Description=rTorrent\n'>
                                <'After=network.target\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <'User=root\n'>
                                <'Type=forking\n'>
                                <'KillMode=none\n'>
                                <
'ExecStart=/usr/bin/screen -d -m -fa -S rtorrent /usr/bin/rtorrent\n'
                                >
                                <'ExecStop=/usr/bin/killall -w -s 2 /usr/bin/rtorrent\n'>
                                <'WorkingDirectory=%h\n'>
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=multi-user.target\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/systemd/system/rtorrent.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<systemctl>} {<daemon-reload>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 60148
                              stdin_parts: [
                                <
'#Attempt to reduce disk throttling/abuse | 0.9.2 command does not exist\n'
                                >
                                <'#max_open_files = 50\n'>
                                <'\n'>
                                <'#Max queue\n'>
                                <'scheduler.max_active.set = 3\n'>
                                <'\n'>
                                <'#byte value\n'>
                                <'max_memory_usage = '>
                                (word_part.ArithSub
                                  anode: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_Star
                                      left: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Star
                                          left: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_DollarParen '$('>
                                                child: (C {<Optimize_BitTorrent>} {<0>})
                                                right: <Id.Eof_RParen _>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1024>}
                                        )
                                      right: {<Id.Lit_Digits 1024>}
                                    )
                                )
                                <'\n'>
                                <'\n'>
                                <
'# Maximum and minimum number of peers to connect to per torrent.\n'
                                >
                                <'min_peers = 1\n'>
                                <'max_peers = '>
                                (word_part.ArithSub
                                  anode: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_Plus
                                      left: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Slash
                                          left: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_DollarParen '$('>
                                                child: (C {<Optimize_BitTorrent>} {<2>})
                                                right: <Id.Eof_RParen _>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 2>}
                                        )
                                      right: {<Id.Lit_Digits 1>}
                                    )
                                )
                                <'\n'>
                                <'\n'>
                                <
'# Same as above but for seeding completed torrents (-1 = same as downloading)\n'
                                >
                                <'min_peers_seed = -1\n'>
                                <'max_peers_seed = -1\n'>
                                <'\n'>
                                <'# Maximum number of simultaneous downloads\n'>
                                <'max_downloads_global = '>
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: (C {<Optimize_BitTorrent>} {<2>})
                                  right: <Id.Eof_RParen _>
                                )
                                <'\n'>
                                <'# Maximum number of simultaneous uploads\n'>
                                <'max_uploads_global = '>
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: (C {<Optimize_BitTorrent>} {<3>})
                                  right: <Id.Eof_RParen _>
                                )
                                <'\n'>
                                <'\n'>
                                <'# Global upload and download rate in KiB. '>
                                <Id.Right_DoubleQuote '"'>
                                <0>
                                <Id.Right_DoubleQuote '"'>
                                <' for unlimited.\n'>
                                <'download_rate = 0\n'>
                                <'upload_rate = 0\n'>
                                <'\n'>
                                <'# Default directory to save the downloaded torrents.\n'>
                                <'directory = '>
                                ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)
                                <'/downloads\n'>
                                <'\n'>
                                <
'# Default session directory. Make sure you don\'t run multiple instance\n'
                                >
                                <
'# of rtorrent using the same session directory. Perhaps using a\n'
                                >
                                <'# relative path?\n'>
                                <'session = '>
                                ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)
                                <'/downloads/.session\n'>
                                <'\n'>
                                <'# Close torrents when diskspace is low.\n'>
                                <'schedule = low_diskspace,5,60,close_low_diskspace=1000M\n'>
                                <'\n'>
                                <'# Periodically save session data\n'>
                                <'schedule = session_save,240,300,session_save=\n'>
                                <'\n'>
                                <'# Enable the default ratio group.\n'>
                                <'ratio.enable=yes\n'>
                                <'# Change the limits, the defaults should be sufficient.\n'>
                                <'# Upload to a minimum ratio of 1.01\n'>
                                <'ratio.min.set=101\n'>
                                <'# Upload to a maximum ratio of 1.25\n'>
                                <'ratio.max.set=125\n'>
                                <'# Upload a minimum of x MB\n'>
                                <'ratio.upload.set=1M\n'>
                                <'\n'>
                                <'# When seeding ratio is reached close the torrent\n'>
                                <'system.method.set = group.seeding.ratio.command, d.close=\n'>
                                <'\n'>
                                <'# Move files to ./unsorted when download completes\n'>
                                <'system.method.set_key = event.download.finished,move_complete,'>
                                <Id.Right_DoubleQuote '"'>
                                <'execute=mv,-n,'>
                                ($ Id.VSub_DollarName d)
                                <'.get_base_path=,./unsorted/;d.set_directory=./unsorted/'>
                                <Id.Right_DoubleQuote '"'>
                                <'\n'>
                                <'\n'>
                                <'# Port range to use for listening.\n'>
                                <'port_range = 33101-33199\n'>
                                <'\n'>
                                <
'# Start opening ports at a random position within the port range.\n'
                                >
                                <'port_random = yes\n'>
                                <'\n'>
                                <
'# Encryption options, set to none (default) or any combination of the following:\n'
                                >
                                <
'# allow_incoming, try_outgoing, require, require_RC4, enable_retry, prefer_plaintext\n'
                                >
                                <'#\n'>
                                <
'# The example value allows incoming encrypted connections, starts unencrypted\n'
                                >
                                <
'# outgoing connections but retries with encryption if they fail, preferring\n'
                                >
                                <'# plaintext to RC4 encryption after the encrypted handshake\n'>
                                <'#\n'>
                                <'encryption = require\n'>
                                <'\n'>
                                <'# Sort the main view by ratio\n'>
                                <'view.sort_current = main,greater=d.get_ratio=\n'>
                                <'view.sort_new = main,less=d.get_ratio=\n'>
                                <'view.sort = main\n'>
                                <'\n'>
                                <
'# Sort the seeding view by the upload rate and only show torrents with peers\n'
                                >
                                <'view.sort_current = seeding,greater=d.get_up_rate=\n'>
                                <'view.filter = seeding,'>
                                <Id.Right_DoubleQuote '"'>
                                <'and=d.get_complete=,d.get_peers_connected='>
                                <Id.Right_DoubleQuote '"'>
                                <'\n'>
                                <'view.sort_new = seeding,less=d.get_up_rate=\n'>
                                <'view.sort = seeding\n'>
                                <'\n'>
                                <'# Sort the leeching view by name\n'>
                                <'view.sort_current = leeching,greater=d.get_name=\n'>
                                <'view.sort_new = leeching,greater=d.get_name=\n'>
                                <'view.sort = leeching\n'>
                                <'\n'>
                                <'# Filter the active view by connected peers\n'>
                                <'view.sort_current = active,less=d.get_name=\n'>
                                <'view.sort_new = leeching,less=d.get_name=\n'>
                                <'view.filter = active,d.get_peers_connected=\n'>
                                <'view.sort = active\n'>
                                <'\n'>
                                <'schedule = sort_main,11,5,view.sort=main\n'>
                                <'schedule = sort_seeding,12,5,view.sort=seeding\n'>
                                <'schedule = sort_leeching,13,5,view.sort=leeching\n'>
                                <'schedule = sort_active,14,5,view.sort=active\n'>
                                <'\n'>
                                <
'# Enable DHT support for trackerless torrents or when all trackers are down.\n'
                                >
                                <'# May be set to '>
                                <Id.Right_DoubleQuote '"'>
                                <disable>
                                <Id.Right_DoubleQuote '"'>
                                <' (completely disable DHT), '>
                                <Id.Right_DoubleQuote '"'>
                                <off>
                                <Id.Right_DoubleQuote '"'>
                                <' (do not start DHT),\n'>
                                <'# '>
                                <Id.Right_DoubleQuote '"'>
                                <auto>
                                <Id.Right_DoubleQuote '"'>
                                <' (start and stop DHT as needed), or '>
                                <Id.Right_DoubleQuote '"'>
                                <on>
                                <Id.Right_DoubleQuote '"'>
                                <' (start DHT immediately).\n'>
                                <'# The default is '>
                                <Id.Right_DoubleQuote '"'>
                                <off>
                                <Id.Right_DoubleQuote '"'>
                                <'. For DHT to work, a session directory must be defined.\n'>
                                <'#\n'>
                                <'dht = auto\n'>
                                <'\n'>
                                <'# UDP port to use for DHT.\n'>
                                <'#\n'>
                                <'#dht_port = 6881\n'>
                                <'\n'>
                                <'# Enable peer exchange (for torrents not marked private)\n'>
                                <'#\n'>
                                <'peer_exchange = yes\n'>
                                <'\n'>
                                <'#Enable remote access (eg: webui)\n'>
                                <'scgi_port = localhost:5000\n'>
                                <'\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {(DQ ($ Id.VSub_DollarName HOME)) <'/.rtorrent.rc'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [59370 59389]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<132>}
                  spids: [60160]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 60223
                              stdin_parts: [
                                <'[Unit]\n'>
                                <'Description=DietPi Aria2\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <'Type=simple\n'>
                                <'ExecStart='>
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: (C {<which>} {<aria2c>})
                                  right: <Id.Eof_RParen _>
                                )
                                <' --enable-rpc --rpc-listen-all --rpc-secret='>
                                ($ Id.VSub_DollarName GLOBAL_PW)
                                <' --dir='>
                                ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)
                                <'/'>
                                ($ Id.VSub_DollarName FOLDER_DOWNLOADS)
                                <'\n'>
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=multi-user.target\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/systemd/system/aria2.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [60164 60183]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<50>}
                  spids: [60234]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<mkdir>} {<-p>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/syncthing'>}
                    )
                    (C {<mkdir>} {<-p>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/syncthing_data'>}
                    )
                    (C {<mkdir>} {<-p>} {<'/var/log/syncthing'>})
                    (command.Simple
                      words: [{<echo>} {(SQ )}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/var/log/syncthing/syncthing.log'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<chown>} {<-R>} {<dietpi> <Id.Lit_Colon ':'> <dietpi>} {<'/var/log/syncthing'>})
                    (C {<chown>} {<-R>} {<dietpi> <Id.Lit_Colon ':'> <dietpi>} {<'/etc/syncthing'>})
                    (C {<'/etc/syncthing/syncthing'>} 
                      {<-generate> <Id.Lit_Equals '='> (DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) 
                        <'/syncthing'>
                      }
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (SQ 
                          <
'/<\\/autoUpgradeIntervalH>/c\\        <autoUpgradeIntervalH>0<\\/autoUpgradeIntervalH>'
                          >
                        )
                      } {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/syncthing/config.xml'>}
                    )
                    (C {<sed>} {<-i>} 
                      {(SQ <'/:8384<\\/address>/c\\        <address>0.0.0.0:8384<\\/address>'>)} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/syncthing/config.xml'>}
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (SQ 
                          <
'/label=\\"Default Folder/c\\    <folder id=\\"0000-0000\\" label=\\"Syncthing Data\\" path=\\"'
                          >
                        ) (DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/syncthing_data'>) 
                        (SQ 
                          <
'\\" type=\\"readwrite\\" rescanIntervalS=\\"60\\" ignorePerms=\\"false\\" autoNormalize=\\"true\\">'
                          >
                        )
                      } {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/syncthing/config.xml'>}
                    )
                    (C {<sed>} {<-i>} 
                      {(SQ <'/<\\/startBrowser>/c\\        <startBrowser>false<\\/startBrowser>'>)} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/syncthing/config.xml'>}
                    )
                    (C {<sed>} {<-i>} 
                      {(SQ <'s/fsWatcherEnabled=\\"false\\"/fsWatcherEnabled=\\"true\\"/g'>)} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/syncthing/config.xml'>}
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 60479
                              stdin_parts: [
                                <'[Unit]\n'>
                                <'Description=Syncthing\n'>
                                <'After=network.target\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <'Type=simple\n'>
                                <
'ExecStart=/etc/syncthing/syncthing -logfile=/var/log/syncthing/syncthing.log -logflags=3 -home='
                                >
                                ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)
                                <'/syncthing\n'>
                                <'User=dietpi\n'>
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=multi-user.target\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/systemd/system/syncthing.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Pipeline
                      children: [
                        (C {<echo>} {<-e>} {(DQ <'fs.inotify.max_user_watches=204800'>)})
                        (C {<tee>} {<-a>} {<'/etc/sysctl.conf'>})
                      ]
                      negated: F
                      stderr_indices: []
                    )
                  ]
                  spids: [60238 60257]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<111>}
                  spids: [60512]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<mkdir>} {<-p>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) 
                        <'/urbackup/urbackup_tmp_files'>
                      }
                    )
                    (C {<sed>} {<-i>} {(SQ <'/DAEMON_TMPDIR=/c\\DAEMON_TMPDIR="/var/tmp"'>)} 
                      {<'/etc/default/urbackupsrv'>}
                    )
                  ]
                  spids: [60516 60535]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<116>}
                  spids: [60587]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/sickrage'>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 60656
                              stdin_parts: [
                                <'[Unit]\n'>
                                <'Description=SickRage\n'>
                                <'After=dietpi-service.service\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <'User=root\n'>
                                <'Group=root\n'>
                                <'Type=forking\n'>
                                <'GuessMainPID=no\n'>
                                <
'ExecStart=/usr/bin/python /etc/sickrage/SickBeard.py -q --daemon --nolaunch --datadir='
                                >
                                ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)
                                <'/sickrage\n'>
                                <'#ExecStop=/usr/bin/killall -w SickBeard.py\n'>
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=multi-user.target\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/systemd/system/sickrage.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Configuring SickRage, please wait...'>)})
                    (C {<systemctl>} {<start>} {<sickrage>})
                    (C {<local>} {<Id.Lit_VarLike 'max_loops='> <10>})
                    (C {<local>} {<Id.Lit_VarLike 'current_loop='> <0>})
                    (command.WhileUntil
                      keyword: <Id.KW_While while>
                      cond: 
                        (condition.Shell
                          commands: [
                            (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} 
                              {
                                (DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) 
                                  <'/sickrage/config.ini'>
                                )
                              } {<Id.Lit_RBracket ']'>}
                            )
                          ]
                        )
                      body: 
                        (command.DoGroup
                          children: [
                            (C {<G_DIETPI-NOTIFY>} {<2>} 
                              {(DQ <'Waiting for SickRage to finish 1st run prep, please wait...'>)}
                            )
                            (C {<sleep>} {<1>})
                            (command.DParen
                              child: 
                                (arith_expr.UnaryAssign
                                  op_id: Id.Node_PostDPlus
                                  child: ($ Id.Lit_ArithVarLike current_loop)
                                )
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_GreatEqual
                                                  left: {($ Id.VSub_DollarName current_loop)}
                                                  right: {($ Id.VSub_DollarName max_loops)}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<G_DIETPI-NOTIFY>} {<1>} 
                                      {(DQ <'Timed-out waiting for SickRage to generate config.ini'>)}
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Break break>
                                    )
                                  ]
                                  spids: [60743 60757]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                        )
                      redirects: []
                    )
                    (C {<systemctl>} {<stop>} {<sickrage>})
                    (C {<cp>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/sickrage/config.ini'>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/sickrage/config.ini.default'>}
                    )
                    (C {<wget>} 
                      {<http> <Id.Lit_Colon ':'> 
                        <'//dietpi.com/downloads/conf/sickrage_dietpi_config.ini'>
                      } {<-O>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/sickrage/config.ini'>}
                    )
                  ]
                  spids: [60591 60610]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<134>}
                  spids: [60826]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 60883
                              stdin_parts: [
                                <'[Unit]\n'>
                                <'Description=Tonido - DietPi\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <'Type=simple\n'>
                                <'User=root\n'>
                                <'WorkingDirectory=/etc/tonido\n'>
                                <
'ExecStart=/bin/bash -c \'export LD_LIBRARY_PATH=/etc/tonido; export TONIDODIR=/etc/tonido; ./tonidoconsole\'\n'
                                >
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=multi-user.target\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/systemd/system/tonido.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<mkdir>} {<-p>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/tonido/sync'>}
                    )
                    (C {<mkdir>} {<-p>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/tonido/syncdata'>}
                    )
                    (command.Simple
                      words: [
                        {<cp>}
                        {<-R>}
                        {(DQ ($ Id.VSub_DollarName HOME)) <'/tonido'>}
                        {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/'>}
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName HOME)) <'/tonido'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/tonido'>} 
                      {(DQ ($ Id.VSub_DollarName HOME)) <'/tonido'>}
                    )
                    (C {<ln>} {<-sf>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/tonido/sync'>} {(DQ ($ Id.VSub_DollarName HOME)) <'/TonidoSync'>}
                    )
                    (C {<ln>} {<-sf>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/tonido/syncdata'>} {(DQ ($ Id.VSub_DollarName HOME)) <'/TonidoSyncData'>}
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 2>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<sed>} {<-i>} {(SQ <'s/armv6l/armv7l/'>)} {<'/etc/tonido/manifest.xml'>})
                            (C {<sed>} {<-i>} {(SQ <'s/armv6l/armv7l/'>)} 
                              {<'/etc/tonido/plugins/'> <Id.Lit_Star '*'> <'/manifest.xml'>}
                            )
                          ]
                          spids: [60998 61012]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [60830 60849]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<113>}
                  spids: [61053]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<local>} 
                      {<Id.Lit_VarLike 'export_options='> 
                        (DQ <'export CHROMIUM_FLAGS='> 
                          (word_part.EscapedLiteral
                            token: <Id.Lit_EscapedChar '\\"'>
                            ch: '"'
                          ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\$'> ch:'$') 
                          <
'CHROMIUM_FLAGS --no-sandbox --temp-profile --start-maximized --user-data-dir '
                          >
                        )
                      }
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Less
                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_GreatEqual
                                                  left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                                  right: {<Id.Lit_Digits 2>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [(C {<echo>} {<0>})]
                                  spids: [61126 61140]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                          spids: [61104 61118]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                          right: {<Id.Lit_Digits 21>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.Simple
                              words: [{<echo>} {<0>}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_AndGreat '&>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<'/dev/null'>}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                          ]
                          spids: [61166 61180]
                        )
                      ]
                      else_action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'export_options+='>
                                  name: export_options
                                )
                              op: assign_op.PlusEqual
                              rhs: {(SQ <'--use-gl=egl'>)}
                              spids: [61202]
                            )
                          ]
                          redirects: []
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'export_options+='>
                              name: export_options
                            )
                          op: assign_op.PlusEqual
                          rhs: 
                            {(DQ (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"'))}
                          spids: [61213]
                        )
                      ]
                      redirects: []
                    )
                    (C {<mkdir>} {<-p>} {<'/etc/chromium.d'>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 61240
                              stdin_parts: [($ Id.VSub_DollarName export_options) <'\n'>]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/chromium.d/custom_flags'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<cp>} {<'/etc/chromium.d/custom_flags'>} 
                      {(DQ ($ Id.VSub_DollarName HOME)) <'/.chromium-browser.init'>}
                    )
                    (C {<ln>} {<-sf>} 
                      {<'/usr/share/applications/chromium'> <Id.Lit_Star '*'> <.desktop>} {(DQ ($ Id.VSub_DollarName HOME)) <'/Desktop/chromium.desktop'>}
                    )
                  ]
                  spids: [61057 61076]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<126>}
                  spids: [61289]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Banner_Configuration>}) (C {<omv-initsystem>})]
                  spids: [61293 61312]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<129>}
                  spids: [61332]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/\'mysqli_user\'/c '> 
                          (word_part.EscapedLiteral
                            token: <Id.Lit_EscapedChar '\\$'>
                            ch: '$'
                          ) <'cfg['> <Id.Lit_BadBackslash '\\'> <'\'mysqli_user'> <Id.Lit_BadBackslash '\\'> 
                          <'\']                 = '> <Id.Lit_BadBackslash '\\'> <'\'ompd'> <Id.Lit_BadBackslash '\\'> <'\';'>
                        )
                      } {<'/var/www/ompd/include/config.inc.php'>}
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/\'mysqli_password\'/c '> 
                          (word_part.EscapedLiteral
                            token: <Id.Lit_EscapedChar '\\$'>
                            ch: '$'
                          ) <'cfg['> <Id.Lit_BadBackslash '\\'> <'\'mysqli_password'> <Id.Lit_BadBackslash '\\'> 
                          <'\']                 = '> <Id.Lit_BadBackslash '\\'> <'\''> ($ Id.VSub_DollarName GLOBAL_PW) <Id.Lit_BadBackslash '\\'> <'\';'>
                        )
                      } {<'/var/www/ompd/include/config.inc.php'>}
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/\'media_dir\'/c '> 
                          (word_part.EscapedLiteral
                            token: <Id.Lit_EscapedChar '\\$'>
                            ch: '$'
                          ) <'cfg['> <Id.Lit_BadBackslash '\\'> <'\'media_dir'> <Id.Lit_BadBackslash '\\'> <'\']                 = '> 
                          <Id.Lit_BadBackslash '\\'> <'\'/var/lib/mpd/music/'> <Id.Lit_BadBackslash '\\'> <'\';'>
                        )
                      } {<'/var/www/ompd/include/config.inc.php'>}
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/\'ignore_media_dir_access_error\'/c '> 
                          (word_part.EscapedLiteral
                            token: <Id.Lit_EscapedChar '\\$'>
                            ch: '$'
                          ) <'cfg['> <Id.Lit_BadBackslash '\\'> <'\'ignore_media_dir_access_error'> <Id.Lit_BadBackslash '\\'> 
                          <'\']                 = '> <Id.Lit_BadBackslash '\\'> <'\'true\';'>
                        )
                      } {<'/var/www/ompd/include/config.inc.php'>}
                    )
                    (C {<'/DietPi/dietpi/func/create_mysql_db'>} {<ompd>} {<ompd>} 
                      {(DQ ($ Id.VSub_DollarName GLOBAL_PW))}
                    )
                  ]
                  spids: [61336 61355]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<135>}
                  spids: [61467]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<sed>} {<-i>} 
                      {
                        (SQ 
                          <
'/\\<source-password\\>/c\\\\<source-password\\>dietpi\\<\\/source-password\\>'
                          >
                        )
                      } {<'/etc/icecast2/icecast.xml'>}
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (SQ 
                          <
'/\\<relay-password\\>/c\\\\<relay-password\\>dietpi\\<\\/relay-password\\>'
                          >
                        )
                      } {<'/etc/icecast2/icecast.xml'>}
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'admin_password='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (command.Simple
                                  words: [{<tr>} {<-cd>} {(SQ <'[:alnum:]'>)}]
                                  redirects: [
                                    (redir
                                      op: <Id.Redir_Less '<'>
                                      loc: (redir_loc.Fd fd:0)
                                      arg: {<'/dev/urandom'>}
                                    )
                                  ]
                                  more_env: []
                                  do_fork: T
                                )
                                (C {<fold>} {<-w10>})
                                (C {<head>} {<-n1>})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/'> <Id.Lit_BadBackslash '\\'> <'<admin-password'> 
                          <Id.Lit_BadBackslash '\\'> <'>/c'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') <'<admin-password'> 
                          <Id.Lit_BadBackslash '\\'> <'>'> ($ Id.VSub_DollarName admin_password) <Id.Lit_BadBackslash '\\'> <'<'> <Id.Lit_BadBackslash '\\'> 
                          <'/admin-password'> <Id.Lit_BadBackslash '\\'> <'>'>
                        )
                      } {<'/etc/icecast2/icecast.xml'>}
                    )
                    (C {<sed>} {<-i>} {(SQ <'/ENABLE=/c\\ENABLE=true'>)} {<'/etc/default/icecast2'>})
                    (C {<local>} 
                      {<Id.Lit_VarLike 'input_device_index='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<arecord>} {<-l>})
                                (C {<grep>} {<-m1>} {(SQ <card>)})
                                (C {<awk>} {(SQ <'{print $2}'>)})
                                (C {<sed>} {(SQ <'s/://'>)})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 61706
                              stdin_parts: [
                                <'[general]\n'>
                                <'duration      = 0\n'>
                                <'bufferSecs    = 3\n'>
                                <'reconnect     = yes\n'>
                                <'\n'>
                                <'[input]\n'>
                                <'device        = hw:'>
                                ($ Id.VSub_DollarName input_device_index)
                                <',0\n'>
                                <'sampleRate    = 44100\n'>
                                <'bitsPerSample = 16\n'>
                                <'channel       = 1\n'>
                                <'\n'>
                                <'[icecast2-0]\n'>
                                <'bitrateMode   = vbr\n'>
                                <'format        = vorbis\n'>
                                <'quality       = 0.8\n'>
                                <'server        = dietpi\n'>
                                <'port          = 8000\n'>
                                <'password      = dietpi\n'>
                                <'mountPoint    = DietPi\n'>
                                <'name          = DietPi\n'>
                                <'description   = DarkIce on DietPi\n'>
                                <'url           = http://localhost\n'>
                                <'genre         = none\n'>
                                <'public        = no\n'>
                                <'#localDumpFile = '>
                                ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)
                                <'/darkice_recording.ogg\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/darkice.cfg'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<rm>} {<'/etc/init.d/darkice'>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 61746
                              stdin_parts: [
                                <'[Unit]\n'>
                                <'Description=DarkIce - DietPi\n'>
                                <'After=icecast2.service\n'>
                                <'Requires=icecast2.service\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <'Type=simple\n'>
                                <'ExecStart='>
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: (C {<which>} {<darkice>})
                                  right: <Id.Eof_RParen _>
                                )
                                <'\n'>
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=multi-user.target\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/systemd/system/darkice.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [61471 61490]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<131>}
                  spids: [61757]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<local>} 
                      {<Id.Lit_VarLike 'fp_java_binary='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: (C {<which>} {<java>})
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/blynk'>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'CONFIG_FILE_URL_ADDRESS='>
                              name: CONFIG_FILE_URL_ADDRESS
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                <
'https://raw.githubusercontent.com/blynkkk/blynk-server/master/server/core/src/main/resources/server.properties'
                                >
                              )
                            }
                          spids: [61813]
                        )
                      ]
                      redirects: []
                    )
                    (C {<wget>} {(DQ ($ Id.VSub_DollarName CONFIG_FILE_URL_ADDRESS))} {<-O>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/blynk/server.properties'>}
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/data.folder=/c'> <Id.Lit_BadBackslash '\\'> <'data.folder='> 
                          ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/blynk'>
                        )
                      } {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/blynk/server.properties'>}
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 61877
                              stdin_parts: [
                                <'[Unit]\n'>
                                <'Description=Blynk Server\n'>
                                <'After=network.target\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <'Type=simple\n'>
                                <'ExecStart='>
                                ($ Id.VSub_DollarName fp_java_binary)
                                <' -jar /etc/blynkserver/server.jar -serverConfig '>
                                ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)
                                <'/blynk/server.properties\n'>
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=multi-user.target\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/systemd/system/blynkserver.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [61761 61780]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<136>}
                  spids: [61888]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Less
                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<rpi-camera>} {<enable>})
                          ]
                          spids: [61923 61937]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<mkdir>} {<-p>} {<'/etc/motioneye'>})
                    (C {<cp>} {<'/usr/local/share/motioneye/extra/motioneye.conf.sample'>} 
                      {<'/etc/motioneye/motioneye.conf'>}
                    )
                    (C {<mkdir>} {<-p>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/motioneye'>}
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/^media_path/c'> <Id.Lit_BadBackslash '\\'> <'media_path '> 
                          ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/motioneye'>
                        )
                      } {<'/etc/motioneye/motioneye.conf'>}
                    )
                    (C {<cp>} {<'/usr/local/share/motioneye/extra/motioneye.systemd-unit-local'>} 
                      {<'/etc/systemd/system/motioneye.service'>}
                    )
                  ]
                  spids: [61892 61911]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<137>}
                  spids: [62014]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<cupsctl>} {<--remote-admin>})
                    (C {<usermod>} {<-a>} {<-G>} {<lpadmin>} {<root>})
                  ]
                  spids: [62018 62037]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<138>}
                  spids: [62074]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 62127
                              stdin_parts: [
                                <'[Unit]\n'>
                                <'Description=VirtualHere DietPi service\n'>
                                <'After=local-fs.target\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <'Type=simple\n'>
                                <'\n'>
                                <'ExecStart=/etc/vhusbd/vhusbd -r /var/log/virtualhere.log\n'>
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=multi-user.target\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/systemd/system/virtualhere.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<systemctl>} {<daemon-reload>})
                    (command.Simple
                      words: [{<echo>} {<-e>} {(DQ <'ServerName=\'DietPi\''>)}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/vhusbd/config.ini'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [62078 62097]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<139>}
                  spids: [62157]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 62208
                              stdin_parts: [
                                <'[Unit]\n'>
                                <'Description=sabnzbd DietPi\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <'Type=simple\n'>
                                <
'ExecStart=/usr/bin/python /etc/sabnzbd/SABnzbd.py -f /etc/sabnzbd/sabnzbd.ini\n'
                                >
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=multi-user.target\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/systemd/system/sabnzbd.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<systemctl>} {<daemon-reload>})
                    (command.Simple
                      words: [{<rm>} {<'/etc/sabnzbd/sabnzbd.ini'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<systemctl>} {<start>} {<sabnzbd>})
                    (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Generating initial config, please wait...'>)})
                    (command.WhileUntil
                      keyword: <Id.KW_While while>
                      cond: 
                        (condition.Shell
                          commands: [
                            (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} 
                              {<'/etc/sabnzbd/sabnzbd.ini'>} {<Id.Lit_RBracket ']'>}
                            )
                          ]
                        )
                      body: (command.DoGroup children:[(C {<sleep>} {<1>})])
                      redirects: []
                    )
                    (C {<sleep>} {<2>})
                    (C {<systemctl>} {<stop>} {<sabnzbd>})
                    (C {<sleep>} {<2>})
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/^download_dir =/c'> <Id.Lit_BadBackslash '\\'> <'download_dir = '> 
                          ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/downloads/incomplete'>
                        )
                      } {<'/etc/sabnzbd/sabnzbd.ini'>}
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/^complete_dir =/c'> <Id.Lit_BadBackslash '\\'> <'complete_dir = '> 
                          ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/downloads/complete'>
                        )
                      } {<'/etc/sabnzbd/sabnzbd.ini'>}
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/^nzb_backup_dir =/c'> <Id.Lit_BadBackslash '\\'> <'nzb_backup_dir = '> 
                          ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/downloads/sabnzbd_nzb_backup'>
                        )
                      } {<'/etc/sabnzbd/sabnzbd.ini'>}
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/^admin_dir =/c'> <Id.Lit_BadBackslash '\\'> <'admin_dir = '> 
                          ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/downloads/sabnzbd_admin'>
                        )
                      } {<'/etc/sabnzbd/sabnzbd.ini'>}
                    )
                    (C {<sed>} {<-i>} 
                      {(DQ <'/^log_dir =/c'> <Id.Lit_BadBackslash '\\'> <'log_dir = /var/log'>)} {<'/etc/sabnzbd/sabnzbd.ini'>}
                    )
                    (C {<sed>} {<-i>} 
                      {(DQ <'/^log_level =/c'> <Id.Lit_BadBackslash '\\'> <'log_level = 0'>)} {<'/etc/sabnzbd/sabnzbd.ini'>}
                    )
                    (C {<sed>} {<-i>} 
                      {(DQ <'/^refresh_rate =/c'> <Id.Lit_BadBackslash '\\'> <'refresh_rate = 2'>)} {<'/etc/sabnzbd/sabnzbd.ini'>}
                    )
                    (C {<sed>} {<-i>} {(DQ <'/^host =/c'> <Id.Lit_BadBackslash '\\'> <'host = 0.0.0.0'>)} 
                      {<'/etc/sabnzbd/sabnzbd.ini'>}
                    )
                  ]
                  spids: [62161 62180]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<141>}
                  spids: [62428]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 62485
                              stdin_parts: [
                                <'[Unit]\n'>
                                <'Description=spotify-connect-web\n'>
                                <'After=sound.target\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <'Type=simple\n'>
                                <'WorkingDirectory='>
                                ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)
                                <'/spotify-connect-web\n'>
                                <'ExecStart='>
                                ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)
                                <'/spotify-connect-web/spotify-connect-web\n'>
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=multi-user.target\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/systemd/system/spotify-connect-web.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [62432 62451]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<142>}
                  spids: [62496]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<cp>} {<'/etc/couchpotato/init/ubuntu.default'>} {<'/etc/default/couchpotato'>})
                    (C {<sed>} {<-i>} {(DQ <'/CP_USER=/c'> <Id.Lit_BadBackslash '\\'> <'CP_USER=root'>)} 
                      {<'/etc/default/couchpotato'>}
                    )
                    (C {<sed>} {<-i>} 
                      {(DQ <'/CP_HOME=/c'> <Id.Lit_BadBackslash '\\'> <'CP_HOME=/etc/couchpotato'>)} {<'/etc/default/couchpotato'>}
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/CP_DATA=/c'> <Id.Lit_BadBackslash '\\'> <'CP_DATA='> 
                          ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/couchpotato'>
                        )
                      } {<'/etc/default/couchpotato'>}
                    )
                    (C {<mkdir>} {<-p>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/couchpotato'>}
                    )
                    (C {<cp>} {<'/etc/couchpotato/init/ubuntu'>} {<'/etc/init.d/couchpotato'>})
                  ]
                  spids: [62500 62519]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<143>}
                  spids: [62607]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<Download_Test_Media>})
                    (C {<'/DietPi/dietpi/func/create_mysql_db'>} {<koel>} {<koel>} 
                      {(DQ ($ Id.VSub_DollarName GLOBAL_PW))}
                    )
                    (C {<cd>} {<'/var/www/koel'>})
                    (C {<sed>} {<-i>} {(SQ <'/DB_CONNECTION=/c\\DB_CONNECTION=mysql'>)} {<.env>})
                    (C {<sed>} {<-i>} {(SQ <'/DB_HOST=/c\\DB_HOST=127.0.0.1'>)} {<.env>})
                    (C {<sed>} {<-i>} {(SQ <'/DB_DATABASE=/c\\DB_DATABASE=koel'>)} {<.env>})
                    (C {<sed>} {<-i>} {(SQ <'/DB_USERNAME=/c\\DB_USERNAME=koel'>)} {<.env>})
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/DB_PASSWORD=/c'> <Id.Lit_BadBackslash '\\'> <'DB_PASSWORD='> 
                          ($ Id.VSub_DollarName GLOBAL_PW)
                        )
                      } {<.env>}
                    )
                    (C {<sed>} {<-i>} {(SQ <'/ADMIN_EMAIL=/c\\ADMIN_EMAIL=dietpi@dietpi.com'>)} {<.env>})
                    (C {<sed>} {<-i>} {(SQ <'/ADMIN_NAME=/c\\ADMIN_NAME=admin'>)} {<.env>})
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/ADMIN_PASSWORD=/c'> <Id.Lit_BadBackslash '\\'> <'ADMIN_PASSWORD='> 
                          ($ Id.VSub_DollarName GLOBAL_PW)
                        )
                      } {<.env>}
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/FFMPEG_PATH=/c'> <Id.Lit_BadBackslash '\\'> <'FFMPEG_PATH='> 
                          (command_sub
                            left_token: <Id.Left_DollarParen '$('>
                            child: (C {<which>} {<ffmpeg>})
                            right: <Id.Eof_RParen _>
                          )
                        )
                      } {<.env>}
                    )
                    (C {<php>} {<artisan>} {<koel> <Id.Lit_Colon ':'> <init>})
                    (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 62825
                              stdin_parts: [
                                <'[Unit]\n'>
                                <'Description=Koel\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <'Type=simple\n'>
                                <'User=root\n'>
                                <'WorkingDirectory=/var/www/koel\n'>
                                <'ExecStart='>
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: (C {<which>} {<php>})
                                  right: <Id.Eof_RParen _>
                                )
                                <' /var/www/koel/artisan serve --host 0.0.0.0\n'>
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=multi-user.target\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/systemd/system/koel.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [62611 62630]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<144>}
                  spids: [62836]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 62892
                              stdin_parts: [
                                <'[Unit]\n'>
                                <'Description=Sonarr (NzbDrone) Daemon\n'>
                                <'After=network.target\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <'User=root\n'>
                                <'Restart=on-failure\n'>
                                <'RestartSec=5\n'>
                                <'Type=simple\n'>
                                <
'ExecStart=/usr/bin/mono --debug /opt/NzbDrone/NzbDrone.exe -nobrowser\n'
                                >
                                <'TimeoutStopSec=20\n'>
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=multi-user.target\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/systemd/system/sonarr.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [62840 62859]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<145>}
                  spids: [62903]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 62959
                              stdin_parts: [
                                <'[Unit]\n'>
                                <'Description=Radarr Daemon\n'>
                                <'After=network.target\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <'User=root\n'>
                                <'Restart=on-failure\n'>
                                <'RestartSec=5\n'>
                                <'Type=simple\n'>
                                <
'ExecStart=/usr/bin/mono --debug /opt/Radarr/Radarr.exe -nobrowser\n'
                                >
                                <'TimeoutStopSec=20\n'>
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=multi-user.target\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/systemd/system/radarr.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [62907 62926]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<146>}
                  spids: [62970]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/plexpy'>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 63037
                              stdin_parts: [
                                <'[Unit]\n'>
                                <'Description=PlexPy - Stats for Plex Media Server usage\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <
'ExecStart=/opt/plexpy/PlexPy.py --quiet --daemon --nolaunch --config /opt/plexpy/config.ini --datadir '
                                >
                                ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)
                                <'/plexpy\n'>
                                <'GuessMainPID=no\n'>
                                <'Type=forking\n'>
                                <'User=root\n'>
                                <'Group=root\n'>
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=multi-user.target\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/systemd/system/plexpy.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [62974 62993]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<147>}
                  spids: [63048]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 63104
                              stdin_parts: [
                                <'[Unit]\n'>
                                <'Description=Jackett Daemon\n'>
                                <'After=network.target\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <'User=root\n'>
                                <'Restart=always\n'>
                                <'RestartSec=5\n'>
                                <'Type=simple\n'>
                                <
'ExecStart=/usr/bin/mono --debug /opt/jackett/JackettConsole.exe\n'
                                >
                                <'TimeoutStopSec=20\n'>
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=multi-user.target\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/systemd/system/jackett.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [63052 63071]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<149>}
                  spids: [63115]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/MainDir=/c'> <Id.Lit_BadBackslash '\\'> <'MainDir='> 
                          ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/downloads'>
                        )
                      } {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/nzbget/nzbget.conf'>}
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/DestDir=/c'> <Id.Lit_BadBackslash '\\'> <'DestDir='> 
                          ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/downloads/complete'>
                        )
                      } {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/nzbget/nzbget.conf'>}
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/LogFile=/c'> <Id.Lit_BadBackslash '\\'> <'LogFile=/var/log/nzbget.log'>)
                      } {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/nzbget/nzbget.conf'>}
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/ControlUsername=/c'> <Id.Lit_BadBackslash '\\'> <'ControlUsername=root'>)
                      } {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/nzbget/nzbget.conf'>}
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/ControlPassword=/c'> <Id.Lit_BadBackslash '\\'> <'ControlPassword='> 
                          ($ Id.VSub_DollarName GLOBAL_PW)
                        )
                      } {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/nzbget/nzbget.conf'>}
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/Server1.Cipher=/c'> <Id.Lit_BadBackslash '\\'> 
                          <'Server1.Cipher=RC4-MD5'>
                        )
                      } {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/nzbget/nzbget.conf'>}
                    )
                    (C {<sed>} {<-i>} {(DQ <'/CrcCheck=/c'> <Id.Lit_BadBackslash '\\'> <'CrcCheck=no'>)} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/nzbget/nzbget.conf'>}
                    )
                    (C {<sed>} {<-i>} 
                      {(DQ <'/ParScan=/c'> <Id.Lit_BadBackslash '\\'> <'ParScan=limited'>)} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/nzbget/nzbget.conf'>}
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/ParThreads=/c'> <Id.Lit_BadBackslash '\\'> <'ParThreads='> 
                          ($ Id.VSub_DollarName G_HW_CPU_CORES)
                        )
                      } {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/nzbget/nzbget.conf'>}
                    )
                    (C {<sed>} {<-i>} 
                      {(DQ <'/DebugTarget=/c'> <Id.Lit_BadBackslash '\\'> <'DebugTarget=none'>)} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/nzbget/nzbget.conf'>}
                    )
                    (C {<sed>} {<-i>} 
                      {(DQ <'/CrashTrace=/c'> <Id.Lit_BadBackslash '\\'> <'CrashTrace=no'>)} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/nzbget/nzbget.conf'>}
                    )
                    (C {<sed>} {<-i>} 
                      {(DQ <'/DetailTarget=/c'> <Id.Lit_BadBackslash '\\'> <'DetailTarget=none'>)} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/nzbget/nzbget.conf'>}
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/ParBuffer=/c'> <Id.Lit_BadBackslash '\\'> <'ParBuffer='> 
                          (command_sub
                            left_token: <Id.Left_DollarParen '$('>
                            child: (C {<Optimize_BitTorrent>} {<0>})
                            right: <Id.Eof_RParen _>
                          )
                        )
                      } {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/nzbget/nzbget.conf'>}
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/ArticleCache=/c'> <Id.Lit_BadBackslash '\\'> <'ArticleCache='> 
                          (command_sub
                            left_token: <Id.Left_DollarParen '$('>
                            child: (C {<Optimize_BitTorrent>} {<0>})
                            right: <Id.Eof_RParen _>
                          )
                        )
                      } {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/nzbget/nzbget.conf'>}
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/WriteBuffer=/c'> <Id.Lit_BadBackslash '\\'> <'WriteBuffer='> 
                          (command_sub
                            left_token: <Id.Left_DollarParen '$('>
                            child: (C {<Optimize_BitTorrent>} {<0>})
                            right: <Id.Eof_RParen _>
                          )
                        )
                      } {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/nzbget/nzbget.conf'>}
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 63443
                              stdin_parts: [
                                <'[Unit]\n'>
                                <'Description=NZBget\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <'Type=forking\n'>
                                <'User=root\n'>
                                <'WorkingDirectory='>
                                ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)
                                <'/nzbget\n'>
                                <'ExecStart='>
                                ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)
                                <'/nzbget/nzbget -D\n'>
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=multi-user.target\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/systemd/system/nzbget.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [63119 63138]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<155>}
                  spids: [63454]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 63508
                              stdin_parts: [
                                <'[Unit]\n'>
                                <'Description=HTPC Manager\n'>
                                <'After=network.target\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <'Type=simple\n'>
                                <'ExecStart=/usr/bin/python '>
                                ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)
                                <'/htpc-manager/Htpc.py\n'>
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=multi-user.target\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/systemd/system/htpc-manager.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [63458 63477]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<153>}
                  spids: [63519]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 63577
                              stdin_parts: [
                                <'[Unit]\n'>
                                <'Description=OctoPrint\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <'Type=simple\n'>
                                <'User=root\n'>
                                <'ExecStart='>
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: (C {<which>} {<octoprint>})
                                  right: <Id.Eof_RParen _>
                                )
                                <' serve --iknowwhatimdoing\n'>
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=multi-user.target\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/systemd/system/octoprint.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [63523 63542]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<154>}
                  spids: [63588]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 63646
                              stdin_parts: [
                                <'[Unit]\n'>
                                <'Description=Roon Server\n'>
                                <'After=network.target\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <'Type=simple\n'>
                                <'User=root\n'>
                                <'Environment=ROON_DATAROOT='>
                                ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)
                                <'/roonserver\n'>
                                <'ExecStart='>
                                ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)
                                <'/roonserver/start.sh\n'>
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=multi-user.target\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/systemd/system/roonserver.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [63592 63611]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<156>}
                  spids: [63657]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/steam'>})
                    (C {<mv>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.steam/'> <Id.Lit_Star '*'>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/steam/'>}
                    )
                    (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.steam'>})
                    (C {<ln>} {<-sf>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/steam'>} 
                      {(DQ ($ Id.VSub_DollarName HOME)) <'/.steam'>}
                    )
                  ]
                  spids: [63661 63680]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<157>}
                  spids: [63747]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 63801
                              stdin_parts: [
                                <'[Unit]\n'>
                                <'Description=Home Assistant\n'>
                                <'After=network.target\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <'Type=simple\n'>
                                <'User=homeassistant\n'>
                                <'ExecStart=/srv/homeassistant/homeassistant-start.sh\n'>
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=multi-user.target\n'>
                                <'\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/systemd/system/home-assistant.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<mkdir>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/homeassistant'>})
                    (C {<ln>} {<-sf>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/homeassistant'>} {<'/home/homeassistant/.homeassistant'>}
                    )
                  ]
                  spids: [63751 63770]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<158>}
                  spids: [63849]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 63912
                              stdin_parts: [
                                <'# Default file path\n'>
                                <'MINIO_VOLUMES='>
                                <Id.Right_DoubleQuote '"'>
                                ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)
                                <'/minio-data'>
                                <Id.Right_DoubleQuote '"'>
                                <'\n'>
                                <'# Use if you want to run Minio on a custom port.\n'>
                                <'# MINIO_OPTS='>
                                <Id.Right_DoubleQuote '"'>
                                <'--address :9199'>
                                <Id.Right_DoubleQuote '"'>
                                <'\n'>
                                <'# Access Key of the server.\n'>
                                <'# MINIO_ACCESS_KEY=Server-Access-Key\n'>
                                <'# Secret key of the server.\n'>
                                <'# MINIO_SECRET_KEY=Server-Secret-Key\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_DGreat '>>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/default/minio'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<systemctl>} {<enable>} {<minio.service>})
                  ]
                  spids: [63853 63872]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<162>}
                  spids: [63935]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<mkdir>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/docker-data'>})
                    (C {<systemctl>} {<stop>} {<docker.service>})
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/ExecStart='> <Id.Lit_BadBackslash '\\'> <'/usr'> 
                          <Id.Lit_BadBackslash '\\'> <'/bin'> <Id.Lit_BadBackslash '\\'> <'/dockerd/c'> <Id.Lit_BadBackslash '\\'> <'ExecStart='> 
                          <Id.Lit_BadBackslash '\\'> <'/usr'> <Id.Lit_BadBackslash '\\'> <'/bin'> <Id.Lit_BadBackslash '\\'> <'/dockerd -g '> 
                          ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <Id.Lit_BadBackslash '\\'> <'/docker-data -H fd:'> <Id.Lit_BadBackslash '\\'> <'/'> 
                          <Id.Lit_BadBackslash '\\'> <'/'>
                        )
                      } {<'/lib/systemd/system/docker.service'>}
                    )
                  ]
                  spids: [63939 63958]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<161>}
                  spids: [64040]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} 
                                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) 
                                        <'/fuguhub-data/'>
                                      } {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<mkdir>} 
                              {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/fuguhub-data/'>}
                            )
                            (C {<mv>} {<'/home/bd/disk/'> <Id.Lit_Star '*'>} 
                              {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/fuguhub-data/'>}
                            )
                            (C {<rm>} {<-r>} {<'/home/bd/disk'>})
                            (C {<ln>} {<-s>} 
                              {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/fuguhub-data'>} {<'/home/bd/disk'>}
                            )
                          ]
                          spids: [64079 64095]
                        )
                      ]
                      else_action: [
                        (C {<rm>} {<-r>} {<'/home/bd/disk'>})
                        (C {<ln>} {<-s>} 
                          {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/fuguhub-data'>} {<'/home/bd/disk'>}
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [64044 64063]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<164>}
                  spids: [64202]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<wget>} {<-O>} {<'/usr/local/bin/nukkit/nukkit.yml'>} 
                      {<https> <Id.Lit_Colon ':'> 
                        <'//github.com/Nukkit/Languages/raw/master/eng/nukkit.yml'>
                      }
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 64272
                              stdin_parts: [
                                <'[Unit]\n'>
                                <'Description=nukkit\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <'WorkingDirectory=/usr/local/bin/nukkit\n'>
                                <
'ExecStart=/bin/bash -c \'java -jar /usr/local/bin/nukkit/nukkit.jar\'\n'
                                >
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=multi-user.target\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/systemd/system/nukkit.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [64206 64225]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<165>}
                  spids: [64283]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 64348
                              stdin_parts: [
                                <'\n'>
                                <'[Unit]\n'>
                                <'Description=Gitea (Git with a cup of tea)\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <'Type=simple\n'>
                                <'User=dietpi\n'>
                                <'WorkingDirectory='>
                                ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)
                                <'/gitea/gitea-repositories\n'>
                                <'ExecStart='>
                                ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)
                                <'/gitea/gitea web\n'>
                                <'Environment=USER=dietpi HOME='>
                                ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)
                                <'/gitea\n'>
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=multi-user.target\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/systemd/system/gitea.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<mkdir>} {<-p>} {<'/var/log/gitea'>})
                    (C {<chown>} {<-R>} {<dietpi> <Id.Lit_Colon ':'> <dietpi>} {<'/var/log/gitea'>})
                    (C {<'/DietPi/dietpi/func/create_mysql_db'>} {<gitea>} {<gitea>} 
                      {(DQ ($ Id.VSub_DollarName GLOBAL_PW))}
                    )
                  ]
                  spids: [64287 64306]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<159>}
                  spids: [64399]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DPipe
                                  left: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: 
                                        {
                                          (braced_var_sub
                                            left: <Id.Left_DollarBrace '${'>
                                            token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                            var_name: aSOFTWARE_INSTALL_STATE
                                            bracket_op: 
                                              (bracket_op.ArrayIndex
                                                expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                              )
                                            right: <Id.Right_DollarBrace '}'>
                                          )
                                        }
                                      right: {<Id.Lit_Digits 1>}
                                    )
                                  right: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: 
                                        {
                                          (braced_var_sub
                                            left: <Id.Left_DollarBrace '${'>
                                            token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                            var_name: aSOFTWARE_INSTALL_STATE
                                            bracket_op: 
                                              (bracket_op.ArrayIndex
                                                expr: {<Id.Lit_Digits 160>}
                                              )
                                            right: <Id.Right_DollarBrace '}'>
                                          )
                                        }
                                      right: {<Id.Lit_Digits 1>}
                                    )
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<'/DietPi/dietpi/func/create_mysql_db'>} {<allo_db>} {<allo_db>} 
                      {(DQ ($ Id.VSub_DollarName GLOBAL_PW))}
                    )
                    (command.Simple
                      words: [{<mysql>} {<allo_db>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Less '<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: {<'/var/www/allo_db.sql'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<rm>} {<'/var/www/allo_db.sql'>})
                    (C {<rm>} {<'/var/www/index.htm'> <Id.Lit_Star '*'>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 64522
                              stdin_parts: [
                                <'<?php\n'>
                                <'/* Redirect to allo web interface */\n'>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                                <'host  = '>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                                <'_SERVER[\'HTTP_HOST\'];\n'>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                                <'uri   = rtrim(dirname('>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                                <'_SERVER[\'PHP_SELF\']), \'/'>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\\\'>
                                  ch: '\\'
                                )
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\\\'>
                                  ch: '\\'
                                )
                                <'\');\n'>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                                <'extra = \'index.php\';\n'>
                                <'header('>
                                <Id.Right_DoubleQuote '"'>
                                <'Location: http://'>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                                <host>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                                <'uri/allo/public/'>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                                <extra>
                                <Id.Right_DoubleQuote '"'>
                                <');\n'>
                                <'exit;\n'>
                                <'?>\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/var/www/index.php'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                          right: {<Id.Lit_Digits 70>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.Simple
                              words: [{<cat>}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DLess '<<'>
                                  loc: (redir_loc.Fd fd:0)
                                  arg: 
                                    (redir_param.HereDoc
                                      here_begin: {<_EOF_>}
                                      here_end_span_id: 64577
                                      stdin_parts: [
                                        <'[Unit]\n'>
                                        <
'Description=Sparky auto detect and set onboard ETH/USB ETH\n'
                                        >
                                        <'After=network.target networking.service\n'>
                                        <'\n'>
                                        <'[Service]\n'>
                                        <'Type=simple\n'>
                                        <'RemainAfterExit=yes\n'>
                                        <
'ExecStart=/bin/bash -c \'/usr/local/bin/sparky_eth_controller.sh\'\n'
                                        >
                                        <'\n'>
                                        <'[Install]\n'>
                                        <'WantedBy=multi-user.target\n'>
                                      ]
                                    )
                                )
                                (redir
                                  op: <Id.Redir_Great '>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<'/etc/systemd/system/sparky_eth_controller.service'>}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                            (C {<systemctl>} {<daemon-reload>})
                            (C {<systemctl>} {<enable>} {<sparky_eth_controller.service>})
                            (command.Simple
                              words: [{<cat>}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DLess '<<'>
                                  loc: (redir_loc.Fd fd:0)
                                  arg: 
                                    (redir_param.HereDoc
                                      here_begin: {<_EOF_>}
                                      here_end_span_id: 64631
                                      stdin_parts: [
                                        <'#!/bin/bash\n'>
                                        <
'#We need to wait until USB eth is established on USB bus. This takes much longer than onboard init and network.target network-pre.target\n'
                                        >
                                        <'sleep 20\n'>
                                        <'# - Set USB ETH if found\n'>
                                        <'if (( '>
                                        (word_part.EscapedLiteral
                                          token: <Id.Lit_EscapedChar '\\$'>
                                          ch: '$'
                                        )
                                        <'(ifconfig -a | grep -ci -m1 \'eth1\') )); then\n'>
                                        <'\n'>
                                        <'\techo -e '>
                                        <Id.Right_DoubleQuote '"'>
                                        <'blacklist ethernet'>
                                        <Id.Right_DoubleQuote '"'>
                                        <' > /etc/modprobe.d/disable_sparkysbc_ethernet.conf\n'>
                                        <
'\trm /etc/udev/rules.d/70-persistent-net.rules &> /dev/null\n'
                                        >
                                        <
'\trm /etc/udev/rules.d/70-persistant-net.rules &> /dev/null\n'
                                        >
                                        <'\treboot\n'>
                                        <'\n'>
                                        <'# - Enable onboard ETH if no adapter found\n'>
                                        <'elif (( ! '>
                                        (word_part.EscapedLiteral
                                          token: <Id.Lit_EscapedChar '\\$'>
                                          ch: '$'
                                        )
                                        <'(ifconfig -a | grep -ci -m1 \'eth0\') )); then\n'>
                                        <'\n'>
                                        <
'\trm /etc/modprobe.d/disable_sparkysbc_ethernet.conf &> /dev/null\n'
                                        >
                                        <
'\trm /etc/udev/rules.d/70-persistent-net.rules &> /dev/null\n'
                                        >
                                        <
'\trm /etc/udev/rules.d/70-persistant-net.rules &> /dev/null\n'
                                        >
                                        <'\treboot\n'>
                                        <'\n'>
                                        <'fi\n'>
                                      ]
                                    )
                                )
                                (redir
                                  op: <Id.Redir_Great '>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<'/usr/local/bin/sparky_eth_controller.sh'>}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                            (C {<chmod>} {<Id.Lit_Other '+'> <x>} 
                              {<'/usr/local/bin/sparky_eth_controller.sh'>}
                            )
                          ]
                          spids: [64533 64547]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 160>}
                            )
                          op: assign_op.Equal
                          rhs: {<2>}
                          spids: [64651]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [64406 64439]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<163>}
                  spids: [64668]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<cp>} {<'/DietPi/dietpi/conf/gmrender.service'>} 
                      {<'/etc/systemd/system/gmrender.service'>}
                    )
                  ]
                  spids: [64672 64691]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<166>}
                  spids: [64715]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<mkdir>} {<-p>} {<'/var/lib/dietpi/dietpi-software/installed/pi-spc'>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 64829
                              stdin_parts: [
                                <'#!/bin/bash\n'>
                                <'#DietPi version\n'>
                                <'PATH=/usr/bin:/home/pi/wiringPi/gpio:/usr/local/bin\n'>
                                <'\n'>
                                <'TICKRATE=0.25\n'>
                                <'\n'>
                                <'echo -e '>
                                <Id.Right_DoubleQuote '"'>
                                <'Audiophonics Shutdown script starting...'>
                                <Id.Right_DoubleQuote '"'>
                                <'\n'>
                                <'echo -e '>
                                <Id.Right_DoubleQuote '"'>
                                <'Asserting pins : '>
                                <Id.Right_DoubleQuote '"'>
                                <'\n'>
                                <'echo -e '>
                                <Id.Right_DoubleQuote '"'>
                                <'ShutDown : GPIO17=in, Low'>
                                <Id.Right_DoubleQuote '"'>
                                <'\n'>
                                <'echo -e '>
                                <Id.Right_DoubleQuote '"'>
                                <'BootOK   : GPIO22=out, High'>
                                <Id.Right_DoubleQuote '"'>
                                <'\n'>
                                <'echo -e '>
                                <Id.Right_DoubleQuote '"'>
                                <'SoftSD   : GPIO04=out, Low'>
                                <Id.Right_DoubleQuote '"'>
                                <'\n'>
                                <'\n'>
                                <'gpio -g mode 04 out\n'>
                                <'gpio -g write 04 0\n'>
                                <'gpio -g mode 17 in\n'>
                                <'gpio -g write 17 0\n'>
                                <'gpio -g mode 22 out\n'>
                                <'gpio -g write 22 1\n'>
                                <'\n'>
                                <'while true\n'>
                                <'do\n'>
                                <'\n'>
                                <'\tif (( '>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                                <'(gpio -g read 17) == 1 )); then\n'>
                                <'\n'>
                                <'\t\tG_DIETPI-NOTIFY 0 '>
                                <Id.Right_DoubleQuote '"'>
                                <'AudioPhonics Pi-SPC: Power off requested. Shutting down system.'>
                                <Id.Right_DoubleQuote '"'>
                                <'\n'>
                                <'\t\tsudo poweroff\n'>
                                <'\t\t#sudo shutdown -h -P now\n'>
                                <'\t\tbreak\n'>
                                <'\n'>
                                <'\tfi\n'>
                                <'\n'>
                                <'\tsleep '>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                                <'TICKRATE\n'>
                                <'\n'>
                                <'done\n'>
                                <'\n'>
                                <'exit 0\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/var/lib/dietpi/dietpi-software/installed/pi-spc/sds.sh'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<chmod>} {<Id.Lit_Other '+'> <x>} 
                      {<'/var/lib/dietpi/dietpi-software/installed/pi-spc/sds.sh'>}
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 64864
                              stdin_parts: [
                                <'[Unit]\n'>
                                <'Description=AudioPhonics Pi-SPC\n'>
                                <'\n'>
                                <'[Service]\n'>
                                <'Type=simple\n'>
                                <'StandardOutput=tty\n'>
                                <'User=root\n'>
                                <'\n'>
                                <
'ExecStart=/bin/bash -c \'/var/lib/dietpi/dietpi-software/installed/pi-spc/sds.sh\'\n'
                                >
                                <'\n'>
                                <'[Install]\n'>
                                <'WantedBy=multi-user.target\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/systemd/system/pi-spc.service'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [64719 64738]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<168>}
                  spids: [64875]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<'/DietPi/dietpi/func/dietpi-set_software'>} {<useradd>} {<pi>})
                    (command.Simple
                      words: [{<echo>} {<-e>} {(SQ <'www-data\\tALL=(ALL) NOPASSWD: ALL'>)}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DGreat '>>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/sudoers'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<mkdir>} {<-p>} {<'/var/local/www/commandw'>})
                    (C {<mkdir>} {<-p>} {<'/var/local/www/cssw'>})
                    (C {<mkdir>} {<-p>} {<'/var/local/www/jsw'>})
                    (C {<mkdir>} {<-p>} {<'/var/local/www/imagesw'>})
                    (C {<mkdir>} {<-p>} {<'/var/local/www/imagesw/toggle'>})
                    (C {<mkdir>} {<-p>} {<'/var/local/www/db'>})
                    (C {<mkdir>} {<-p>} {<'/var/local/www/templatesw'>})
                    (C {<chmod>} {<-R>} {<0755>} {<'/var/local/www'>})
                    (C {<mkdir>} {<-p>} {<'/var/lib/mpd/music/RADIO'>})
                    (C {<mkdir>} {<-p>} {<'/mnt/NAS'>})
                    (C {<mkdir>} {<-p>} {<'/mnt/SDCARD'>})
                    (C {<mkdir>} {<-p>} {<'/mnt/UPNP'>})
                    (C {<mkdir>} {<'/media'>})
                    (C {<ln>} {<-s>} {<'/mnt/NAS'>} {<'/var/lib/mpd/music/NAS'>})
                    (C {<ln>} {<-s>} {<'/mnt/SDCARD'>} {<'/var/lib/mpd/music/SDCARD'>})
                    (C {<ln>} {<-s>} {<'/media'>} {<'/var/lib/mpd/music/USB'>})
                    (C {<ln>} {<-s>} {<'/var/lib/mpd/music'>} {<'/var/www/mpdmusic'>})
                    (C {<touch>} {<'/var/log/moode.log'>})
                    (C {<chmod>} {<0666>} {<'/var/log/moode.log'>})
                    (C {<touch>} {<'/var/log/php_errors.log'>})
                    (C {<chmod>} {<0666>} {<'/var/log/php_errors.log'>})
                    (C {<cp>} {<'./rel-stretch/mpd/sticker.sql'>} {<'/var/lib/mpd'>})
                    (C {<cp>} {<-r>} {(DQ <'./rel-stretch/other/sdcard/Stereo Test/'>)} 
                      {<'/var/lib/mpd/music/SDCARD'>}
                    )
                    (C {<cp>} {<'./rel-stretch/network/wpa_supplicant.conf.default'>} 
                      {<'/etc/wpa_supplicant/wpa_supplicant.conf'>}
                    )
                    (C {<cp>} {<'./rel-stretch/network/dhcpcd.conf.default'>} {<'/etc/dhcpcd.conf'>})
                    (C {<cp>} {<'./rel-stretch/network/hostapd.conf.default'>} 
                      {<'/etc/hostapd/hostapd.conf'>}
                    )
                    (C {<cp>} {<'./rel-stretch/var/local/www/db/moode-sqlite3.db.default'>} 
                      {<'/var/local/www/db/moode-sqlite3.db'>}
                    )
                    (C {<chmod>} {<0777>} {<'/var/lib/mpd/music/RADIO'>})
                    (C {<chmod>} {<-R>} {<0777>} {<'/var/local/www/db'>})
                    (C {<rm>} {<'/etc/update-motd.d/10-uname'>})
                    (C {<rm>} {<'/var/lib/mpd/music/RADIO/'> <Id.Lit_Star '*'>})
                    (C {<rm>} {<'/var/www/images/radio-logos/'> <Id.Lit_Star '*'>})
                    (C {<cp>} {<'./rel-stretch/mpd/RADIO/'> <Id.Lit_Star '*'>} 
                      {<'/var/lib/mpd/music/RADIO'>}
                    )
                    (C {<cp>} {<'./rel-stretch/mpd/playlists/'> <Id.Lit_Star '*'>} 
                      {<'/var/lib/mpd/playlists'>}
                    )
                    (C {<cp>} {<-r>} {<'./rel-stretch/etc/'> <Id.Lit_Star '*'>} {<'/etc/'>})
                    (C {<cp>} {<-r>} {<'./rel-stretch/home/'> <Id.Lit_Star '*'>} {<'/home/pi/'>})
                    (C {<cp>} {<-r>} {<'./rel-stretch/home/.dircolors'>} {<'/home/pi/'>})
                    (C {<cp>} {<-r>} {<'./rel-stretch/lib/'> <Id.Lit_Star '*'>} {<'/lib/'>})
                    (C {<cp>} {<-r>} {<'./rel-stretch/usr/'> <Id.Lit_Star '*'>} {<'/usr/'>})
                    (C {<cp>} {<-r>} {<'./rel-stretch/var/'> <Id.Lit_Star '*'>} {<'/var/'>})
                    (C {<cp>} {<-r>} {<'./rel-stretch/www/'> <Id.Lit_Star '*'>} {<'/var/www/'>})
                    (C {<chmod>} {<0755>} {<'/var/www/command/'> <Id.Lit_Star '*'>})
                    (C {<'/var/www/command/util.sh'>} {(DQ <emerald>)} {(DQ <2ecc71>)} {(DQ <27ae60>)})
                    (C {<sqlite3>} {<'/var/local/www/db/moode-sqlite3.db'>} 
                      {(DQ <'update cfg_system set value=\'Emerald\' where param=\'themecolor\''>)}
                    )
                    (C {<chmod>} {<0755>} {<'/etc/init.d/mpd'>})
                    (C {<chmod>} {<0644>} {<'/lib/systemd/system/mpd.service'>})
                    (C {<chmod>} {<0644>} {<'/lib/systemd/system/mpd.socket'>})
                    (C {<chmod>} {<0666>} {<'/etc/bluealsaaplay.conf'>})
                    (C {<chmod>} {<0644>} 
                      {<'/etc/systemd/system/bluealsa-aplay'> <Id.Lit_At '@'> <.service>}
                    )
                    (C {<chmod>} {<0644>} {<'/etc/systemd/system/bluealsa.service'>})
                    (C {<chmod>} {<0644>} {<'/lib/systemd/system/bluetooth.service'>})
                    (C {<chmod>} {<0755>} {<'/usr/local/bin/a2dp-autoconnect'>})
                    (C {<chmod>} {<0644>} {<'/lib/systemd/system/rotenc.service'>})
                    (C {<chmod>} {<0644>} {<'/etc/udev/rules.d/'> <Id.Lit_Star '*'>})
                    (C {<systemctl>} {<daemon-reload>})
                    (C {<systemctl>} {<disable>} {<mpd.socket>})
                    (C {<systemctl>} {<disable>} {<rotenc.service>})
                    (C {<chmod>} {<0644>} {<'/lib/systemd/system/squeezelite-armv6l.service'>})
                    (C {<chmod>} {<0644>} {<'/lib/systemd/system/squeezelite-armv7l.service'>})
                    (C {<systemctl>} {<disable>} {<squeezelite-armv6l>})
                    (C {<systemctl>} {<disable>} {<squeezelite-armv7l>})
                    (C {<chmod>} {<0644>} {<'/lib/systemd/system/upmpdcli.service'>})
                    (C {<systemctl>} {<disable>} {<upmpdcli.service>})
                    (C {<chmod>} {<0777>} {<'/var/local/www/playhistory.log'>})
                    (C {<chmod>} {<0777>} {<'/var/local/www/currentsong.txt'>})
                    (C {<touch>} {<'/var/local/www/libcache.json'>})
                    (C {<chmod>} {<0777>} {<'/var/local/www/libcache.json'>})
                    (C {<chmod>} {<0755>} {<'/usr/local/bin/alsaequal.bin'>})
                    (C {<chown>} {<mpd> <Id.Lit_Colon ':'> <audio>} {<'/usr/local/bin/alsaequal.bin'>})
                    (C {<rm>} {<'/usr/share/alsa/alsa.conf.d/equal.conf'>})
                    (C {<mpc>} {<enable>} {<only>} {<1>})
                    (C {<rm>} {<'/var/www/index.h'> <Id.Lit_Star '*'>})
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 65771
                              stdin_parts: [
                                <'#!/bin/bash\n'>
                                <'#Precaution: Wait for DietPi Ramdisk to finish\n'>
                                <'while [ ! -f /DietPi/.ramdisk ]\n'>
                                <'do\n'>
                                <'\n'>
                                <'    G_DIETPI-NOTIFY 2 '>
                                <Id.Right_DoubleQuote '"'>
                                <'Waiting for DietPi-RAMDISK to finish mounting DietPi to RAM...'>
                                <Id.Right_DoubleQuote '"'>
                                <'\n'>
                                <'    sleep 1\n'>
                                <'\n'>
                                <'done\n'>
                                <'\n'>
                                <'echo -e '>
                                <Id.Right_DoubleQuote '"'>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                                <'(cat /proc/uptime | awk \'{print '>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                                <'1}\') Seconds'>
                                <Id.Right_DoubleQuote '"'>
                                <' > /var/log/boottime\n'>
                                <'if (( '>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                                <'(cat /DietPi/dietpi/.install_stage) == 1 )); then\n'>
                                <'\n'>
                                <'    /DietPi/dietpi/dietpi-services start\n'>
                                <'\n'>
                                <'fi\n'>
                                <'/DietPi/dietpi/dietpi-banner 0\n'>
                                <'echo -e '>
                                <Id.Right_DoubleQuote '"'>
                                <' Default Login:'>
                                <Id.Lit_BadBackslash '\\'>
                                <'n Username = root'>
                                <Id.Lit_BadBackslash '\\'>
                                <'n Password = dietpi'>
                                <Id.Lit_BadBackslash '\\'>
                                <n>
                                <Id.Right_DoubleQuote '"'>
                                <'\n'>
                                <'\n'>
                                <'#moOde additions\n'>
                                <'SQLDB=/var/local/www/db/moode-sqlite3.db\n'>
                                <'\n'>
                                <'# set cpu govenor\n'>
                                <'RESULT='>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                                <'(sqlite3 '>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                                <'SQLDB '>
                                <Id.Right_DoubleQuote '"'>
                                <'select value from cfg_system where param=\'cpugov\''>
                                <Id.Right_DoubleQuote '"'>
                                <')\n'>
                                <'echo '>
                                <Id.Right_DoubleQuote '"'>
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\$'>
                                  ch: '$'
                                )
                                <RESULT>
                                <Id.Right_DoubleQuote '"'>
                                <' | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor\n'>
                                <'\n'>
                                <'/usr/bin/udisks-glue > /dev/null 2>&1\n'>
                                <'/var/www/command/worker.php > /dev/null 2>&1\n'>
                                <'\n'>
                                <'exit 0\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/rc.local'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<sqlite3>} {<'/var/local/www/db/moode-sqlite3.db'>} 
                      {
                        (DQ 
                          <
'update cfg_system set value=\'/DietPi/config.txt\' where param=\'res_boot_config_txt\''
                          >
                        )
                      }
                    )
                    (C {<Download_Test_Media>})
                  ]
                  spids: [64879 64898]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INSTALLING_INDEX='>
                      name: INSTALLING_INDEX
                    )
                  op: assign_op.Equal
                  rhs: {<169>}
                  spids: [65852]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: 
                                          (bracket_op.ArrayIndex
                                            expr: {($ Id.VSub_DollarName INSTALLING_INDEX)}
                                          )
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<Banner_Configuration>})
                    (C {<ln>} {<-sf>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) 
                        <'/voice-recognizer-raspi/assistant.json'>
                      } {<'/home/dietpi/assistant.json'>}
                    )
                    (C {<mkdir>} {<-p>} {<'/home/dietpi/.cache/voice-recognizer'>})
                    (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<soundcard>} 
                      {<googlevoicehat-soundcard>}
                    )
                  ]
                  spids: [65856 65875]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Install_Apply_GPU_Settings
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<local>} {<Id.Lit_VarLike 'gpu_enabled='> <0>})
            (C {<local>} {<Id.Lit_VarLike 'gpu_memory='> <0>})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 112>})
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 2>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'gpu_enabled='>
                              name: gpu_enabled
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [65983]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'gpu_memory='> name:gpu_memory)
                          op: assign_op.Equal
                          rhs: {<192>}
                          spids: [65987]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [65960 65979]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DPipe
                                  left: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DPipe
                                      left: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DPipe
                                          left: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: 
                                                {
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                    var_name: aSOFTWARE_INSTALL_STATE
                                                    bracket_op: 
                                                      (bracket_op.ArrayIndex
                                                        expr: {<Id.Lit_Digits 31>}
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  )
                                                }
                                              right: {<Id.Lit_Digits 2>}
                                            )
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: 
                                                {
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                    var_name: aSOFTWARE_INSTALL_STATE
                                                    bracket_op: 
                                                      (bracket_op.ArrayIndex
                                                        expr: {<Id.Lit_Digits 59>}
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  )
                                                }
                                              right: {<Id.Lit_Digits 2>}
                                            )
                                        )
                                      right: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 108>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 2>}
                                        )
                                    )
                                  right: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: 
                                        {
                                          (braced_var_sub
                                            left: <Id.Left_DollarBrace '${'>
                                            token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                            var_name: aSOFTWARE_INSTALL_STATE
                                            bracket_op: 
                                              (bracket_op.ArrayIndex
                                                expr: {<Id.Lit_Digits 148>}
                                              )
                                            right: <Id.Right_DollarBrace '}'>
                                          )
                                        }
                                      right: {<Id.Lit_Digits 2>}
                                    )
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'gpu_enabled='>
                              name: gpu_enabled
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [66065]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'gpu_memory='> name:gpu_memory)
                          op: assign_op.Equal
                          rhs: {<128>}
                          spids: [66069]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [66000 66061]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DPipe
                                  left: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DPipe
                                      left: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DPipe
                                          left: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DPipe
                                              left: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: 
                                                    {
                                                      (braced_var_sub
                                                        left: <Id.Left_DollarBrace '${'>
                                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                        var_name: aSOFTWARE_INSTALL_STATE
                                                        bracket_op: 
                                                          (bracket_op.ArrayIndex
                                                            expr: {<Id.Lit_Digits 23>}
                                                          )
                                                        right: <Id.Right_DollarBrace '}'>
                                                      )
                                                    }
                                                  right: {<Id.Lit_Digits 2>}
                                                )
                                              right: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: 
                                                    {
                                                      (braced_var_sub
                                                        left: <Id.Left_DollarBrace '${'>
                                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                        var_name: aSOFTWARE_INSTALL_STATE
                                                        bracket_op: 
                                                          (bracket_op.ArrayIndex
                                                            expr: {<Id.Lit_Digits 24>}
                                                          )
                                                        right: <Id.Right_DollarBrace '}'>
                                                      )
                                                    }
                                                  right: {<Id.Lit_Digits 2>}
                                                )
                                            )
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: 
                                                {
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                    var_name: aSOFTWARE_INSTALL_STATE
                                                    bracket_op: 
                                                      (bracket_op.ArrayIndex
                                                        expr: {<Id.Lit_Digits 25>}
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  )
                                                }
                                              right: {<Id.Lit_Digits 2>}
                                            )
                                        )
                                      right: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 26>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 2>}
                                        )
                                    )
                                  right: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: 
                                        {
                                          (braced_var_sub
                                            left: <Id.Left_DollarBrace '${'>
                                            token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                            var_name: aSOFTWARE_INSTALL_STATE
                                            bracket_op: 
                                              (bracket_op.ArrayIndex
                                                expr: {<Id.Lit_Digits 51>}
                                              )
                                            right: <Id.Right_DollarBrace '}'>
                                          )
                                        }
                                      right: {<Id.Lit_Digits 2>}
                                    )
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'gpu_enabled='>
                              name: gpu_enabled
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [66161]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'gpu_memory='> name:gpu_memory)
                          op: assign_op.Equal
                          rhs: {<64>}
                          spids: [66165]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [66082 66157]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 62>})
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 2>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'gpu_enabled='>
                              name: gpu_enabled
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [66197]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [66174 66193]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Great
                                  left: {($ Id.VSub_DollarName gpu_memory)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Less
                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<gpumemsplit>} 
                              {($ Id.VSub_DollarName gpu_memory)}
                            )
                          ]
                          spids: [66232 66246]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [66210 66224]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: {($ Id.VSub_DollarName gpu_enabled)}
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Less
                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<sed>} {<-i>} 
                              {
                                (DQ <'/CONFIG_HDMI_OUTPUT=/c'> <Id.Lit_BadBackslash '\\'> 
                                  <'CONFIG_HDMI_OUTPUT=1'>
                                )
                              } {<'/DietPi/dietpi.txt'>}
                            )
                          ]
                          spids: [66284 66298]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<sed>} {<-i>} {(SQ <'/setenv hdmioutput /c\\setenv hdmioutput "1"'>)} 
                              {<'/DietPi/boot.ini'>}
                            )
                            (C {<sed>} {<-i>} {(SQ <'/setenv vpu /c\\setenv vpu "1"'>)} 
                              {<'/DietPi/boot.ini'>}
                            )
                            (C {<sed>} {<-i>} {(SQ <'/setenv m_bpp /c\\setenv m_bpp "32"'>)} 
                              {<'/DietPi/boot.ini'>}
                            )
                          ]
                          spids: [66320 66334]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_MODEL)}
                                          right: {<Id.Lit_Digits 12>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<sed>} {<-i>} {(SQ <'/setenv nographics /c\\setenv nographics "0"'>)} 
                              {<'/DietPi/boot.ini'>}
                            )
                          ]
                          spids: [66376 66390]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [66266 66276]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Check_USB_Drive_Installed
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USBDRIVE='> name:USBDRIVE)
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [66425]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'FP_DIETPI_DEDICATED_USBDRIVE='>
                      name: FP_DIETPI_DEDICATED_USBDRIVE
                    )
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<df>} {<-P>})
                              (C {<grep>} {<-m1>} {(SQ <'^/dev/sda1'>)})
                              (C {<awk>} {(SQ <'{print $6}'>)})
                            ]
                            negated: F
                            stderr_indices: []
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [66430]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.AndOr
                              ops: [Id.Op_DAmp]
                              children: [
                                (C {<Id.Lit_LBracket '['>} {<-n>} 
                                  {(DQ ($ Id.VSub_DollarName FP_DIETPI_DEDICATED_USBDRIVE))} {<Id.Lit_RBracket ']'>}
                                )
                                (command.DParen
                                  child: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Pipeline
                                            children: [
                                              (C {<df>} {<-P>})
                                              (C {<grep>} {<-ci>} {<-m1>} 
                                                {
                                                  (DQ 
                                                    ($ Id.VSub_DollarName 
FP_DIETPI_DEDICATED_USBDRIVE
                                                    )
                                                  )
                                                }
                                              )
                                            ]
                                            negated: F
                                            stderr_indices: []
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  redirects: []
                                )
                              ]
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USBDRIVE='> name:USBDRIVE)
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [66504]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [66461 66500]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Uninstall_Software
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<local>} {<Id.Lit_VarLike 'index='> ($ Id.VSub_Number 1)})
            (C {<G_DIETPI-NOTIFY>} {<3>} {<DietPi-Software>} {(DQ <Uninstall>)})
            (C {<echo>} {<-e>} {(DQ )})
            (C {<G_DIETPI-NOTIFY>} {<0>} 
              {
                (DQ <'Uninstalling '> 
                  (braced_var_sub
                    left: <Id.Left_DollarBrace '${'>
                    token: <Id.VSub_Name aSOFTWARE_WHIP_NAME>
                    var_name: aSOFTWARE_WHIP_NAME
                    bracket_op: (bracket_op.ArrayIndex expr:{($ Id.VSub_DollarName index)})
                    right: <Id.Right_DollarBrace '}'>
                  ) <': '> 
                  (braced_var_sub
                    left: <Id.Left_DollarBrace '${'>
                    token: <Id.VSub_Name aSOFTWARE_WHIP_DESC>
                    var_name: aSOFTWARE_WHIP_DESC
                    bracket_op: (bracket_op.ArrayIndex expr:{($ Id.VSub_DollarName index)})
                    right: <Id.Right_DollarBrace '}'>
                  ) <Id.Lit_BadBackslash '\\'> <n>
                )
              }
            )
            (C {<local>} {<Id.Lit_VarLike 'valid_input='> <1>})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 100>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'grasshopper_directory='>
                              name: grasshopper_directory
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <'/var/www'>)}
                          spids: [66626]
                        )
                      ]
                      redirects: []
                    )
                    (C {<rm>} {<-R>} 
                      {(DQ ($ Id.VSub_DollarName grasshopper_directory)) <'/documentation'>}
                    )
                    (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName grasshopper_directory)) <'/css'>})
                    (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName grasshopper_directory)) <'/db'>})
                    (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName grasshopper_directory)) <'/exec'>})
                    (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName grasshopper_directory)) <'/includes'>})
                    (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName grasshopper_directory)) <'/install'>})
                    (C {<rm>} {<-R>} 
                      {(DQ ($ Id.VSub_DollarName grasshopper_directory)) <'/phpliteadmin'>}
                    )
                    (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName grasshopper_directory)) <'/js'>})
                    (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName grasshopper_directory)) <'/setup'>})
                    (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName grasshopper_directory)) <'/pics'>})
                    (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName grasshopper_directory)) <'/themes'>})
                    (C {<rm>} {(DQ ($ Id.VSub_DollarName grasshopper_directory)) <'/favicon.ico'>})
                    (C {<rm>} {(DQ ($ Id.VSub_DollarName grasshopper_directory)) <'/index.php'>})
                    (C {<rm>} 
                      {(DQ ($ Id.VSub_DollarName grasshopper_directory)) <'/Grasshopper'> 
                        <Id.Lit_Star '*'>
                      }
                    )
                    (C {<update-rc.d>} {<grasshopper>} {<remove>})
                    (C {<rm>} {<'/etc/init.d/grasshopper'>})
                  ]
                  spids: [66608 66622]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 23>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_AGP>} {<lxde>} {<lxde-> <Id.Lit_Star '*'>} {<upower>} {<policykit-1>} 
                      {<iceweasel>} {<p7zip-full>}
                    )
                  ]
                  spids: [66785 66799]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 24>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_AGP>} {<mate-desktop-environment-extras>} {<upower>} {<policykit-1>} 
                      {<iceweasel>} {<p7zip-full>}
                    )
                  ]
                  spids: [66820 66834]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 26>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_AGP>} {<x-window-system-core>} {<wmaker>} {<gnustep>} {<gnustep-devel>} 
                      {<gnustep-games>} {<upower>} {<policykit-1>} {<iceweasel>} {<p7zip-full>}
                    )
                  ]
                  spids: [66852 66866]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 25>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_AGP>} {<xfce4>} {<gnome-icon-theme>} {<tango-icon-theme>} {<iceweasel>} 
                      {<p7zip-full>}
                    )
                  ]
                  spids: [66892 66906]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 22>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_AGP>} {<quiterss>})]
                  spids: [66924 66938]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 30>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<nomachine>})]
                  spids: [66948 66962]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 29>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_AGP>} {<xrdp>})]
                  spids: [66976 66990]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 44>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_AGP>} {<transmission-daemon>})
                    (command.Simple
                      words: [{<rm>} {<'/etc/init.d/transmission-daemon'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<rm>} {<'/etc/systemd/system/transmission-daemon.service'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [67000 67014]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 47>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.Pipeline
                      children: [
                        (C {<crontab>} {<-u>} {<www-data>} {<-l>})
                        (C {<grep>} {<-v>} {(SQ <'/var/www/owncloud/cron.php'>)})
                        (C {<crontab>} {<-u>} {<www-data>} {<->})
                      ]
                      negated: F
                      stderr_indices: []
                    )
                    (command.Simple
                      words: [{<a2dissite>} {<owncloud>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '2>'>
                          loc: (redir_loc.Fd fd:2)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<rm>} {<'/etc/apache2/sites-available/owncloud.conf'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '2>'>
                          loc: (redir_loc.Fd fd:2)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<rm>} {<'/etc/nginx/sites-dietpi/owncloud.config'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '2>'>
                          loc: (redir_loc.Fd fd:2)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<G_DIETPI-NOTIFY>} {<2>} 
                      {
                        (DQ 
                          <
'DietPi will perform an automated backup of your ownCloud database and installation directory, which will be stored inside your ownCloud data directory.'
                          > <Id.Lit_BadBackslash '\\'> 
                          <
'nThe data directory won\'t be removed. So you can at any time recover your whole ownCloud instance.'
                          > <Id.Lit_BadBackslash '\\'> <'nRemove the data directory manually, if you don\'t need it anymore.'>
                        )
                      }
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'datadir='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<grep>} {<-m1>} {(DQ <'\'datadirectory\''>)} 
                                  {<'/var/www/owncloud/config/config.php'>}
                                )
                                (C {<awk>} {(SQ <'{print $3}'>)})
                                (C {<sed>} {(DQ <'s/[\',]//g'>)})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName datadir))} 
                          {<Id.Lit_RBracket ']'>}
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'datadir='> name:datadir)
                              op: assign_op.Equal
                              rhs: 
                                {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/owncloud_data'>)}
                              spids: [67185]
                            )
                          ]
                          redirects: []
                        )
                      ]
                    )
                    (C {<systemctl>} {<start>} {<mysql>})
                    (C {<mysql>} {<-e>} 
                      {
                        (DQ <'drop user '> 
                          (command_sub
                            left_token: <Id.Left_DollarParen '$('>
                            child: 
                              (command.Pipeline
                                children: [
                                  (C {<grep>} {<-m1>} {(DQ <'\'dbuser\''>)} 
                                    {<'/var/www/owncloud/config/config.php'>}
                                  )
                                  (C {<awk>} {(SQ <'{print $3}'>)})
                                  (C {<sed>} {(DQ <'s/,//'>)})
                                ]
                                negated: F
                                stderr_indices: []
                              )
                            right: <Id.Eof_RParen _>
                          ) <'@'> 
                          (command_sub
                            left_token: <Id.Left_DollarParen '$('>
                            child: 
                              (command.Pipeline
                                children: [
                                  (C {<grep>} {<-m1>} {(DQ <'\'dbhost\''>)} 
                                    {<'/var/www/owncloud/config/config.php'>}
                                  )
                                  (C {<awk>} {(SQ <'{print $3}'>)})
                                  (C {<sed>} {(DQ <'s/,//'>)})
                                ]
                                negated: F
                                stderr_indices: []
                              )
                            right: <Id.Eof_RParen _>
                          )
                        )
                      }
                    )
                    (command.Simple
                      words: [
                        {<mysql>}
                        {<-e>}
                        {
                          (DQ <'drop user '> 
                            (command_sub
                              left_token: <Id.Left_DollarParen '$('>
                              child: 
                                (command.Pipeline
                                  children: [
                                    (C {<grep>} {<-m1>} {(DQ <'\'dbuser\''>)} 
                                      {<'/var/www/owncloud/config/config.php'>}
                                    )
                                    (C {<awk>} {(SQ <'{print $3}'>)})
                                    (C {<sed>} {(DQ <'s/,//'>)})
                                  ]
                                  negated: F
                                  stderr_indices: []
                                )
                              right: <Id.Eof_RParen _>
                            )
                          )
                        }
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '2>'>
                          loc: (redir_loc.Fd fd:2)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.AndOr
                      ops: [Id.Op_DAmp]
                      children: [
                        (C {<Id.Lit_LBracket '['>} {<-d>} 
                          {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mysql/owncloud'>} {<Id.Lit_RBracket ']'>}
                        )
                        (command.Simple
                          words: [{<mysqldump>} {<owncloud>}]
                          redirects: [
                            (redir
                              op: <Id.Redir_Great '>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: 
                                {(DQ ($ Id.VSub_DollarName datadir)) 
                                  <'/dietpi-owncloud-database-backup.sql'>
                                }
                            )
                          ]
                          more_env: []
                          do_fork: T
                        )
                      ]
                    )
                    (C {<mysqladmin>} {<drop>} {<owncloud>} {<-f>})
                    (C {<cp>} {<-a>} {<'/var/www/owncloud/.'>} 
                      {(DQ ($ Id.VSub_DollarName datadir)) <'/dietpi-owncloud-installation-backup'>}
                    )
                    (C {<rm>} {<-R>} {<'/var/www/owncloud'>})
                  ]
                  spids: [67042 67056]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 114>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.Pipeline
                      children: [
                        (C {<crontab>} {<-u>} {<www-data>} {<-l>})
                        (C {<grep>} {<-v>} {(SQ <'/var/www/nextcloud/cron.php'>)})
                        (C {<crontab>} {<-u>} {<www-data>} {<->})
                      ]
                      negated: F
                      stderr_indices: []
                    )
                    (command.Simple
                      words: [{<a2dissite>} {<nextcloud>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '2>'>
                          loc: (redir_loc.Fd fd:2)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<rm>} {<'/etc/apache2/sites-available/nextcloud.conf'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '2>'>
                          loc: (redir_loc.Fd fd:2)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<rm>} {<'/etc/nginx/sites-dietpi/nextcloud.config'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '2>'>
                          loc: (redir_loc.Fd fd:2)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<lighttpd-disable-mod>} {<dietpi-nextcloud>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '2>'>
                          loc: (redir_loc.Fd fd:2)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<rm>} {<'/etc/lighttpd/conf-available/99-dietpi-nextcloud.conf'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '2>'>
                          loc: (redir_loc.Fd fd:2)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<G_DIETPI-NOTIFY>} {<2>} 
                      {
                        (DQ 
                          <
'DietPi will perform an automated backup of your Nextcloud database and installation directory, which will be stored inside your Nextcloud data directory.'
                          > <Id.Lit_BadBackslash '\\'> 
                          <
'nThe data directory won\'t be removed. So you can at any time recover your whole Nextcloud instance.'
                          > <Id.Lit_BadBackslash '\\'> <'nRemove the data directory manually, if you don\'t need it anymore.'>
                        )
                      }
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'datadir='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<grep>} {<-m1>} {(DQ <'\'datadirectory\''>)} 
                                  {<'/var/www/nextcloud/config/config.php'>}
                                )
                                (C {<awk>} {(SQ <'{print $3}'>)})
                                (C {<sed>} {(DQ <'s/[\',]//g'>)})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_DollarName datadir))} 
                          {<Id.Lit_RBracket ']'>}
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'datadir='> name:datadir)
                              op: assign_op.Equal
                              rhs: 
                                {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA) <'/nextcloud_data'>)}
                              spids: [67524]
                            )
                          ]
                          redirects: []
                        )
                      ]
                    )
                    (C {<systemctl>} {<start>} {<mysql>})
                    (C {<mysql>} {<-e>} 
                      {
                        (DQ <'drop user '> 
                          (command_sub
                            left_token: <Id.Left_DollarParen '$('>
                            child: 
                              (command.Pipeline
                                children: [
                                  (C {<grep>} {<-m1>} {(DQ <'\'dbuser\''>)} 
                                    {<'/var/www/nextcloud/config/config.php'>}
                                  )
                                  (C {<awk>} {(SQ <'{print $3}'>)})
                                  (C {<sed>} {(DQ <'s/,//'>)})
                                ]
                                negated: F
                                stderr_indices: []
                              )
                            right: <Id.Eof_RParen _>
                          ) <'@'> 
                          (command_sub
                            left_token: <Id.Left_DollarParen '$('>
                            child: 
                              (command.Pipeline
                                children: [
                                  (C {<grep>} {<-m1>} {(DQ <'\'dbhost\''>)} 
                                    {<'/var/www/nextcloud/config/config.php'>}
                                  )
                                  (C {<awk>} {(SQ <'{print $3}'>)})
                                  (C {<sed>} {(DQ <'s/,//'>)})
                                ]
                                negated: F
                                stderr_indices: []
                              )
                            right: <Id.Eof_RParen _>
                          )
                        )
                      }
                    )
                    (command.Simple
                      words: [
                        {<mysql>}
                        {<-e>}
                        {
                          (DQ <'drop user '> 
                            (command_sub
                              left_token: <Id.Left_DollarParen '$('>
                              child: 
                                (command.Pipeline
                                  children: [
                                    (C {<grep>} {<-m1>} {(DQ <'\'dbuser\''>)} 
                                      {<'/var/www/nextcloud/config/config.php'>}
                                    )
                                    (C {<awk>} {(SQ <'{print $3}'>)})
                                    (C {<sed>} {(DQ <'s/,//'>)})
                                  ]
                                  negated: F
                                  stderr_indices: []
                                )
                              right: <Id.Eof_RParen _>
                            )
                          )
                        }
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '2>'>
                          loc: (redir_loc.Fd fd:2)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.AndOr
                      ops: [Id.Op_DAmp]
                      children: [
                        (C {<Id.Lit_LBracket '['>} {<-d>} 
                          {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mysql/nextcloud'>} {<Id.Lit_RBracket ']'>}
                        )
                        (command.Simple
                          words: [{<mysqldump>} {<nextcloud>}]
                          redirects: [
                            (redir
                              op: <Id.Redir_Great '>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: 
                                {(DQ ($ Id.VSub_DollarName datadir)) 
                                  <'/dietpi-nextcloud-database-backup.sql'>
                                }
                            )
                          ]
                          more_env: []
                          do_fork: T
                        )
                      ]
                    )
                    (C {<mysqladmin>} {<drop>} {<nextcloud>} {<-f>})
                    (C {<cp>} {<-a>} {<'/var/www/nextcloud/.'>} 
                      {(DQ ($ Id.VSub_DollarName datadir)) <'/dietpi-nextcloud-installation-backup'>}
                    )
                    (C {<rm>} {<-R>} {<'/var/www/nextcloud'>})
                  ]
                  spids: [67369 67383]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 83>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_AGP>} {<apache2>})]
                  spids: [67708 67722]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 85>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_AGP>} {<nginx>})]
                  spids: [67732 67746]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 84>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_AGP>} {<lighttpd>})]
                  spids: [67756 67770]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 88>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_AGP>} {<mariadb-server>})
                    (command.AndOr
                      ops: [Id.Op_DPipe]
                      children: [
                        (command.Simple
                          words: [{<rm>} {<'/var/lib/mysql'>}]
                          redirects: [
                            (redir
                              op: <Id.Redir_AndGreat '&>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {<'/dev/null'>}
                            )
                          ]
                          more_env: []
                          do_fork: T
                        )
                        (command.Simple
                          words: [{<rm>} {<-R>} {<'/var/lib/mysql'>}]
                          redirects: [
                            (redir
                              op: <Id.Redir_AndGreat '&>'>
                              loc: (redir_loc.Fd fd:1)
                              arg: {<'/dev/null'>}
                            )
                          ]
                          more_env: []
                          do_fork: T
                        )
                      ]
                    )
                    (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/mysql'>})
                  ]
                  spids: [67780 67794]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 87>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_AGP>} {<sqlite3>})]
                  spids: [67856 67870]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 91>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_AGP>} {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-redis>} 
                      {<redis-server>} {<redis-tools>}
                    )
                  ]
                  spids: [67880 67894]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 89>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {(DQ ($ Id.VSub_DollarName FP_PHP_BASE_DIR)) <'/fpm/pool.d/www.conf'>})
                    (command.Simple
                      words: [
                        {<rm>}
                        {(DQ ($ Id.VSub_DollarName FP_PHP_BASE_DIR)) <'/mods-available/dietpi.ini'>}
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '2>'>
                          loc: (redir_loc.Fd fd:2)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<G_AGP>} 
                      {(DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME)) <-> <Id.Lit_Star '*'>} {<libapache2-mod-> (DQ ($ Id.VSub_DollarName PHP_APT_PACKAGE_NAME))}
                    )
                    (C {<rm>} {<'/var/www/phpinfo.php'>})
                    (C {<rm>} {<'/var/www/apc.php'>})
                    (C {<rm>} {<'/var/www/opcache.php'>})
                    (command.Simple
                      words: [{<rm>} {<-R>} {<'/var/tmp/php_upload_tmp'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '2>'>
                          loc: (redir_loc.Fd fd:2)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [67911 67925]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 90>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<systemctl>} {<start>} {<mysql>})
                    (C {<mysqladmin>} {<drop>} {<phpmyadmin>} {<-f>})
                    (C {<mysql>} {<-e>} {(DQ <'drop user \'phpmyadmin\'@\'localhost\''>)})
                    (C {<G_AGP>} {<phpmyadmin>})
                  ]
                  spids: [67994 68008]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 54>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<systemctl>} {<start>} {<mysql>})
                    (C {<mysqladmin>} {<drop>} {<phpbb3>} {<-f>})
                    (C {<mysql>} {<-e>} {(DQ <'drop user phpbb3@localhost'>)})
                    (C {<rm>} {<-R>} {<'/var/www/phpBB3'>})
                  ]
                  spids: [68043 68057]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 115>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<webmin>})]
                  spids: [68094 68108]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 32>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<'/usr/bin/ympd'>})
                    (C {<rm>} {<'/etc/systemd/system/ympd.service'>})
                  ]
                  spids: [68122 68136]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 128>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.Simple
                      words: [{<apt-mark>} {<unhold>} {<mpd>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '1>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.AndOr
                      ops: [Id.Op_DAmp Id.Op_DPipe]
                      children: [
                        (command.DParen
                          child: 
                            (arith_expr.Binary
                              op_id: Id.Arith_DAmp
                              left: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName G_DISTRO)}
                                  right: {<Id.Lit_Digits 3>}
                                )
                              right: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_NEqual
                                  left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                  right: {<Id.Lit_Digits 3>}
                                )
                            )
                          redirects: []
                        )
                        (C {<G_AGP>} {<mpd>} {<libmpdclient2>})
                        (C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<mpd>} {<libmpdclient2>})
                      ]
                    )
                    (command.Simple
                      words: [{<userdel>} {<-f>} {<mpd>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<rm>} {<'/lib/systemd/system/mpd.service'>})
                    (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/.mpd_cache'>})
                  ]
                  spids: [68151 68165]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 121>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<'/etc/systemd/system/roonbridge.service'>})
                    (C {<rm>} {<-R>} {<'/etc/roonbridge'>})
                  ]
                  spids: [68251 68265]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 122>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<'/etc/systemd/system/node-red.service'>})
                    (C {<rm>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.node-red'>})
                    (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/node-red'>})
                    (C {<userdel>} {<-f>} {<nodered>})
                  ]
                  spids: [68282 68296]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 123>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Great
                                          left: {($ Id.VSub_DollarName G_DISTRO)}
                                          right: {<Id.Lit_Digits 4>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<G_AGP>} {<mosquitto>})]
                          spids: [68350 68364]
                        )
                      ]
                      else_action: [(C {<dpkg>} {<-P>} {<mosquitto>})]
                      redirects: []
                    )
                  ]
                  spids: [68332 68346]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 124>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<networkaudiod>})]
                  spids: [68394 68408]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 125>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_AGP>} {<tomcat8>})]
                  spids: [68426 68440]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 126>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_AGP>} {<openmediavault>})
                    (C {<rm>} {<'/etc/apt/sources.list.d/openmediavault.list'>})
                  ]
                  spids: [68450 68464]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 129>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<-R>} {<'/var/www/ompd'>})
                    (C {<systemctl>} {<start>} {<mysql>})
                    (C {<mysqladmin>} {<drop>} {<ompd>} {<-f>})
                    (C {<mysql>} {<-e>} {(DQ <'drop user ompd@localhost'>)})
                  ]
                  spids: [68479 68493]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 130>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_AGP>} {<python-pip>} {<python3-pip>})]
                  spids: [68530 68544]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 131>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<'/etc/systemd/system/blynkserver.service'>})
                    (C {<rm>} {<-R>} {<'/etc/blynkserver'>})
                  ]
                  spids: [68556 68570]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 132>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<'/etc/systemd/system/aria2.service'>})
                    (C {<rm>} {<'/usr/local/bin/aria2c'>})
                    (C {<rm>} {<-R>} {<'/var/www/aria2'>})
                    (C {<G_AGP>} {<aria2>})
                  ]
                  spids: [68588 68602]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 133>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<'/etc/systemd/system/yacy.service'>})
                    (C {<rm>} {<-R>} {<'/etc/yacy'>})
                  ]
                  spids: [68630 68644]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 134>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<'/etc/systemd/system/tonido.service'>})
                    (C {<rm>} {<-R>} {<'/etc/tonido'>})
                    (C {<rm>} {(DQ ($ Id.VSub_DollarName HOME)) <'/tonido'>})
                    (C {<rm>} {(DQ ($ Id.VSub_DollarName HOME)) <'/TonidoSync'>})
                    (C {<rm>} {(DQ ($ Id.VSub_DollarName HOME)) <'/TonidoSyncData'>})
                  ]
                  spids: [68663 68677]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 135>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_AGP>} {<darkice>} {<icecast2>})
                    (C {<rm>} {<'/etc/systemd/system/darkice.service'>})
                  ]
                  spids: [68725 68739]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 136>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.AndOr
                      ops: [Id.Op_DAmp Id.Op_DPipe]
                      children: [
                        (command.DParen
                          child: 
                            (arith_expr.Binary
                              op_id: Id.Arith_Great
                              left: {($ Id.VSub_DollarName G_DISTRO)}
                              right: {<Id.Lit_Digits 3>}
                            )
                          redirects: []
                        )
                        (C {<G_AGP>} {<motion>})
                        (C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<motion>})
                      ]
                    )
                    (C {<rm>} {<-R>} {<'/etc/motioneye'>})
                    (C {<rm>} {<'/etc/systemd/system/motioneye.service'>})
                    (C {<pip>} {<uninstall>} {<-y>} {<motioneye>})
                  ]
                  spids: [68757 68771]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 137>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_AGP>} {<cloudprint-service>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_DISTRO)}
                                          right: {<Id.Lit_Digits 3>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<rm>} {<'/etc/apt/sources.list.d/cloudprint.list'>})
                            (C {<G_AGUP>})
                          ]
                          spids: [68855 68869]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [68832 68846]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 138>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<-R>} {<'/etc/vhusbd'>})
                    (C {<rm>} {<'/etc/systemd/system/virtualhere.service'>})
                  ]
                  spids: [68886 68900]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 139>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<-R>} {<'/etc/sabnzbd'>})
                    (C {<rm>} {<'/etc/systemd/system/sabnzbd.service'>})
                  ]
                  spids: [68918 68932]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 140>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<libsdl2>} {<libsdl2-image>} {<libsdl2-mixer>} 
                      {<libsdl2-net>} {<libsdl2-ttf>} {<libsmpeg2>}
                    )
                  ]
                  spids: [68950 68964]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 141>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<-R>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/spotify-connect-web'>}
                    )
                    (C {<rm>} {<'/etc/systemd/system/spotify-connect-web.service'>})
                  ]
                  spids: [68988 69002]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 142>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<-R>} {<'/etc/couchpotato'>})
                    (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/couchpotato'>})
                    (C {<rm>} {<'/etc/init.d/couchpotato'>})
                  ]
                  spids: [69022 69036]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 143>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<systemctl>} {<start>} {<mysql>})
                    (C {<mysqladmin>} {<drop>} {<koel>} {<-f>})
                    (C {<mysql>} {<-e>} {(DQ <'drop user koel@localhost'>)})
                    (C {<rm>} {<-R>} {<'/var/www/koel'>})
                    (C {<rm>} {<'/etc/systemd/system/koel.service'>})
                  ]
                  spids: [69068 69082]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 144>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_AGP>} {<nzbdrone>})
                    (C {<rm>} {<'/etc/systemd/system/sonarr.service'>})
                    (C {<rm>} {<'/etc/apt/sources.list.d/sonarr.list'>})
                    (C {<G_AGUP>})
                  ]
                  spids: [69126 69140]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 145>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<-R>} {<'/opt/Radarr'>})
                    (C {<rm>} {<'/etc/systemd/system/radarr.service'>})
                  ]
                  spids: [69163 69177]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 146>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<-R>} {<'/opt/plexpy'>})
                    (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/plexpy'>})
                    (C {<rm>} {<'/etc/systemd/system/plexpy.service'>})
                  ]
                  spids: [69194 69208]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 147>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<-R>} {<'/opt/jackett'>})
                    (C {<rm>} {<'/etc/systemd/system/jackett.service'>})
                  ]
                  spids: [69235 69249]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 148>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_AGP>} {<mediacenter22>})]
                  spids: [69266 69280]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 149>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/nzbget'>})
                    (C {<rm>} {<'/etc/systemd/system/nzbget.service'>})
                  ]
                  spids: [69290 69304]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 155>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<-R>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/htpc-manager'>}
                    )
                    (C {<rm>} {<'/etc/systemd/system/htpc-manager.service'>})
                  ]
                  spids: [69324 69338]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 150>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<rm>} {<'/etc/apt/sources.list.d/mono-xamarin.list'>}) (C {<G_AGUP>})]
                  spids: [69358 69372]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 151>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_AGP>} {<nvidia-driver>} {<nvidia-xconfig>} 
                      {<libgl1-nvidia-glx> <Id.Lit_Colon ':'> <i386>}
                    )
                  ]
                  spids: [69390 69404]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 152>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_AGP>} {<avahi-daemon>})]
                  spids: [69420 69434]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 153>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/octoprint'>})
                    (C {<rm>} 
                      {
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: (C {<which>} {<octoprint>})
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.octoprint'>})
                    (C {<rm>} {<'/etc/systemd/system/octoprint.service'>})
                  ]
                  spids: [69444 69458]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 154>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/roonserver'>})
                    (C {<rm>} {<'/etc/systemd/system/roonserver.service'>})
                  ]
                  spids: [69497 69511]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 156>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_AGP>} {<steam>})
                    (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.steam'>})
                    (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/steam'>})
                  ]
                  spids: [69531 69545]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 119>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_AGP>} {<cava>})
                    (C {<rm>} {(DQ ($ Id.VSub_DollarName HOME) <'/.config/cava/config'>)})
                    (C {<rm>} {(DQ ($ Id.VSub_DollarName HOME) <'/cava.psf'>)})
                  ]
                  spids: [69575 69589]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 118>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_AGP>} {<mopidy>})
                    (C {<rm>} {<'/etc/apt/sources.list.d/mopidy.list'>})
                    (C {<pip>} {<uninstall>} {<-y>} {<Mopidy-MusicBox-Webclient>} {<Mopidy-Local-Images>})
                  ]
                  spids: [69615 69629]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 31>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_AGP>} {<kodi>})
                    (C {<G_AGP>} {<kodi-odroid>})
                    (C {<rm>} {<'/usr/share/applications/kodi.desktop'>})
                    (C {<rm>} 
                      {(word_part.TildeSub token:<Id.Lit_TildeLike '~'>) <'/Desktop/kodi.desktop'>}
                    )
                  ]
                  spids: [69656 69670]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 39>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_AGP>} {<minidlna>})]
                  spids: [69700 69714]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 51>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_AGP>} {<ibsdl1.2debian>} {<libsdl-net1.2>})
                    (C {<rm>} {<-R>} {<'/usr/local/games/opentyrian'>})
                    (C {<rm>} {<'/usr/share/applications/opentyrian.desktop'>})
                    (C {<rm>} 
                      {(word_part.TildeSub token:<Id.Lit_TildeLike '~'>) 
                        <'/Desktop/opentyrian.desktop'>
                      }
                    )
                  ]
                  spids: [69724 69738]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 59>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_AGP>} {<gpac>})
                    (C {<rm>} {<-R>} {<'/var/www/dietpicam'>})
                    (C {<rm>} {<'/opt/vc/bin/raspimjpeg'>})
                    (C {<rm>} {<'/usr/bin/raspimjpeg'>})
                    (C {<rm>} {<'/var/lib/dietpi/dietpi-software/services/raspimjpeg.service'>})
                    (C {<rm>} {<'/etc/raspimjpeg'>})
                  ]
                  spids: [69768 69782]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 45>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_AGP>} {<deluged>} {<deluge-web>} {<deluge-webui>} {<deluge-console>})
                    (C {<rm>} {<'/var/lib/dietpi/dietpi-software/services/deluge.service'>})
                    (C {<rm>} {<-R>} 
                      {(word_part.TildeSub token:<Id.Lit_TildeLike '~'>) <'/.config/deluge'>}
                    )
                  ]
                  spids: [69819 69833]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 94>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_AGP>} {<proftpd-basic>})]
                  spids: [69862 69876]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 96>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_AGP>} {<samba>} {<samba-common-bin>})]
                  spids: [69886 69900]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 95>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_AGP>} {<vsftpd>})]
                  spids: [69912 69926]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 109>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_AGP>} {<nfs-kernel-server>})]
                  spids: [69936 69950]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 67>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<'/usr/local/bin/noip2'>})
                    (C {<rm>} {<'/etc/systemd/system/noip2.service'>})
                  ]
                  spids: [69960 69974]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 106>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<-R>} {<'/var/www/raspcontrol'>})
                    (C {<rm>} {<-R>} {<'/etc/raspcontrol'>})
                  ]
                  spids: [69989 70003]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 63>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<rm>} {<-R>} {<'/var/www/linuxdash'>})]
                  spids: [70022 70036]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 93>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_AGP>} {<dnsmasq>})
                    (C {<pihole>} {<uninstall>})
                    (command.Simple
                      words: [{<chmod>} {<774>} {<'/etc/lighttpd/lighttpd.conf'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<rm>} {<-R>} {<'/etc/pihole'>})
                    (C {<rm>} {<-R>} {<'/etc/.pihole'>})
                    (C {<rm>} {<-R>} {<'/var/www/html/admin'>})
                    (C {<rm>} {<'/var/www/pihole'>})
                    (C {<rm>} {<'/var/www/admin'>})
                  ]
                  spids: [70048 70062]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DPipe
                                  left: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: {($ Id.VSub_DollarName index)}
                                      right: {<Id.Lit_Digits 33>}
                                    )
                                  right: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: {($ Id.VSub_DollarName index)}
                                      right: {<Id.Lit_Digits 34>}
                                    )
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<subsonic>})
                    (C {<rm>} {<-R>} {<'/var/subsonic'>})
                  ]
                  spids: [70130 70152]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 71>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<update-rc.d>} {<webiopi>} {<remove>})
                    (C {<rm>} {<-R>} {<'/etc/webiopi'>})
                    (C {<rm>} {<-R>} {<'/usr/share/webiopi'>})
                    (C {<rm>} {<'/usr/bin/webiopi'>})
                    (C {<rm>} {<'/etc/init.d/webiopi'>})
                  ]
                  spids: [70173 70187]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 68>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<-R>} {<'/etc/weaved'>})
                    (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName HOME)) <'/weaved_software'>})
                    (C {<rm>} {(DQ ($ Id.VSub_DollarName HOME)) <'/weaved_setup.bin'>})
                    (C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<weavedconnectd>})
                  ]
                  spids: [70223 70237]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 62>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<systemctl>} {<stop>} {<dietpi-cloudshell>})
                    (C {<rm>} {<'/etc/systemd/system/dietpi-cloudshell.service'>})
                    (C {<killall>} {<-w>} {<dietpi-cloudshell>})
                    (C {<'/DietPi/dietpi/dietpi-autostart'>} {<0>})
                  ]
                  spids: [70285 70299]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 98>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<update-rc.d>} {<haproxy>} {<remove>})
                    (C {<rm>} {<'/etc/init.d/haproxy'>})
                    (C {<rm>} {<-r>} {<'/etc/haproxy'>})
                  ]
                  spids: [70342 70356]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 35>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<logitechmediaserver>})
                    (C {<rm>} {<'/var/lib/dietpi/dietpi-software/services/squeezeboxserver.service'>})
                    (C {<rm>} {<-R>} {<'/var/lib/squeezeboxserver'>})
                    (C {<rm>} {<-R>} {<'/usr/share/squeezeboxserver'>})
                  ]
                  spids: [70390 70404]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 55>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<systemctl>} {<start>} {<mysql>})
                    (C {<mysqladmin>} {<drop>} {<wordpress>} {<-f>})
                    (C {<mysql>} {<-e>} {(DQ <'drop user wordpress@localhost'>)})
                    (C {<rm>} {<-R>} {<'/var/www/wordpress'>})
                  ]
                  spids: [70441 70455]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DPipe
                                  left: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DPipe
                                      left: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName index)}
                                          right: {<Id.Lit_Digits 27>}
                                        )
                                      right: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName index)}
                                          right: {<Id.Lit_Digits 28>}
                                        )
                                    )
                                  right: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: {($ Id.VSub_DollarName index)}
                                      right: {<Id.Lit_Digits 120>}
                                    )
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_AGP>} {<tightvncserver>})
                    (C {<G_AGP>} {<vnc4server>})
                    (C {<G_AGP>} {<x11vnc>})
                    (C {<G_AGP>} {<realvnc-vnc-server>})
                    (C {<G_AGP>} {<tigervnc-> <Id.Lit_Star '*'>})
                    (C {<rm>} {<'/etc/systemd/system/vncserver.service'>})
                    (C {<rm>} {<'/etc/init.d/vncserver'>})
                    (C {<rm>} {<'/usr/local/bin/vncserver'>})
                    (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.vnc'>})
                    (C {<systemctl>} {<disable>} {<vncserver-x11-serviced.service>})
                    (C {<systemctl>} {<disable>} {<vncserver-virtuald.service>})
                  ]
                  spids: [70493 70523]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 73>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_AGP>} {<fail2ban>})]
                  spids: [70601 70615]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 64>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<rm>} {<-R>} {<'/var/www/phpsysinfo'>})]
                  spids: [70625 70639]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 56>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<'/var/www/gallery/index.php'>})
                    (C {<rm>} {<-R>} {<'/var/www/gallery/_sfpg_data'>})
                  ]
                  spids: [70651 70665]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 40>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<-R>} {<'/var/www/ampache'>})
                    (C {<systemctl>} {<start>} {<mysql>})
                    (C {<mysqladmin>} {<drop>} {<ampache>} {<-f>})
                    (C {<mysql>} {<-e>} {(DQ <'drop user ampache@localhost'>)})
                  ]
                  spids: [70682 70696]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 117>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<'/etc/apt/sources.list.d/swupdate.openvpn.net.list'>})
                    (C {<pivpn>} {<-u>})
                    (C {<userdel>} {<-f>} {<pivpn>})
                  ]
                  spids: [70738 70752]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 97>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_AGP>} {<openvpn>})
                    (command.Simple
                      words: [{<rm>} {<-R>} {<'/etc/openvpn'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [70774 70788]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 92>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_GreatEqual
                                          left: {($ Id.VSub_DollarName G_DISTRO)}
                                          right: {<Id.Lit_Digits 4>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<G_AGP>} {<python-certbot-apache>} {<python-certbot-nginx>} {<certbot>})
                          ]
                          spids: [70827 70841]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.Simple
                      words: [{<rm>} {<-R>} {<'/etc/letsencrypt_scripts'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<rm>} {<-R>} {<'/etc/certbot_scripts'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [70809 70823]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 69>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_AGP>} {<python-rpi.gpio>} {<python3-rpi.gpio>})]
                  spids: [70880 70894]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 72>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_AGP>} {<i2c-tools>})
                    (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<i2c>} {<disable>})
                  ]
                  spids: [70906 70920]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 70>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.Simple
                      words: [{<rm>} {<-R>} {<'/root/wiringPi'> <Id.Lit_Star '*'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [70941 70955]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 60>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_AGP>} {<hostapd>} {<isc-dhcp-server>})
                    (command.Simple
                      words: [{<rm>} {<'/etc/dhcp/dhcpd.conf'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<rm>} {<'/etc/hostapd/hostapd.conf'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<rm>} {<'/etc/default/isc-dhcp-server'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<rm>} {<'/etc/default/hostapd'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<rm>} {<'/etc/iptables.ipv4.nat'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<rm>} {<'/usr/sbin/hostapd'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.Simple
                      words: [{<rm>} {<'/usr/sbin/hostapd_cli'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'wifi_index='> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: (C {<sed>} {<-n>} {<2p>} {<'/DietPi/dietpi/.network'>})
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                    (C {<sed>} {<-i>} {(SQ <'/allow-hotplug wlan/q0'>)} {<'/etc/network/interfaces'>})
                    (C {<sed>} {<-i>} 
                      {
                        (DQ <'/allow-hotplug wlan/c'> <Id.Lit_BadBackslash '\\'> 
                          <'#allow-hotplug wlan'> ($ Id.VSub_DollarName wifi_index)
                        )
                      } {<'/etc/network/interfaces'>}
                    )
                    (command.Simple
                      words: [{<cat>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_DLess '<<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: 
                            (redir_param.HereDoc
                              here_begin: {<_EOF_>}
                              here_end_span_id: 71148
                              stdin_parts: [
                                <'iface wlan'>
                                ($ Id.VSub_DollarName wifi_index)
                                <' inet dhcp\n'>
                                <'address 192.168.0.101\n'>
                                <'netmask 255.255.255.0\n'>
                                <'gateway 192.168.0.1\n'>
                                <'wireless-power off\n'>
                                <'wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf\n'>
                                <'#dns-nameservers 8.8.8.8 8.8.4.4\n'>
                              ]
                            )
                        )
                        (redir
                          op: <Id.Redir_DGreat '>>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/network/interfaces'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<iptables>} {<-F>})
                    (C {<iptables>} {<-t>} {<nat>} {<-F>})
                    (command.Simple
                      words: [{<iptables-save>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/etc/iptables.ipv4.nat'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [70972 70986]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 61>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_AGP>} {<tor>}) (C {<Uninstall_Software>} {<60>})]
                  spids: [71177 71191]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 37>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.Simple
                      words: [
                        {<rm>}
                        {<'/lib/systemd/system/shairport-sync.service'>}
                        {<'/usr/local/bin/shairport-sync'>}
                        {<'/usr/local/etc/shairport-sync.conf'> <Id.Lit_Star '*'>}
                        {<'/usr/local/share/man/man7/shairport-sync.7.gz'>}
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<userdel>} {<-f>} {<shairport-sync>})
                  ]
                  spids: [71211 71225]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 38>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_AGP>} {<brutefir>})
                    (C {<rm>} {<-R>} {<'/etc/BruteFIR'>})
                    (C {<rm>} {<'/var/lib/dietpi/dietpi-software/services/brutefir.service'>})
                    (C {<rm>} {<'/etc/asound.conf'>})
                    (C {<rm>} {<'/etc/modules-load.d/brutefir-alsa-loopback.conf'>})
                    (C {<rm>} {<'/etc/modprobe.d/brutefir-alsa-loopback.conf'>})
                  ]
                  spids: [71269 71283]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 48>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<-R>} {<'/var/www/pydio'>})
                    (C {<systemctl>} {<start>} {<mysql>})
                    (C {<mysqladmin>} {<drop>} {<pydio>} {<-f>})
                    (C {<mysql>} {<-e>} {(DQ <'drop user pydio@localhost'>)})
                  ]
                  spids: [71322 71336]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 36>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_AGP>} {<squeezelite>})
                    (C {<rm>} {<-R>} {<'/usr/bin/squeezelite'> <Id.Lit_Star '*'>})
                    (C {<rm>} {<'/etc/systemd/system/squeezelite.service'>})
                  ]
                  spids: [71378 71392]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 99>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<-R>} {<'/etc/emonhub'>})
                    (C {<rm>} {<'/etc/init.d/emonhub'>})
                    (C {<rm>} {<'/etc/default/emonhub'>})
                  ]
                  spids: [71416 71430]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 66>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<rpimonitor>})]
                  spids: [71452 71466]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 57>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<-R>} {<'/var/www/baikal'>})
                    (C {<systemctl>} {<start>} {<mysql>})
                    (C {<mysqladmin>} {<drop>} {<baikal>} {<-f>})
                    (C {<mysql>} {<-e>} {(DQ <'drop user baikal@localhost'>)})
                  ]
                  spids: [71480 71494]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 65>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<'/etc/systemd/system/netdata.service'>})
                    (C {<userdel>} {<-f>} {<netdata>})
                    (C {<groupdel>} {<netdata>})
                    (C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<netdata>})
                    (C {<rm>} {<'/usr/sbin/netdata'>})
                    (C {<rm>} {<-R>} {<'/etc/netdata'>})
                    (C {<rm>} {<-R>} {<'/usr/share/netdata'>})
                    (C {<rm>} {<-R>} {<'/usr/libexec/netdata'>})
                    (C {<rm>} {<-R>} {<'/var/cache/netdata'>})
                    (C {<rm>} {<-R>} {<'/var/log/netdata'>})
                  ]
                  spids: [71536 71550]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 43>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_AGP>} {<mumble-server>})]
                  spids: [71642 71656]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 41>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_AGP>} {<emby-server>} {<embymagick>})
                    (C {<rm>} {<'/etc/apt/sources.list.d/emby-server.list'>})
                    (C {<G_AGUP>})
                  ]
                  spids: [71666 71680]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 58>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<-R>} {<'/etc/openbazaar-server'>})
                    (C {<rm>} {<'/etc/systemd/system/openbazaar.service'>})
                  ]
                  spids: [71701 71715]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 42>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.AndOr
                      ops: [Id.Op_DAmp Id.Op_DPipe]
                      children: [
                        (command.DParen
                          child: 
                            (arith_expr.Binary
                              op_id: Id.Arith_DEqual
                              left: {($ Id.VSub_DollarName G_HW_ARCH)}
                              right: {<Id.Lit_Digits 10>}
                            )
                          redirects: []
                        )
                        (C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<plexmediaserver>} {<plexmediaserver-installer>})
                        (C {<G_AGP>} {<plexmediaserver> <Id.Lit_Star '*'>})
                      ]
                    )
                    (C {<rm>} {<-R>} {<'/var/lib/plexmediaserver'>})
                    (command.Simple
                      words: [{<rm>} {<'/etc/apt/sources.list.d/plex.list'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<G_AGUP>})
                  ]
                  spids: [71732 71746]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 52>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<-R>} {<'/etc/cuberite'>})
                    (C {<rm>} {<'/etc/systemd/system/cuberite.service'>})
                  ]
                  spids: [71803 71817]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 53>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName USERDATA_DIRECTORY)) <'/mineos'>})
                    (C {<rm>} {<-R>} {<'/var/games/minecraft'>})
                    (C {<rm>} {<'/etc/supervisor/conf.d/mineos.conf'>})
                    (C {<supervisorctl>} {<reload>})
                    (C {<rm>} {<'/usr/local/bin/mineos'>})
                    (C {<userdel>} {<-f>} {<mineos>})
                  ]
                  spids: [71834 71848]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 49>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<-R>} {<'/etc/gogs'>})
                    (C {<rm>} {<'/etc/systemd/system/gogs.service'>})
                    (C {<rm>} {<'/var/log/gogs_daemon.log'>})
                    (C {<rm>} {<'/var/log/gogs.log'>})
                    (C {<systemctl>} {<start>} {<mysql>})
                    (C {<mysqladmin>} {<drop>} {<gogs>} {<-f>})
                    (C {<mysql>} {<-e>} {(DQ <'drop user gogs@localhost'>)})
                  ]
                  spids: [71895 71909]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 46>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_AGP>} {<qbittorrent-nox>})
                    (C {<rm>} {<'/etc/systemd/system/qbittorrent.service'>})
                    (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.config/qBittorrent'>})
                  ]
                  spids: [71963 71977]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 50>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<-R>} {<'/etc/syncthing'>})
                    (command.Simple
                      words: [{<rm>} {<'/usr/bin/syncthing'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<rm>} {<'/etc/systemd/system/syncthing.service'>})
                    (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/syncthing'>})
                  ]
                  spids: [72003 72017]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 116>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<'/etc/systemd/system/sickrage.service'>})
                    (C {<rm>} {<-R>} {<'/etc/sickrage'>})
                  ]
                  spids: [72056 72070]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 107>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_AGP>} {<rtorrent>})
                    (C {<rm>} {<-R>} {<'/var/www/rutorrent'>})
                    (C {<rm>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.rtorrent.rc'>})
                    (C {<rm>} {<'/etc/systemd/system/rtorrent.service'>})
                    (C {<rm>} {<'/etc/.rutorrent-htaccess'>})
                    (C {<rm>} {<'/etc/nginx/sites-dietpi/rutorrent.config'>})
                    (C {<rm>} {<'/etc/apache2/sites-available/rutorrent.conf'>})
                  ]
                  spids: [72087 72101]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 108>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<-R>} {<'/etc/amiberry'>})
                    (C {<rm>} {<'/etc/systemd/system/amiberry.service'>})
                    (C {<rm>} {<'/etc/systemd/system/amiberry-sdl2.service'>})
                    (C {<'/DietPi/dietpi/dietpi-autostart'>} {<0>})
                  ]
                  spids: [72174 72188]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 112>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/dxx-rebirth/'> 
                        <Id.Lit_Star '*'>
                      }
                    )
                    (C {<rm>} {<-R>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) 
                        <'/dxx-rebirth/descent_1_game'>
                      }
                    )
                    (C {<rm>} {<-R>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) 
                        <'/dxx-rebirth/descent_2_game'>
                      }
                    )
                    (C {<rm>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.d1x-rebirth'>})
                    (C {<rm>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.d2x-rebirth'>})
                    (C {<rm>} {(DQ ($ Id.VSub_DollarName HOME)) <'/Desktop/dxx-rebirth.desktop'>})
                    (C {<rm>} {<'/usr/share/applications/dxx-rebirth.desktop'>})
                  ]
                  spids: [72220 72234]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 113>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<apt-mark>} {<unhold>} {<chromium>} {<chromedriver>})
                    (C {<rm>} {<'/etc/chromium.d/custom_flags'>})
                    (C {<rm>} {(DQ ($ Id.VSub_DollarName HOME)) <'/.chromium-browser.init'>})
                    (command.AndOr
                      ops: [Id.Op_DAmp Id.Op_DPipe]
                      children: [
                        (command.DParen
                          child: 
                            (arith_expr.Binary
                              op_id: Id.Arith_GreatEqual
                              left: {($ Id.VSub_DollarName G_DISTRO)}
                              right: {<Id.Lit_Digits 4>}
                            )
                          redirects: []
                        )
                        (C {<G_AGP>} {<chromium> <Id.Lit_Star '*'>})
                        (C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<chromium>} {<chromedriver>})
                      ]
                    )
                  ]
                  spids: [72302 72316]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 157>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<-R>} {<'/srv/homeassistant'>})
                    (C {<userdel>} {<-r>} {<-f>} {<homeassistant>})
                    (C {<groupdel>} {<homeassistant>})
                    (C {<rm>} {<'/etc/systemd/system/home-assistant.service'>})
                  ]
                  spids: [72379 72392]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 165>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<'/etc/systemd/system/gitea.service'>})
                    (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/gitea'>})
                    (C {<rm>} {<-R>} {<'/var/log/gitea'>})
                    (C {<systemctl>} {<start>} {<mysql>})
                    (C {<mysqladmin>} {<drop>} {<gitea>} {<-f>})
                    (C {<mysql>} {<-e>} {(DQ <'drop user gitea@localhost'>)})
                  ]
                  spids: [72437 72451]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 166>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<'/etc/systemd/system/pi-spc.service'>})
                    (C {<rm>} {<-R>} {<'/var/lib/dietpi/dietpi-software/installed/pi-spc'>})
                  ]
                  spids: [72517 72531]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 167>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_AGP>} {<raspotify>})
                    (C {<rm>} {<'/etc/apt/sources.list.d/raspotify.list'>})
                    (C {<G_AGUP>})
                  ]
                  spids: [72548 72562]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 168>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<echo>} {<-e>} {(DQ <pending>)})]
                  spids: [72580 72594]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 169>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<-R>} 
                      {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/voice-recognizer-raspi'>}
                    )
                    (C {<rm>} {<'/etc/systemd/system/voice-recognizer.service'>})
                    (C {<rm>} {<'/etc/systemd/system/alsa-init.service'>})
                    (C {<rm>} {<-R>} {<'/home/dietpi/assistant.json'>})
                  ]
                  spids: [72608 72622]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 170>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Reset_NTPD>}) (C {<G_AGP>} {<ntp>})]
                  spids: [72654 72668]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 158>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<systemctl>} {<stop>} {<minio.service>})
                    (C {<systemctl>} {<disable>} {<minio.service>})
                    (C {<rm>} {<'/usr/local/bin/minio'>})
                    (C {<rm>} {<'/etc/systemd/system/minio.service'>})
                    (C {<rm>} {<'/etc/default/minio'>})
                    (C {<userdel>} {<-r>} {<-f>} {<minio-user>})
                  ]
                  spids: [72681 72695]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 161>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<'/etc/init.d/bdd'>} {<stop>})
                    (C {<sleep>} {<2>})
                    (C {<killall>} {<--user>} {<bd>})
                    (C {<sleep>} {<2>})
                    (C {<rm>} {<'/etc/rc3.d/S99bdd'>})
                    (C {<rm>} {<'/etc/rc4.d/S99bdd'>})
                    (C {<rm>} {<'/etc/rc2.d/S99bdd'>})
                    (C {<rm>} {<'/etc/rc5.d/S99bdd'>})
                    (C {<rm>} {<'/etc/init.d/bdd'>})
                    (C {<userdel>} {<-r>} {<bd>})
                  ]
                  spids: [72752 72766]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 162>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName G_HW_ARCH)}
                                          right: {<Id.Lit_Digits 10>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<G_AGP>} {<docker-ce>})]
                          spids: [72844 72858]
                        )
                      ]
                      else_action: [(C {<G_AGP>} {<docker-engine>})]
                      redirects: []
                    )
                    (C {<rm>} {<-r>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)) <'/docker-data'>})
                    (C {<rm>} {<-r>} {<'/var/lib/docker'>})
                  ]
                  spids: [72826 72840]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 164>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<'/etc/systemd/system/nukkit.service'>})
                    (C {<rm>} {<-r>} {<'/usr/local/bin/nukkit'>})
                  ]
                  spids: [72912 72926]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 163>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<gmrender>})
                    (C {<rm>} {<'/etc/systemd/system/gmrender.service'>})
                  ]
                  spids: [72952 72966]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DPipe
                                  left: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: {($ Id.VSub_DollarName index)}
                                      right: {<Id.Lit_Digits 159>}
                                    )
                                  right: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: {($ Id.VSub_DollarName index)}
                                      right: {<Id.Lit_Digits 160>}
                                    )
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<rm>} {<-R>} {<'/var/www/allo'>})
                    (C {<systemctl>} {<start>} {<mysql>})
                    (C {<mysqladmin>} {<drop>} {<allo_db>} {<-f>})
                    (C {<mysql>} {<-e>} {(DQ <'drop user allo_db@localhost'>)})
                  ]
                  spids: [72989 73011]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 15>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_AGP>} {<tcpdump>})]
                  spids: [73058 73072]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 14>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_AGP>} {<nload>})]
                  spids: [73082 73096]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 13>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_AGP>} {<mtr-tiny>})]
                  spids: [73106 73120]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 11>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_AGP>} {<iptraf>})]
                  spids: [73130 73144]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 10>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_AGP>} {<iftop>})]
                  spids: [73154 73168]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 19>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_AGP>} {<jed>})]
                  spids: [73178 73192]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 3>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_AGP>} {<mc>})]
                  spids: [73202 73216]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 18>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_AGP>} {<emacs>})]
                  spids: [73226 73240]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DPipe
                                  left: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: {($ Id.VSub_DollarName index)}
                                      right: {<Id.Lit_Digits 20>}
                                    )
                                  right: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: {($ Id.VSub_DollarName i)}
                                      right: {<Id.Lit_Digits 21>}
                                    )
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_AGP>} {<vim>} {<vim-tiny>})]
                  spids: [73250 73272]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 127>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_AGP>} {<neovim>})]
                  spids: [73284 73298]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_DollarParen '$('>
                                                child: 
                                                  (command.Pipeline
                                                    children: [
                                                      (C {<dpkg>} {<-l>})
                                                      (C {<grep>} {<-ci>} {<-m1>} {(SQ <openssh-server>)})
                                                    ]
                                                    negated: F
                                                    stderr_indices: []
                                                  )
                                                right: <Id.Eof_RParen _>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<G_AGP>} {<openssh-client>})]
                          spids: [73330 73360]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [73308 73322]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<umount>} {<-f>} {<'/mnt/samba'>})
                    (C {<G_AGP>} {<smbclient>})
                    (C {<sed>} {<-i>} 
                      {
                        (SQ 
                          <
'/\\/mnt\\/samba/c\\#\\/mnt\\/samba . Please use dietpi-config and the Networking Options: NAS menu to setup this mount'
                          >
                        )
                      } {<'/etc/fstab'>}
                    )
                    (command.Simple
                      words: [
                        {<echo>}
                        {<-e>}
                        {
                          (DQ <'Samba client can be installed and setup by DietPi-Config.'> 
                            <Id.Lit_BadBackslash '\\'> <'nSimply run: dietpi-config and select the Networking Options: NAS/Misc menu'>
                          )
                        }
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/mnt/samba/readme.txt'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [73374 73388]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 111>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<urbackup-server>})
                    (C {<rm>} {<'/etc/systemd/system/urbackupsrv.service'>})
                    (C {<rm>} {<'/etc/default/urbackupsrv'>})
                    (C {<rm>} {<'/etc/logrotate.d/urbackupsrv'>})
                    (C {<rm>} {<'/usr/sbin/urbackupsrv'>})
                    (C {<rm>} {<'/usr/bin/urbackup_snapshot_helper'>})
                    (C {<rm>} {<'/usr/bin/urbackupsrv'>})
                    (C {<rm>} {<-R>} {<'/usr/share/urbackup'>})
                  ]
                  spids: [73439 73453]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 110>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<umount>} {<-f>} {<'/mnt/nfs_client'>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 109>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<G_AGP>} {<nfs-common>})]
                          spids: [73539 73558]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<sed>} {<-i>} 
                      {
                        (SQ 
                          <
'/\\/mnt\\/nfs_client/c\\#\\/mnt\\/nfs_client . Please use dietpi-config and the Networking Options: NAS menu to setup this mount'
                          >
                        )
                      } {<'/etc/fstab'>}
                    )
                    (command.Simple
                      words: [
                        {<echo>}
                        {<-e>}
                        {
                          (DQ <'NFS client can be installed and setup by DietPi-Config.'> 
                            <Id.Lit_BadBackslash '\\'> <'nSimply run: dietpi-config and select the Networking Options: NAS/Misc menu'>
                          )
                        }
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/mnt/nfs_client/readme.txt'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [73509 73523]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 16>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_AGP>} {<build-essential>})]
                  spids: [73608 73622]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 17>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_AGP>} {<git>})]
                  spids: [73632 73646]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 5>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_AGP>} {<alsa-utils>})]
                  spids: [73656 73670]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 6>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_AGP>} {<xcompmgr>} {<xterm>} {<xinit>} {<xauth>} {<xserver-xorg>} {<dbus-x11>} 
                      {<xfonts-base>} {<x11-xserver-utils>} {<x11-common>} {<x11-utils>}
                    )
                    (command.Simple
                      words: [{<rm>} {<'/etc/xdg/autostart/xcompmgr.desktop'>} {<'/etc/X11/xorg.conf'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [73680 73694]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 2>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<umount>} {<-f>} {<'/mnt/ftp_client'>})
                    (C {<G_AGP>} {<curlftpfs>})
                    (C {<sed>} {<-i>} 
                      {
                        (SQ 
                          <
'/\\/mnt\\/ftp_client/c\\#\\/mnt\\/ftp_client . Please use dietpi-config and the Networking Options: NAS menu to setup this mount'
                          >
                        )
                      } {<'/etc/fstab'>}
                    )
                    (command.Simple
                      words: [
                        {<echo>}
                        {<-e>}
                        {
                          (DQ <'FTP client mount can be installed and setup by DietPi-Config.'> 
                            <Id.Lit_BadBackslash '\\'> <'nSimply run: dietpi-config and select the Networking Options: NAS/Misc menu'>
                          )
                        }
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/mnt/ftp_client/readme.txt'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [73737 73751]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 7>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_AGP>} {<ffmpeg>})
                    (command.AndOr
                      ops: [Id.Op_DAmp]
                      children: [
                        (command.DParen
                          child: 
                            (arith_expr.Binary
                              op_id: Id.Arith_Less
                              left: {($ Id.VSub_DollarName G_HW_MODEL)}
                              right: {<Id.Lit_Digits 10>}
                            )
                          redirects: []
                        )
                        (C {<G_RUN_CMD>} {<dpkg>} {<-P>} {<libx264>} {<libmp3lame>} {<libfdk-aac>})
                      ]
                    )
                  ]
                  spids: [73804 73818]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 8>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_AGP>} {<openjdk-8-jdk>})
                    (command.Simple
                      words: [{<rm>} {<'/etc/apt/preferences.d/99-dietpi-openjdk-8-jdk'>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [73862 73876]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 104>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_AGP>} {<dropbear> <Id.Lit_Star '*'>})]
                  spids: [73895 73909]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 105>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_AGP>} {<openssh-> <Id.Lit_Star '*'>})
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 0>}
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [73952]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [73923 73937]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 103>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<sed>} {<-i>} {(SQ <'/\\/var\\/log/c\\#\\/var\\/log DietPi Ramlog Disabled'>)} 
                      {<'/etc/fstab'>}
                    )
                  ]
                  spids: [73961 73975]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 101>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_AGP>} {<logrotate>})]
                  spids: [73991 74005]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 102>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_AGP>} {<rsyslog>})]
                  spids: [74015 74029]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 9>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_AGP>} {<nodejs>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {<-f>} 
                                      {<'/etc/apt/sources.list.d/nodesource_nodejs.list'>} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<rm>} {<'/etc/apt/sources.list.d/nodesource_nodejs.list'>})
                            (C {<G_AGUP>})
                          ]
                          spids: [74067 74078]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<rm>} {<'/usr/local/bin/node'>})
                  ]
                  spids: [74039 74053]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName index)}
                                  right: {<Id.Lit_Digits 4>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<G_AGP>} {<vifm>})]
                  spids: [74101 74115]
                )
              ]
              else_action: [
                (C {<G_DIETPI-NOTIFY>} {<2>} 
                  {
                    (DQ <'Software index '> ($ Id.VSub_DollarName index) 
                      <' is unknown, or, has no removal code.'>
                    )
                  }
                )
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'valid_input='> name:valid_input)
                      op: assign_op.Equal
                      rhs: {<0>}
                      spids: [74140]
                    )
                  ]
                  redirects: []
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} 
                              {<'/DietPi/dietpi/.uninstalled'>} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.Simple
                      words: [
                        {<echo>}
                        {<-e>}
                        {
                          (DQ <'DietPi Uninstall Software Log'> <Id.Lit_BadBackslash '\\'> 
                            <n----------------------> <Id.Lit_BadBackslash '\\'> <n>
                          )
                        }
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/DietPi/dietpi/.uninstalled'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                  ]
                  spids: [74157 74170]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.Simple
              words: [
                {<echo>}
                {<-e>}
                {
                  (DQ ($ Id.VSub_DollarName index) <' | '> 
                    (command_sub
                      left_token: <Id.Left_DollarParen '$('>
                      child: (C {<date>})
                      right: <Id.Eof_RParen _>
                    )
                  )
                }
              ]
              redirects: [
                (redir
                  op: <Id.Redir_DGreat '>>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {<'/DietPi/dietpi/.uninstalled'>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.IndexedName
                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                      name: aSOFTWARE_INSTALL_STATE
                      index: {($ Id.VSub_DollarName index)}
                    )
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [74218]
                )
              ]
              redirects: []
            )
            (C {<G_ERROR_HANDLER_RESET>})
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Uninstall_Software_Finalize
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<G_DIETPI-NOTIFY>} {<3>} {<DietPi-Software>} 
              {(DQ <'Removing packages that are no longer required'>)}
            )
            (C {<apt-get>} {<autoremove>} {<--purge>} {<-y>})
            (C {<local>} {<Id.Lit_VarLike 'fp_temp='> (SQ <'/tmp/.dietpi-uninstall_dpkg'>)})
            (command.Pipeline
              children: [
                (C {<dpkg>} {<--get-selections>})
                (command.Simple
                  words: [{<awk>} {(SQ <'{print $1}'>)}]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {(DQ ($ Id.VSub_DollarName fp_temp))}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
              ]
              negated: F
              stderr_indices: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DAmp
                                  left: 
                                    (arith_expr.Unary
                                      op_id: Id.Arith_Bang
                                      child: 
                                        {
                                          (command_sub
                                            left_token: <Id.Left_DollarParen '$('>
                                            child: 
                                              (C {<grep>} {<-ci>} {<-m1>} {(SQ <'^openssh-server'>)} 
                                                {(DQ ($ Id.VSub_DollarName fp_temp))}
                                              )
                                            right: <Id.Eof_RParen _>
                                          )
                                        }
                                    )
                                  right: 
                                    (arith_expr.Unary
                                      op_id: Id.Arith_Bang
                                      child: 
                                        {
                                          (command_sub
                                            left_token: <Id.Left_DollarParen '$('>
                                            child: 
                                              (C {<grep>} {<-ci>} {<-m1>} {(SQ <'^dropbear'>)} 
                                                {(DQ ($ Id.VSub_DollarName fp_temp))}
                                              )
                                            right: <Id.Eof_RParen _>
                                          )
                                        }
                                    )
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INDEX_SSHSERVER_CURRENT='>
                              name: INDEX_SSHSERVER_CURRENT
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [74362]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INDEX_SSHSERVER_TARGET='>
                              name: INDEX_SSHSERVER_TARGET
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [74366]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [74311 74358]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DAmp
                                  left: 
                                    (arith_expr.Unary
                                      op_id: Id.Arith_Bang
                                      child: 
                                        {
                                          (command_sub
                                            left_token: <Id.Left_DollarParen '$('>
                                            child: 
                                              (C {<grep>} {<-ci>} {<-m1>} {(SQ <'^samba$'>)} 
                                                {(DQ ($ Id.VSub_DollarName fp_temp))}
                                              )
                                            right: <Id.Eof_RParen _>
                                          )
                                        }
                                    )
                                  right: 
                                    (arith_expr.Unary
                                      op_id: Id.Arith_Bang
                                      child: 
                                        {
                                          (command_sub
                                            left_token: <Id.Left_DollarParen '$('>
                                            child: 
                                              (C {<grep>} {<-ci>} {<-m1>} {(SQ <'^proftpd-basic'>)} 
                                                {(DQ ($ Id.VSub_DollarName fp_temp))}
                                              )
                                            right: <Id.Eof_RParen _>
                                          )
                                        }
                                    )
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INDEX_FILESERVER_CURRENT='>
                              name: INDEX_FILESERVER_CURRENT
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [74426]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INDEX_FILESERVER_TARGET='>
                              name: INDEX_FILESERVER_TARGET
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [74430]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [74375 74422]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DAmp
                                  left: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DAmp
                                      left: 
                                        {
                                          (command_sub
                                            left_token: <Id.Left_DollarParen '$('>
                                            child: 
                                              (C {<grep>} {<-ci>} {<-m1>} {(SQ <'#/var/log'>)} 
                                                {<'/etc/fstab'>}
                                              )
                                            right: <Id.Eof_RParen _>
                                          )
                                        }
                                      right: 
                                        (arith_expr.Unary
                                          op_id: Id.Arith_Bang
                                          child: 
                                            {
                                              (command_sub
                                                left_token: <Id.Left_DollarParen '$('>
                                                child: 
                                                  (C {<grep>} {<-ci>} {<-m1>} {(SQ <'^rsyslog'>)} 
                                                    {(DQ ($ Id.VSub_DollarName fp_temp))}
                                                  )
                                                right: <Id.Eof_RParen _>
                                              )
                                            }
                                        )
                                    )
                                  right: 
                                    (arith_expr.Unary
                                      op_id: Id.Arith_Bang
                                      child: 
                                        {
                                          (command_sub
                                            left_token: <Id.Left_DollarParen '$('>
                                            child: 
                                              (C {<grep>} {<-ci>} {<-m1>} {(SQ <'^logrotate'>)} 
                                                {(DQ ($ Id.VSub_DollarName fp_temp))}
                                              )
                                            right: <Id.Eof_RParen _>
                                          )
                                        }
                                    )
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INDEX_LOGGING_CURRENT='>
                              name: INDEX_LOGGING_CURRENT
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [74507]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INDEX_LOGGING_TARGET='>
                              name: INDEX_LOGGING_TARGET
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [74511]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [74439 74503]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<rm>} {(DQ ($ Id.VSub_DollarName fp_temp))})
            (C {<systemctl>} {<daemon-reload>})
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Run_Installations
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<Check_NTPD_Status>})
            (command.Simple
              words: [{<setterm>} {<-blank>} {<0>} {<-powersave>} {<off>}]
              redirects: [(redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})]
              more_env: []
              do_fork: T
            )
            (C {<'/DietPi/dietpi/dietpi-services'>} {<unmask>} {<all>})
            (C {<'/DietPi/dietpi/dietpi-services'>} {<stop>})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName G_DIETPI_INSTALL_STAGE)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<'/DietPi/dietpi/func/dietpi-set_dphys-swapfile'>} 
                      {
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: 
                            (command.Pipeline
                              children: [
                                (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_SWAPFILE_SIZE='>)} 
                                  {<'/DietPi/dietpi.txt'>}
                                )
                                (C {<sed>} {(SQ <'s/.*=//'>)})
                              ]
                              negated: F
                              stderr_indices: []
                            )
                          right: <Id.Eof_RParen _>
                        )
                      }
                    )
                  ]
                  spids: [74611 74625]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<Create_UserContent_Folders>})
            (C {<cd>} {(DQ ($ Id.VSub_DollarName HOME))})
            (C {<Banner_Apt_Update>})
            (C {<apt-get>} {<clean>})
            (C {<G_AGUP>})
            (C {<G_DIETPI-NOTIFY>} {<2>} 
              {(DQ <'Running apt simulation to check for errors, please wait...'>)}
            )
            (C {<local>} {<Id.Lit_VarLike 'package_to_test='> (SQ <bash-doc>)})
            (C {<G_AGI>} {($ Id.VSub_DollarName package_to_test)} {<-s>})
            (C {<Banner_Setup>})
            (C {<Banner_Apt_Update>})
            (C {<G_AGUG>})
            (C {<mkdir>} {<-p>} {<'/var/lib/dietpi/dietpi-software/services'>})
            (C {<chmod>} {<-R>} {<Id.Lit_Other '+'> <x>} {<'/var/lib/dietpi/dietpi-software/services'>})
            (C {<Install_Disable_Requires_UserInput>})
            (C {<Apply_FileServer_Choices>})
            (C {<Apply_SSHServer_Choices>})
            (C {<Apply_Logging_Choices>})
            (C {<Apply_Webserver_Preference>})
            (C {<Install_Flag_Prereq_Software>})
            (C {<'/DietPi/dietpi/dietpi-services'>} {<stop>})
            (C {<Install_Linux_Software>})
            (C {<'/DietPi/dietpi/dietpi-services'>} {<stop>})
            (C {<Install_Dietpi_Software>})
            (C {<Uninstall_NonSelected_Choices>})
            (C {<'/DietPi/dietpi/dietpi-services'>} {<stop>})
            (C {<Banner_Configs>})
            (C {<Install_Apply_Configs>})
            (command.Simple
              words: [{<Install_Apply_Permissions>}]
              redirects: [
                (redir
                  op: <Id.Redir_AndGreat '&>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {<'/dev/null'>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'autostart_current='> 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: (C {<cat>} {<'/DietPi/dietpi/.dietpi-autostart_index'>})
                  right: <Id.Eof_RParen _>
                )
              }
            )
            (C {<'/DietPi/dietpi/dietpi-autostart'>} {($ Id.VSub_DollarName autostart_current)})
            (C {<'/DietPi/dietpi/dietpi-services'>} {<dietpi_controlled>})
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 0>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_Less
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {($ Id.VSub_DollarName i)}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                      name: aSOFTWARE_INSTALL_STATE
                                      index: {($ Id.VSub_DollarName i)}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<2>}
                                  spids: [74947]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [74924 74943]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (C {<Install_Apply_GPU_Settings>})
            (C {<Write_InstallFileList>})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName G_DIETPI_INSTALL_STAGE)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} 
                                      {(DQ ($ Id.VSub_DollarName AUTOINSTALL_TIMEZONE))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <'Europe/London'>)} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<echo>} {<-e>} 
                              {
                                (DQ <Id.Lit_BadBackslash '\\'> <'nDietPi: Setting Timezone = '> 
                                  ($ Id.VSub_DollarName AUTOINSTALL_TIMEZONE)
                                )
                              }
                            )
                            (C {<rm>} {<'/etc/timezone'>})
                            (C {<rm>} {<'/etc/localtime'>})
                            (C {<ln>} {<-fs>} 
                              {<'/usr/share/zoneinfo/'> ($ Id.VSub_DollarName AUTOINSTALL_TIMEZONE)} {<'/etc/localtime'>}
                            )
                            (C {<dpkg-reconfigure>} {<-f>} {<noninteractive>} {<tzdata>})
                          ]
                          spids: [75006 75024]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} 
                                      {(DQ ($ Id.VSub_DollarName AUTOINSTALL_LANGUAGE))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <en_GB.UTF-8>)} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<G_DIETPI-NOTIFY>} {<2>} 
                              {
                                (DQ <'Setting Locale '> ($ Id.VSub_DollarName AUTOINSTALL_LANGUAGE) 
                                  <'. Please wait'>
                                )
                              }
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<Id.Lit_LBracket '['>} {<-z>} 
                                              {(DQ ($ Id.VSub_DollarName AUTOINSTALL_LANGUAGE))} {<Id.Lit_RBracket ']'>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'AUTOINSTALL_LANGUAGE='>
                                              name: AUTOINSTALL_LANGUAGE
                                            )
                                          op: assign_op.Equal
                                          rhs: {(SQ <en_GB.UTF-8>)}
                                          spids: [75132]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [75115 75128]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (C {<'/DietPi/dietpi/func/dietpi-set_software'>} {<locale>} 
                              {(DQ ($ Id.VSub_DollarName AUTOINSTALL_LANGUAGE))}
                            )
                          ]
                          spids: [75077 75095]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} 
                                      {(DQ ($ Id.VSub_DollarName AUTOINSTALL_KEYBOARD))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <gb>)} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<G_DIETPI-NOTIFY>} {<2>} 
                              {
                                (DQ <'Setting Keyboard '> ($ Id.VSub_DollarName AUTOINSTALL_KEYBOARD) 
                                  <'. Please wait...'> <Id.Lit_BadBackslash '\\'> <n>
                                )
                              }
                            )
                            (C {<sed>} {<-i>} 
                              {(SQ <'/XKBLAYOUT=/c XKBLAYOUT="'>) 
                                (DQ ($ Id.VSub_DollarName AUTOINSTALL_KEYBOARD)) (SQ <'"'>)
                              } {<'/etc/default/keyboard'>}
                            )
                          ]
                          spids: [75165 75183]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 1>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 2>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<'/DietPi/dietpi/func/dietpi-set_smbclient'>} {<1>})]
                          spids: [75230 75249]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 2>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 2>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<'/DietPi/dietpi/func/dietpi-set_curlftpfs'>} {<1>})]
                          spids: [75263 75282]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<local>} {<Id.Lit_VarLike 'run_custom_script='> <0>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {<-f>} 
                                      {<'/boot/Automation_Custom_Script.sh'>} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_DESCRIPTION='>
                                      name: INSTALL_DESCRIPTION
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <'Automation - Local Custom Script'>)}
                                  spids: [75321]
                                )
                              ]
                              redirects: []
                            )
                            (C {<Banner_Installing>})
                            (C {<cp>} {<'/boot/Automation_Custom_Script.sh'>} 
                              {<'/root/AUTO_CustomScript.sh'>}
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'run_custom_script='>
                                      name: run_custom_script
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [75338]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [75306 75317]
                        )
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} 
                                      {(DQ ($ Id.VSub_DollarName AUTOINSTALL_CUSTOMSCRIPTURL))} {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ <0>)} {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_DESCRIPTION='>
                                      name: INSTALL_DESCRIPTION
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <'Automation - Online Custom Script'>)}
                                  spids: [75369]
                                )
                              ]
                              redirects: []
                            )
                            (C {<Banner_Installing>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_URL_ADDRESS='>
                                      name: INSTALL_URL_ADDRESS
                                    )
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_DollarName AUTOINSTALL_CUSTOMSCRIPTURL)}
                                  spids: [75380]
                                )
                              ]
                              redirects: []
                            )
                            (C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))})
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_QMark '?')}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<wget>} {(DQ ($ Id.VSub_DollarName INSTALL_URL_ADDRESS))} {<-O>} 
                                      {<'/root/AUTO_CustomScript.sh'>}
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'run_custom_script='>
                                              name: run_custom_script
                                            )
                                          op: assign_op.Equal
                                          rhs: {<1>}
                                          spids: [75429]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [75396 75410]
                                )
                              ]
                              else_action: [
                                (command.Simple
                                  words: [
                                    {<echo>}
                                    {<-e>}
                                    {
                                      (DQ <'Automated Custom Script URL Error:'> 
                                        <Id.Lit_BadBackslash '\\'> <'n '> ($ Id.VSub_DollarName AUTOINSTALL_CUSTOMSCRIPTURL) <' is offline and/or unreachable'>
                                      )
                                    }
                                  ]
                                  redirects: [
                                    (redir
                                      op: <Id.Redir_DGreat '>>'>
                                      loc: (redir_loc.Fd fd:1)
                                      arg: {(DQ ($ Id.VSub_DollarName FP_DIETPIAUTOMATION_LOG))}
                                    )
                                  ]
                                  more_env: []
                                  do_fork: T
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [75347 75365]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: {($ Id.VSub_DollarName run_custom_script)}
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/root/AUTO_CustomScript.sh'>})
                            (C {<'/root/AUTO_CustomScript.sh'>})
                            (C {<local>} {<Id.Lit_VarLike 'result='> ($ Id.VSub_QMark '?')})
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName result)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.Simple
                                      words: [
                                        {<echo>}
                                        {<-e>}
                                        {
                                          (DQ <'Automated custom script executed succesfully:'> 
                                            <Id.Lit_BadBackslash '\\'> <'n - Filepath = /root/AUTO_CustomScript.sh'> <Id.Lit_BadBackslash '\\'> <'n - URL = '> 
                                            ($ Id.VSub_DollarName AUTOINSTALL_CUSTOMSCRIPTURL)
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (redir
                                          op: <Id.Redir_DGreat '>>'>
                                          loc: (redir_loc.Fd fd:1)
                                          arg: {(DQ ($ Id.VSub_DollarName FP_DIETPIAUTOMATION_LOG))}
                                        )
                                      ]
                                      more_env: []
                                      do_fork: T
                                    )
                                  ]
                                  spids: [75497 75511]
                                )
                              ]
                              else_action: [
                                (command.Simple
                                  words: [
                                    {<echo>}
                                    {<-e>}
                                    {
                                      (DQ <'Automated Custom Script Error:'> 
                                        <Id.Lit_BadBackslash '\\'> <'n - Exit code = '> ($ Id.VSub_DollarName result) <Id.Lit_BadBackslash '\\'> 
                                        <'n - Filepath = /root/AUTO_CustomScript.sh'> <Id.Lit_BadBackslash '\\'> <'n - URL = '> ($ Id.VSub_DollarName AUTOINSTALL_CUSTOMSCRIPTURL)
                                      )
                                    }
                                  ]
                                  redirects: [
                                    (redir
                                      op: <Id.Redir_DGreat '>>'>
                                      loc: (redir_loc.Fd fd:1)
                                      arg: {(DQ ($ Id.VSub_DollarName FP_DIETPIAUTOMATION_LOG))}
                                    )
                                  ]
                                  more_env: []
                                  do_fork: T
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [75466 75476]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<'/DietPi/dietpi/dietpi-autostart'>} 
                      {($ Id.VSub_DollarName AUTOINSTALL_AUTOSTARTTARGET)}
                    )
                  ]
                  spids: [74984 74998]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.Simple
              words: [{<echo>} {<1>}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {<'/DietPi/dietpi/.install_stage'>}
                )
              ]
              more_env: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'AUTOINSTALL_ENABLED='>
              name: AUTOINSTALL_ENABLED
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [75616]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'AUTOINSTALL_SSHINDEX='>
              name: AUTOINSTALL_SSHINDEX
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [75621]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'AUTOINSTALL_FILESERVERINDEX='>
              name: AUTOINSTALL_FILESERVERINDEX
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [75625]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'AUTOINSTALL_LOGGINGINDEX='>
              name: AUTOINSTALL_LOGGINGINDEX
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [75629]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'AUTOINSTALL_WEBSERVERINDEX='>
              name: AUTOINSTALL_WEBSERVERINDEX
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [75633]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'AUTOINSTALL_AUTOSTARTTARGET='>
              name: AUTOINSTALL_AUTOSTARTTARGET
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [75638]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'AUTOINSTALL_TIMEZONE='>
              name: AUTOINSTALL_TIMEZONE
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [75643]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'AUTOINSTALL_LANGUAGE='>
              name: AUTOINSTALL_LANGUAGE
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [75647]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'AUTOINSTALL_KEYBOARD='>
              name: AUTOINSTALL_KEYBOARD
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [75651]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: 
            (sh_lhs_expr.Name
              left: <Id.Lit_VarLike 'AUTOINSTALL_CUSTOMSCRIPTURL='>
              name: AUTOINSTALL_CUSTOMSCRIPTURL
            )
          op: assign_op.Equal
          rhs: {<0>}
          spids: [75656]
        )
      ]
      redirects: []
    )
    (command.ShFunction
      name: FirstRun_Automation_Init
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'AUTOINSTALL_ENABLED='>
                      name: AUTOINSTALL_ENABLED
                    )
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<cat>} {<'/DietPi/dietpi.txt'>})
                              (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_AUTOMATED='>)})
                              (C {<sed>} {(SQ <'s/.*=//'>)})
                            ]
                            negated: F
                            stderr_indices: []
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [75672]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'AUTOINSTALL_AUTOSTARTTARGET='>
                      name: AUTOINSTALL_AUTOSTARTTARGET
                    )
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<cat>} {<'/DietPi/dietpi.txt'>})
                              (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_AUTOSTART_TARGET_INDEX='>)})
                              (C {<sed>} {(SQ <'s/.*=//'>)})
                            ]
                            negated: F
                            stderr_indices: []
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [75699]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'AUTOINSTALL_SSHINDEX='>
                      name: AUTOINSTALL_SSHINDEX
                    )
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<cat>} {<'/DietPi/dietpi.txt'>})
                              (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_SSH_SERVER_INDEX='>)})
                              (C {<sed>} {(SQ <'s/.*=//'>)})
                            ]
                            negated: F
                            stderr_indices: []
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [75727]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'AUTOINSTALL_FILESERVERINDEX='>
                      name: AUTOINSTALL_FILESERVERINDEX
                    )
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<cat>} {<'/DietPi/dietpi.txt'>})
                              (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_FILE_SERVER_INDEX='>)})
                              (C {<sed>} {(SQ <'s/.*=//'>)})
                            ]
                            negated: F
                            stderr_indices: []
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [75753]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'AUTOINSTALL_LOGGINGINDEX='>
                      name: AUTOINSTALL_LOGGINGINDEX
                    )
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<cat>} {<'/DietPi/dietpi.txt'>})
                              (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_LOGGING_INDEX='>)})
                              (C {<sed>} {(SQ <'s/.*=//'>)})
                            ]
                            negated: F
                            stderr_indices: []
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [75779]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'AUTOINSTALL_WEBSERVERINDEX='>
                      name: AUTOINSTALL_WEBSERVERINDEX
                    )
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<cat>} {<'/DietPi/dietpi.txt'>})
                              (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_WEB_SERVER_INDEX='>)})
                              (C {<sed>} {(SQ <'s/.*=//'>)})
                            ]
                            negated: F
                            stderr_indices: []
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [75805]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'AUTOINSTALL_TIMEZONE='>
                      name: AUTOINSTALL_TIMEZONE
                    )
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<cat>} {<'/DietPi/dietpi.txt'>})
                              (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_TIMEZONE='>)})
                              (C {<sed>} {(SQ <'s/.*=//'>)})
                            ]
                            negated: F
                            stderr_indices: []
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [75832]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'AUTOINSTALL_LANGUAGE='>
                      name: AUTOINSTALL_LANGUAGE
                    )
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<cat>} {<'/DietPi/dietpi.txt'>})
                              (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_LOCALE='>)})
                              (C {<sed>} {(SQ <'s/.*=//'>)})
                            ]
                            negated: F
                            stderr_indices: []
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [75859]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'AUTOINSTALL_KEYBOARD='>
                      name: AUTOINSTALL_KEYBOARD
                    )
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<cat>} {<'/DietPi/dietpi.txt'>})
                              (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_KEYBOARD_LAYOUT='>)})
                              (C {<sed>} {(SQ <'s/.*=//'>)})
                            ]
                            negated: F
                            stderr_indices: []
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [75886]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'AUTOINSTALL_CUSTOMSCRIPTURL='>
                      name: AUTOINSTALL_CUSTOMSCRIPTURL
                    )
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Pipeline
                            children: [
                              (C {<cat>} {<'/DietPi/dietpi.txt'>})
                              (C {<grep>} {<-m1>} {(SQ <'^AUTO_SETUP_CUSTOM_SCRIPT_EXEC='>)})
                              (C {<sed>} {(SQ <'s/AUTO_SETUP_CUSTOM_SCRIPT_EXEC=//'>)})
                            ]
                            negated: F
                            stderr_indices: []
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [75914]
                )
              ]
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: FirstRun_Automation_Set
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_GreatEqual
                                  left: {($ Id.VSub_DollarName AUTOINSTALL_ENABLED)}
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_DIETPI-NOTIFY>} {<3>} {<DietPi-Software>} 
                      {(DQ <'Running automated installation'>)}
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'TARGETMENUID='>
                              name: TARGETMENUID
                            )
                          op: assign_op.Equal
                          rhs: {<-1>}
                          spids: [75990]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'GOSTARTINSTALL='>
                              name: GOSTARTINSTALL
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [75999]
                        )
                      ]
                      redirects: []
                    )
                    (command.WhileUntil
                      keyword: <Id.KW_While while>
                      cond: (condition.Shell commands:[(C {<read>} {<-r>} {<line>})])
                      body: 
                        (command.DoGroup
                          children: [
                            (C {<local>} 
                              {<Id.Lit_VarLike 'index='> 
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: 
                                    (command.Pipeline
                                      children: [
                                        (C {<echo>} {<-e>} {(DQ ($ Id.VSub_DollarName line))})
                                        (C {<grep>} {(SQ <'^AUTO_SETUP_INSTALL_SOFTWARE_ID='>)})
                                        (C {<sed>} {(SQ <'s/[^0-9]*//g'>)})
                                      ]
                                      negated: F
                                      stderr_indices: []
                                    )
                                  right: <Id.Eof_RParen _>
                                )
                              }
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DBracket
                                              expr: 
                                                (bool_expr.Binary
                                                  op_id: Id.BoolBinary_EqualTilde
                                                  left: {($ Id.VSub_DollarName index)}
                                                  right: 
                                                    {<Id.Lit_Other '^'> <-> <Id.Lit_Other '?'> 
                                                      <Id.Lit_Other '['> <0-9> <Id.Lit_Other ']'> <Id.Lit_Other '+'> <Id.Lit_Other '$'>
                                                    }
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.IndexedName
                                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                              name: aSOFTWARE_INSTALL_STATE
                                              index: {($ Id.VSub_DollarName index)}
                                            )
                                          op: assign_op.Equal
                                          rhs: {<1>}
                                          spids: [76082]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (C {<G_DIETPI-NOTIFY>} {<2>} 
                                      {
                                        (DQ <'Automation: '> 
                                          (braced_var_sub
                                            left: <Id.Left_DollarBrace '${'>
                                            token: <Id.VSub_Name aSOFTWARE_WHIP_NAME>
                                            var_name: aSOFTWARE_WHIP_NAME
                                            bracket_op: 
                                              (bracket_op.ArrayIndex
                                                expr: {($ Id.VSub_DollarName index)}
                                              )
                                            right: <Id.Right_DollarBrace '}'>
                                          ) <'. Flagged for installation.'>
                                        )
                                      }
                                    )
                                  ]
                                  spids: [76058 76078]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                        )
                      redirects: [
                        (redir
                          op: <Id.Redir_Less '<'>
                          loc: (redir_loc.Fd fd:0)
                          arg: {<'/DietPi/dietpi.txt'>}
                        )
                      ]
                    )
                  ]
                  spids: [75956 75970]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INDEX_SSHSERVER_TARGET='>
                      name: INDEX_SSHSERVER_TARGET
                    )
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName AUTOINSTALL_SSHINDEX)}
                  spids: [76128]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INDEX_FILESERVER_TARGET='>
                      name: INDEX_FILESERVER_TARGET
                    )
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName AUTOINSTALL_FILESERVERINDEX)}
                  spids: [76132]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INDEX_LOGGING_TARGET='>
                      name: INDEX_LOGGING_TARGET
                    )
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName AUTOINSTALL_LOGGINGINDEX)}
                  spids: [76136]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: 
                    (sh_lhs_expr.Name
                      left: <Id.Lit_VarLike 'INDEX_WEBSERVER_TARGET='>
                      name: INDEX_WEBSERVER_TARGET
                    )
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_DollarName AUTOINSTALL_WEBSERVERINDEX)}
                  spids: [76140]
                )
              ]
              redirects: []
            )
            (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<preferipversion>} 
              {
                (DQ 
                  (command_sub
                    left_token: <Id.Left_DollarParen '$('>
                    child: 
                      (command.Pipeline
                        children: [
                          (C {<cat>} {<'/DietPi/dietpi.txt'>})
                          (C {<grep>} {<-m1>} {(SQ <'^CONFIG_PREFER_IPVERSION='>)})
                          (C {<sed>} {(SQ <'s/.*=//'>)})
                        ]
                        negated: F
                        stderr_indices: []
                      )
                    right: <Id.Eof_RParen _>
                  )
                )
              }
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: FirstRun_DietPi_Update
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.Simple
              words: [{<setterm>} {<-blank>} {<0>} {<-powersave>} {<off>}]
              redirects: [(redir op:<Id.Redir_Great '2>'> loc:(redir_loc.Fd fd:2) arg:{<'/dev/null'>})]
              more_env: []
              do_fork: T
            )
            (command.Simple
              words: [{<echo>} {<1>}]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {<'/DietPi/dietpi/.update_stage'>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (C {<G_AGUP>})
            (C {<'/DietPi/dietpi/dietpi-update'>} {<1>})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: (C {<cat>} {<'/DietPi/dietpi/.update_stage'>})
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.Simple
                      words: [{<echo>} {<1>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/DietPi/dietpi/.update_stage'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: {($ Id.VSub_DollarName G_USER_INPUTS)}
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'WHIP_TITLE='>
                                      name: WHIP_TITLE
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <'DietPi Update Completed'>)}
                                  spids: [76306]
                                )
                              ]
                              redirects: []
                            )
                            (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} 
                              {<--msgbox>} 
                              {
                                (DQ <'DietPi has been updated to the latest version.'> 
                                  <Id.Lit_BadBackslash '\\'> <'nYour system will now reboot. Once completed, simply login to resume DietPi Setup. '> 
                                  <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nPress Enter to Continue.'>
                                )
                              } {<13>} {<65>}
                            )
                          ]
                          spids: [76292 76302]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                    (C {<reboot>})
                    (C {<Exit_Destroy>})
                  ]
                  spids: [76252 76270]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'INTERNET_URL_TEST='> name:INTERNET_URL_TEST)
          op: assign_op.Equal
          rhs: 
            {
              (command_sub
                left_token: <Id.Left_DollarParen '$('>
                child: 
                  (command.Pipeline
                    children: [
                      (C {<grep>} {<-m1>} {(SQ <'deb '>)} {<'/etc/apt/sources.list'>})
                      (C {<awk>} {(SQ <'{print $2}'>)})
                    ]
                    negated: F
                    stderr_indices: []
                  )
                right: <Id.Eof_RParen _>
              )
            }
          spids: [76377]
        )
      ]
      redirects: []
    )
    (command.ShFunction
      name: Check_Internet_Connection
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [(C {<G_CHECK_URL>} {(DQ ($ Id.VSub_DollarName INTERNET_URL_TEST))})]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Input_Modes
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGETMENUID='> name:TARGETMENUID)
                  op: assign_op.Equal
                  rhs: {<-1>}
                  spids: [76445]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'DISABLE_REBOOT='> name:DISABLE_REBOOT)
                  op: assign_op.Equal
                  rhs: {<1>}
                  spids: [76450]
                )
              ]
              redirects: []
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'ainput='> 
                (sh_array_literal
                  left: <Id.Op_LParen _>
                  words: [{(DQ ($ Id.VSub_At '@'))}]
                )
              }
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.AndOr
                              ops: [Id.Op_DPipe Id.Op_DPipe]
                              children: [
                                (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number 1))} 
                                  {<Id.Lit_Equals '='>} {(DQ <install>)} {<Id.Lit_RBracket ']'>}
                                )
                                (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number 1))} 
                                  {<Id.Lit_Equals '='>} {(DQ <reinstall>)} {<Id.Lit_RBracket ']'>}
                                )
                                (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number 1))} 
                                  {<Id.Lit_Equals '='>} {(DQ <uninstall>)} {<Id.Lit_RBracket ']'>}
                                )
                              ]
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_DIETPI-NOTIFY>} {<3>} {<DietPi-Software>} 
                      {(DQ <'Automated '> ($ Id.VSub_Number 1))}
                    )
                    (C {<sleep>} {<1>})
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_Number 2))} 
                                      {<Id.Lit_RBracket ']'>}
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<G_DIETPI-NOTIFY>} {<1>} 
                              {
                                (DQ 
                                  <
'Please enter a software index ID, or, choice system INDEX_*_TARGET=-?'
                                  >
                                )
                              }
                            )
                          ]
                          spids: [76547 76560]
                        )
                      ]
                      else_action: [
                        (command.If
                          arms: [
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number 1))} 
                                          {<Id.Lit_Equals '='>} {(DQ <uninstall>)} {<Id.Lit_RBracket ']'>}
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [(C {<'/DietPi/dietpi/dietpi-services'>} {<stop>})]
                              spids: [76582 76599]
                            )
                          ]
                          else_action: []
                          redirects: []
                        )
                        (command.ForEach
                          iter_names: [i]
                          iterable: 
                            (for_iter.Words
                              words: [
                                {
                                  (DQ 
                                    (braced_var_sub
                                      left: <Id.Left_DollarBrace '${'>
                                      token: <Id.VSub_Name ainput>
                                      var_name: ainput
                                      bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                                      right: <Id.Right_DollarBrace '}'>
                                    )
                                  )
                                }
                              ]
                            )
                          body: 
                            (command.DoGroup
                              children: [
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: 
                                        (condition.Shell
                                          commands: [
                                            (command.Sentence
                                              child: 
                                                (command.DBracket
                                                  expr: 
                                                    (bool_expr.Binary
                                                      op_id: Id.BoolBinary_EqualTilde
                                                      left: {($ Id.VSub_DollarName i)}
                                                      right: 
                                                        {<Id.Lit_Other '^'> <-> <Id.Lit_Other '?'> 
                                                          <Id.Lit_Other '['> <0-9> <Id.Lit_Other ']'> <Id.Lit_Other '+'> <Id.Lit_Other '$'>
                                                        }
                                                    )
                                                  redirects: []
                                                )
                                              terminator: <Id.Op_Semi _>
                                            )
                                          ]
                                        )
                                      action: [
                                        (command.If
                                          arms: [
                                            (if_arm
                                              cond: 
                                                (condition.Shell
                                                  commands: [
                                                    (command.Sentence
                                                      child: 
                                                        (C {<Id.Lit_LBracket '['>} 
                                                          {(DQ ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} {(DQ <uninstall>)} {<Id.Lit_RBracket ']'>}
                                                        )
                                                      terminator: <Id.Op_Semi _>
                                                    )
                                                  ]
                                                )
                                              action: [
                                                (C {<Uninstall_Software>} 
                                                  {(DQ ($ Id.VSub_DollarName i))}
                                                )
                                              ]
                                              spids: [76669 76686]
                                            )
                                            (if_arm
                                              cond: 
                                                (condition.Shell
                                                  commands: [
                                                    (command.Sentence
                                                      child: 
                                                        (C {<Id.Lit_LBracket '['>} 
                                                          {(DQ ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} {(DQ <reinstall>)} {<Id.Lit_RBracket ']'>}
                                                        )
                                                      terminator: <Id.Op_Semi _>
                                                    )
                                                  ]
                                                )
                                              action: [
                                                (command.If
                                                  arms: [
                                                    (if_arm
                                                      cond: 
                                                        (condition.Shell
                                                          commands: [
                                                            (command.Sentence
                                                              child: 
                                                                (command.DParen
                                                                  child: 
                                                                    (arith_expr.Binary
                                                                      op_id: Id.Arith_DEqual
                                                                      left: 
                                                                        {
                                                                          (braced_var_sub
                                                                            left: 
                                                                              <Id.Left_DollarBrace 
'${'
                                                                              >
                                                                            token: 
                                                                              <Id.VSub_Name 
aSOFTWARE_INSTALL_STATE
                                                                              >
                                                                            var_name: 
aSOFTWARE_INSTALL_STATE
                                                                            bracket_op: 
                                                                              (bracket_op.ArrayIndex
                                                                                expr: 
                                                                                  {
                                                                                    ($ 
Id.VSub_DollarName i
                                                                                    )
                                                                                  }
                                                                              )
                                                                            right: 
                                                                              <Id.Right_DollarBrace 
'}'
                                                                              >
                                                                          )
                                                                        }
                                                                      right: {<Id.Lit_Digits 2>}
                                                                    )
                                                                  redirects: []
                                                                )
                                                              terminator: <Id.Op_Semi _>
                                                            )
                                                          ]
                                                        )
                                                      action: [
                                                        (command.ShAssignment
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: 
                                                                (sh_lhs_expr.IndexedName
                                                                  left: 
                                                                    <Id.Lit_ArrayLhsOpen 
'aSOFTWARE_INSTALL_STATE['
                                                                    >
                                                                  name: aSOFTWARE_INSTALL_STATE
                                                                  index: {($ Id.VSub_DollarName i)}
                                                                )
                                                              op: assign_op.Equal
                                                              rhs: {<1>}
                                                              spids: [76755]
                                                            )
                                                          ]
                                                          redirects: []
                                                        )
                                                        (command.ShAssignment
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: 
                                                                (sh_lhs_expr.Name
                                                                  left: 
                                                                    <Id.Lit_VarLike 
'GOSTARTINSTALL='
                                                                    >
                                                                  name: GOSTARTINSTALL
                                                                )
                                                              op: assign_op.Equal
                                                              rhs: {<1>}
                                                              spids: [76763]
                                                            )
                                                          ]
                                                          redirects: []
                                                        )
                                                        (C {<G_DIETPI-NOTIFY>} {<0>} 
                                                          {
                                                            (DQ <'Reinstalling '> 
                                                              (braced_var_sub
                                                                left: <Id.Left_DollarBrace '${'>
                                                                token: 
                                                                  <Id.VSub_Name aSOFTWARE_WHIP_NAME>
                                                                var_name: aSOFTWARE_WHIP_NAME
                                                                bracket_op: 
                                                                  (bracket_op.ArrayIndex
                                                                    expr: {($ Id.VSub_DollarName i)}
                                                                  )
                                                                right: <Id.Right_DollarBrace '}'>
                                                              ) <': '> 
                                                              (braced_var_sub
                                                                left: <Id.Left_DollarBrace '${'>
                                                                token: 
                                                                  <Id.VSub_Name aSOFTWARE_WHIP_DESC>
                                                                var_name: aSOFTWARE_WHIP_DESC
                                                                bracket_op: 
                                                                  (bracket_op.ArrayIndex
                                                                    expr: {($ Id.VSub_DollarName i)}
                                                                  )
                                                                right: <Id.Right_DollarBrace '}'>
                                                              )
                                                            )
                                                          }
                                                        )
                                                        (C {<sleep>} {<1>})
                                                      ]
                                                      spids: [76719 76738]
                                                    )
                                                  ]
                                                  else_action: [
                                                    (C {<G_DIETPI-NOTIFY>} {<2>} 
                                                      {
                                                        (DQ ($ Id.VSub_DollarName i) <': '> 
                                                          (braced_var_sub
                                                            left: <Id.Left_DollarBrace '${'>
                                                            token: <Id.VSub_Name aSOFTWARE_WHIP_NAME>
                                                            var_name: aSOFTWARE_WHIP_NAME
                                                            bracket_op: 
                                                              (bracket_op.ArrayIndex
                                                                expr: {($ Id.VSub_DollarName i)}
                                                              )
                                                            right: <Id.Right_DollarBrace '}'>
                                                          ) <' is not currently installed'>
                                                        )
                                                      }
                                                    )
                                                    (C {<G_DIETPI-NOTIFY>} {<2>} 
                                                      {
                                                        (DQ 
                                                          <
'The program must be installed, before reinstall can be used'
                                                          >
                                                        )
                                                      }
                                                    )
                                                    (C {<G_DIETPI-NOTIFY>} {<0>} 
                                                      {
                                                        (DQ <'No changes applied for: '> 
                                                          (braced_var_sub
                                                            left: <Id.Left_DollarBrace '${'>
                                                            token: <Id.VSub_Name aSOFTWARE_WHIP_NAME>
                                                            var_name: aSOFTWARE_WHIP_NAME
                                                            bracket_op: 
                                                              (bracket_op.ArrayIndex
                                                                expr: {($ Id.VSub_DollarName i)}
                                                              )
                                                            right: <Id.Right_DollarBrace '}'>
                                                          )
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  redirects: []
                                                )
                                              ]
                                              spids: [76698 76715]
                                            )
                                            (if_arm
                                              cond: 
                                                (condition.Shell
                                                  commands: [
                                                    (command.Sentence
                                                      child: 
                                                        (C {<Id.Lit_LBracket '['>} 
                                                          {(DQ ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} {(DQ <install>)} {<Id.Lit_RBracket ']'>}
                                                        )
                                                      terminator: <Id.Op_Semi _>
                                                    )
                                                  ]
                                                )
                                              action: [
                                                (command.If
                                                  arms: [
                                                    (if_arm
                                                      cond: 
                                                        (condition.Shell
                                                          commands: [
                                                            (command.Sentence
                                                              child: 
                                                                (command.DParen
                                                                  child: 
                                                                    (arith_expr.Binary
                                                                      op_id: Id.Arith_NEqual
                                                                      left: 
                                                                        {
                                                                          (braced_var_sub
                                                                            left: 
                                                                              <Id.Left_DollarBrace 
'${'
                                                                              >
                                                                            token: 
                                                                              <Id.VSub_Name 
aSOFTWARE_INSTALL_STATE
                                                                              >
                                                                            var_name: 
aSOFTWARE_INSTALL_STATE
                                                                            bracket_op: 
                                                                              (bracket_op.ArrayIndex
                                                                                expr: 
                                                                                  {
                                                                                    ($ 
Id.VSub_DollarName i
                                                                                    )
                                                                                  }
                                                                              )
                                                                            right: 
                                                                              <Id.Right_DollarBrace 
'}'
                                                                              >
                                                                          )
                                                                        }
                                                                      right: {<Id.Lit_Digits 2>}
                                                                    )
                                                                  redirects: []
                                                                )
                                                              terminator: <Id.Op_Semi _>
                                                            )
                                                          ]
                                                        )
                                                      action: [
                                                        (command.ShAssignment
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: 
                                                                (sh_lhs_expr.IndexedName
                                                                  left: 
                                                                    <Id.Lit_ArrayLhsOpen 
'aSOFTWARE_INSTALL_STATE['
                                                                    >
                                                                  name: aSOFTWARE_INSTALL_STATE
                                                                  index: {($ Id.VSub_DollarName i)}
                                                                )
                                                              op: assign_op.Equal
                                                              rhs: {<1>}
                                                              spids: [76890]
                                                            )
                                                          ]
                                                          redirects: []
                                                        )
                                                        (command.ShAssignment
                                                          pairs: [
                                                            (assign_pair
                                                              lhs: 
                                                                (sh_lhs_expr.Name
                                                                  left: 
                                                                    <Id.Lit_VarLike 
'GOSTARTINSTALL='
                                                                    >
                                                                  name: GOSTARTINSTALL
                                                                )
                                                              op: assign_op.Equal
                                                              rhs: {<1>}
                                                              spids: [76898]
                                                            )
                                                          ]
                                                          redirects: []
                                                        )
                                                        (C {<G_DIETPI-NOTIFY>} {<0>} 
                                                          {
                                                            (DQ <'Installing '> 
                                                              (braced_var_sub
                                                                left: <Id.Left_DollarBrace '${'>
                                                                token: 
                                                                  <Id.VSub_Name aSOFTWARE_WHIP_NAME>
                                                                var_name: aSOFTWARE_WHIP_NAME
                                                                bracket_op: 
                                                                  (bracket_op.ArrayIndex
                                                                    expr: {($ Id.VSub_DollarName i)}
                                                                  )
                                                                right: <Id.Right_DollarBrace '}'>
                                                              ) <': '> 
                                                              (braced_var_sub
                                                                left: <Id.Left_DollarBrace '${'>
                                                                token: 
                                                                  <Id.VSub_Name aSOFTWARE_WHIP_DESC>
                                                                var_name: aSOFTWARE_WHIP_DESC
                                                                bracket_op: 
                                                                  (bracket_op.ArrayIndex
                                                                    expr: {($ Id.VSub_DollarName i)}
                                                                  )
                                                                right: <Id.Right_DollarBrace '}'>
                                                              )
                                                            )
                                                          }
                                                        )
                                                        (C {<sleep>} {<0.5>})
                                                      ]
                                                      spids: [76867 76886]
                                                    )
                                                  ]
                                                  else_action: [
                                                    (C {<G_DIETPI-NOTIFY>} {<2>} 
                                                      {
                                                        (DQ ($ Id.VSub_DollarName i) <': '> 
                                                          (braced_var_sub
                                                            left: <Id.Left_DollarBrace '${'>
                                                            token: <Id.VSub_Name aSOFTWARE_WHIP_NAME>
                                                            var_name: aSOFTWARE_WHIP_NAME
                                                            bracket_op: 
                                                              (bracket_op.ArrayIndex
                                                                expr: {($ Id.VSub_DollarName i)}
                                                              )
                                                            right: <Id.Right_DollarBrace '}'>
                                                          ) <' is already installed'>
                                                        )
                                                      }
                                                    )
                                                    (C {<G_DIETPI-NOTIFY>} {<0>} 
                                                      {
                                                        (DQ <'No changes applied for: '> 
                                                          (braced_var_sub
                                                            left: <Id.Left_DollarBrace '${'>
                                                            token: <Id.VSub_Name aSOFTWARE_WHIP_NAME>
                                                            var_name: aSOFTWARE_WHIP_NAME
                                                            bracket_op: 
                                                              (bracket_op.ArrayIndex
                                                                expr: {($ Id.VSub_DollarName i)}
                                                              )
                                                            right: <Id.Right_DollarBrace '}'>
                                                          )
                                                        )
                                                      }
                                                    )
                                                  ]
                                                  redirects: []
                                                )
                                              ]
                                              spids: [76846 76863]
                                            )
                                          ]
                                          else_action: []
                                          redirects: []
                                        )
                                      ]
                                      spids: [76645 76665]
                                    )
                                  ]
                                  else_action: []
                                  redirects: []
                                )
                              ]
                            )
                          redirects: []
                        )
                        (command.If
                          arms: [
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number 1))} 
                                          {<Id.Lit_Equals '='>} {(DQ <uninstall>)} {<Id.Lit_RBracket ']'>}
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (C {<Uninstall_Software_Finalize>})
                                (C {<Write_InstallFileList>})
                                (C {<'/DietPi/dietpi/dietpi-services'>} {<start>})
                              ]
                              spids: [76988 77005]
                            )
                          ]
                          else_action: []
                          redirects: []
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [76471 76521]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} 
                              {(DQ <setpermissions>)} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.Simple
                      words: [{<Install_Apply_Permissions>}]
                      redirects: [
                        (redir
                          op: <Id.Redir_AndGreat '&>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {<'/dev/null'>}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<G_DIETPI-NOTIFY>} {<0>} {(DQ <'Set permissions completed'>)})
                  ]
                  spids: [77043 77060]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} 
                              {(DQ <list>)} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ForExpr
                      init: 
                        (arith_expr.BinaryAssign
                          op_id: Id.Arith_Equal
                          left: ($ Id.Lit_ArithVarLike i)
                          right: {<Id.Lit_Digits 0>}
                        )
                      cond: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Less
                          left: ($ Id.Lit_ArithVarLike i)
                          right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)}
                        )
                      update: 
                        (arith_expr.UnaryAssign
                          op_id: Id.Node_PostDPlus
                          child: ($ Id.Lit_ArithVarLike i)
                        )
                      body: 
                        (command.DoGroup
                          children: [
                            (C {<local>} {<Id.Lit_VarLike 'string='> (SQ )})
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: 
                                                    {
                                                      (braced_var_sub
                                                        left: <Id.Left_DollarBrace '${'>
                                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                        var_name: aSOFTWARE_INSTALL_STATE
                                                        bracket_op: 
                                                          (bracket_op.ArrayIndex
                                                            expr: {($ Id.VSub_DollarName i)}
                                                          )
                                                        right: <Id.Right_DollarBrace '}'>
                                                      )
                                                    }
                                                  right: {<Id.Lit_Digits 2>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'string='>
                                              name: string
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ <Id.Lit_BadBackslash '\\'> <'e[32mID '> 
                                                ($ Id.VSub_DollarName i) <' | '>
                                              )
                                            }
                                          spids: [77160]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [77137 77156]
                                )
                              ]
                              else_action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'string='>
                                          name: string
                                        )
                                      op: assign_op.Equal
                                      rhs: 
                                        {
                                          (DQ <Id.Lit_BadBackslash '\\'> <'e[0mID '> 
                                            ($ Id.VSub_DollarName i) <' | '>
                                          )
                                        }
                                      spids: [77174]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'string+='>
                                      name: string
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (DQ <'='> 
                                        (braced_var_sub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                          var_name: aSOFTWARE_INSTALL_STATE
                                          bracket_op: 
                                            (bracket_op.ArrayIndex
                                              expr: {($ Id.VSub_DollarName i)}
                                            )
                                          right: <Id.Right_DollarBrace '}'>
                                        ) <' | '> 
                                        (braced_var_sub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name aSOFTWARE_WHIP_NAME>
                                          var_name: aSOFTWARE_WHIP_NAME
                                          bracket_op: 
                                            (bracket_op.ArrayIndex
                                              expr: {($ Id.VSub_DollarName i)}
                                            )
                                          right: <Id.Right_DollarBrace '}'>
                                        ) <': '> <Id.Lit_BadBackslash '\\'> <'e[90m'> 
                                        (braced_var_sub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name aSOFTWARE_WHIP_DESC>
                                          var_name: aSOFTWARE_WHIP_DESC
                                          bracket_op: 
                                            (bracket_op.ArrayIndex
                                              expr: {($ Id.VSub_DollarName i)}
                                            )
                                          right: <Id.Right_DollarBrace '}'>
                                        ) <Id.Lit_BadBackslash '\\'> <'e[0m |'>
                                      )
                                    }
                                  spids: [77188]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: 
                                                    {
                                                      (braced_var_sub
                                                        left: <Id.Left_DollarBrace '${'>
                                                        token: <Id.VSub_Name aSOFTWARE_REQUIRES_ALSA>
                                                        var_name: aSOFTWARE_REQUIRES_ALSA
                                                        bracket_op: 
                                                          (bracket_op.ArrayIndex
                                                            expr: {($ Id.VSub_DollarName i)}
                                                          )
                                                        right: <Id.Right_DollarBrace '}'>
                                                      )
                                                    }
                                                  right: {<Id.Lit_Digits 1>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'string+='>
                                              name: string
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: {(SQ <' +ALSA'>)}
                                          spids: [77242]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [77219 77238]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: 
                                                    {
                                                      (braced_var_sub
                                                        left: <Id.Left_DollarBrace '${'>
                                                        token: 
                                                          <Id.VSub_Name 
aSOFTWARE_REQUIRES_XSERVERXORG
                                                          >
                                                        var_name: aSOFTWARE_REQUIRES_XSERVERXORG
                                                        bracket_op: 
                                                          (bracket_op.ArrayIndex
                                                            expr: {($ Id.VSub_DollarName i)}
                                                          )
                                                        right: <Id.Right_DollarBrace '}'>
                                                      )
                                                    }
                                                  right: {<Id.Lit_Digits 1>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'string+='>
                                              name: string
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: {(SQ <' +XSERVER'>)}
                                          spids: [77275]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [77252 77271]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: 
                                                    {
                                                      (braced_var_sub
                                                        left: <Id.Left_DollarBrace '${'>
                                                        token: 
                                                          <Id.VSub_Name aSOFTWARE_REQUIRES_DESKTOP>
                                                        var_name: aSOFTWARE_REQUIRES_DESKTOP
                                                        bracket_op: 
                                                          (bracket_op.ArrayIndex
                                                            expr: {($ Id.VSub_DollarName i)}
                                                          )
                                                        right: <Id.Right_DollarBrace '}'>
                                                      )
                                                    }
                                                  right: {<Id.Lit_Digits 1>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'string+='>
                                              name: string
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: {(SQ <' +DESKTOP'>)}
                                          spids: [77309]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [77286 77305]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: 
                                                    {
                                                      (braced_var_sub
                                                        left: <Id.Left_DollarBrace '${'>
                                                        token: 
                                                          <Id.VSub_Name aSOFTWARE_REQUIRES_RSYSLOG>
                                                        var_name: aSOFTWARE_REQUIRES_RSYSLOG
                                                        bracket_op: 
                                                          (bracket_op.ArrayIndex
                                                            expr: {($ Id.VSub_DollarName i)}
                                                          )
                                                        right: <Id.Right_DollarBrace '}'>
                                                      )
                                                    }
                                                  right: {<Id.Lit_Digits 1>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'string+='>
                                              name: string
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: {(SQ <' +RSYSLOG'>)}
                                          spids: [77343]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [77320 77339]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: 
                                                    {
                                                      (braced_var_sub
                                                        left: <Id.Left_DollarBrace '${'>
                                                        token: 
                                                          <Id.VSub_Name aSOFTWARE_REQUIRES_FFMPEG>
                                                        var_name: aSOFTWARE_REQUIRES_FFMPEG
                                                        bracket_op: 
                                                          (bracket_op.ArrayIndex
                                                            expr: {($ Id.VSub_DollarName i)}
                                                          )
                                                        right: <Id.Right_DollarBrace '}'>
                                                      )
                                                    }
                                                  right: {<Id.Lit_Digits 1>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'string+='>
                                              name: string
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: {(SQ <' +FFMPEG'>)}
                                          spids: [77377]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [77354 77373]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: 
                                                    {
                                                      (braced_var_sub
                                                        left: <Id.Left_DollarBrace '${'>
                                                        token: 
                                                          <Id.VSub_Name 
aSOFTWARE_REQUIRES_ORACLEJAVA
                                                          >
                                                        var_name: aSOFTWARE_REQUIRES_ORACLEJAVA
                                                        bracket_op: 
                                                          (bracket_op.ArrayIndex
                                                            expr: {($ Id.VSub_DollarName i)}
                                                          )
                                                        right: <Id.Right_DollarBrace '}'>
                                                      )
                                                    }
                                                  right: {<Id.Lit_Digits 1>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'string+='>
                                              name: string
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: {(SQ <' +ORACLEJAVA'>)}
                                          spids: [77411]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [77388 77407]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: 
                                                    {
                                                      (braced_var_sub
                                                        left: <Id.Left_DollarBrace '${'>
                                                        token: 
                                                          <Id.VSub_Name aSOFTWARE_REQUIRES_NODEJS>
                                                        var_name: aSOFTWARE_REQUIRES_NODEJS
                                                        bracket_op: 
                                                          (bracket_op.ArrayIndex
                                                            expr: {($ Id.VSub_DollarName i)}
                                                          )
                                                        right: <Id.Right_DollarBrace '}'>
                                                      )
                                                    }
                                                  right: {<Id.Lit_Digits 1>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'string+='>
                                              name: string
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: {(SQ <' +NODEJS'>)}
                                          spids: [77445]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [77422 77441]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: 
                                                    {
                                                      (braced_var_sub
                                                        left: <Id.Left_DollarBrace '${'>
                                                        token: 
                                                          <Id.VSub_Name 
aSOFTWARE_REQUIRES_BUILDESSENTIAL
                                                          >
                                                        var_name: aSOFTWARE_REQUIRES_BUILDESSENTIAL
                                                        bracket_op: 
                                                          (bracket_op.ArrayIndex
                                                            expr: {($ Id.VSub_DollarName i)}
                                                          )
                                                        right: <Id.Right_DollarBrace '}'>
                                                      )
                                                    }
                                                  right: {<Id.Lit_Digits 1>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'string+='>
                                              name: string
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: {(SQ <' +BUILDESSENTIAL'>)}
                                          spids: [77479]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [77456 77475]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: 
                                                    {
                                                      (braced_var_sub
                                                        left: <Id.Left_DollarBrace '${'>
                                                        token: <Id.VSub_Name aSOFTWARE_REQUIRES_GIT>
                                                        var_name: aSOFTWARE_REQUIRES_GIT
                                                        bracket_op: 
                                                          (bracket_op.ArrayIndex
                                                            expr: {($ Id.VSub_DollarName i)}
                                                          )
                                                        right: <Id.Right_DollarBrace '}'>
                                                      )
                                                    }
                                                  right: {<Id.Lit_Digits 1>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'string+='>
                                              name: string
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: {(SQ <' +GIT'>)}
                                          spids: [77513]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [77490 77509]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: 
                                                    {
                                                      (braced_var_sub
                                                        left: <Id.Left_DollarBrace '${'>
                                                        token: 
                                                          <Id.VSub_Name aSOFTWARE_REQUIRES_WEBSERVER>
                                                        var_name: aSOFTWARE_REQUIRES_WEBSERVER
                                                        bracket_op: 
                                                          (bracket_op.ArrayIndex
                                                            expr: {($ Id.VSub_DollarName i)}
                                                          )
                                                        right: <Id.Right_DollarBrace '}'>
                                                      )
                                                    }
                                                  right: {<Id.Lit_Digits 1>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'string+='>
                                              name: string
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: {(SQ <' +WEBSERVER'>)}
                                          spids: [77547]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [77524 77543]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: 
                                                    {
                                                      (braced_var_sub
                                                        left: <Id.Left_DollarBrace '${'>
                                                        token: 
                                                          <Id.VSub_Name aSOFTWARE_REQUIRES_MYSQL>
                                                        var_name: aSOFTWARE_REQUIRES_MYSQL
                                                        bracket_op: 
                                                          (bracket_op.ArrayIndex
                                                            expr: {($ Id.VSub_DollarName i)}
                                                          )
                                                        right: <Id.Right_DollarBrace '}'>
                                                      )
                                                    }
                                                  right: {<Id.Lit_Digits 1>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'string+='>
                                              name: string
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: {(SQ <' +MYSQL'>)}
                                          spids: [77581]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [77558 77577]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: 
                                                    {
                                                      (braced_var_sub
                                                        left: <Id.Left_DollarBrace '${'>
                                                        token: 
                                                          <Id.VSub_Name aSOFTWARE_REQUIRES_SQLITE>
                                                        var_name: aSOFTWARE_REQUIRES_SQLITE
                                                        bracket_op: 
                                                          (bracket_op.ArrayIndex
                                                            expr: {($ Id.VSub_DollarName i)}
                                                          )
                                                        right: <Id.Right_DollarBrace '}'>
                                                      )
                                                    }
                                                  right: {<Id.Lit_Digits 1>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'string+='>
                                              name: string
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: {(SQ <' +SQLITE'>)}
                                          spids: [77615]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [77592 77611]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Unary
                                                  op_id: Id.Arith_Bang
                                                  child: 
                                                    {
                                                      (braced_var_sub
                                                        left: <Id.Left_DollarBrace '${'>
                                                        token: 
                                                          <Id.VSub_Name aSOFTWARE_AVAIL_G_HW_ARCH>
                                                        var_name: aSOFTWARE_AVAIL_G_HW_ARCH
                                                        bracket_op: 
                                                          (bracket_op.ArrayIndex
                                                            expr: 
                                                              (arith_expr.Binary
                                                                op_id: Id.Arith_Comma
                                                                left: {($ Id.VSub_DollarName i)}
                                                                right: 
                                                                  {($ Id.VSub_DollarName G_HW_ARCH)}
                                                              )
                                                          )
                                                        right: <Id.Right_DollarBrace '}'>
                                                      )
                                                    }
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'string+='>
                                              name: string
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (DQ <' '> <Id.Lit_BadBackslash '\\'> 
                                                <'e[31mDISABLED for G_HW_ARCH'> <Id.Lit_BadBackslash '\\'> <'e[0m'>
                                              )
                                            }
                                          spids: [77653]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [77630 77649]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Unary
                                                  op_id: Id.Arith_Bang
                                                  child: 
                                                    {
                                                      (braced_var_sub
                                                        left: <Id.Left_DollarBrace '${'>
                                                        token: 
                                                          <Id.VSub_Name aSOFTWARE_AVAIL_G_HW_MODEL>
                                                        var_name: aSOFTWARE_AVAIL_G_HW_MODEL
                                                        bracket_op: 
                                                          (bracket_op.ArrayIndex
                                                            expr: 
                                                              (arith_expr.Binary
                                                                op_id: Id.Arith_Comma
                                                                left: {($ Id.VSub_DollarName i)}
                                                                right: 
                                                                  {($ Id.VSub_DollarName G_HW_MODEL)}
                                                              )
                                                          )
                                                        right: <Id.Right_DollarBrace '}'>
                                                      )
                                                    }
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'string+='>
                                              name: string
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (DQ <' '> <Id.Lit_BadBackslash '\\'> 
                                                <'e[31mDISABLED for G_HW_MODEL'> <Id.Lit_BadBackslash '\\'> <'e[0m'>
                                              )
                                            }
                                          spids: [77695]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [77672 77691]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<Id.Lit_LBracket '['>} {<-n>} 
                                              {
                                                (DQ 
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name aSOFTWARE_ONLINEDOC_URL>
                                                    var_name: aSOFTWARE_ONLINEDOC_URL
                                                    bracket_op: 
                                                      (bracket_op.ArrayIndex
                                                        expr: {($ Id.VSub_DollarName i)}
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  )
                                                )
                                              } {<Id.Lit_RBracket ']'>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'string+='>
                                              name: string
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (DQ <' | '> <Id.Lit_BadBackslash '\\'> <'e[90m'> 
                                                ($ Id.VSub_DollarName FP_ONLINEDOC_URL) 
                                                (braced_var_sub
                                                  left: <Id.Left_DollarBrace '${'>
                                                  token: <Id.VSub_Name aSOFTWARE_ONLINEDOC_URL>
                                                  var_name: aSOFTWARE_ONLINEDOC_URL
                                                  bracket_op: 
                                                    (bracket_op.ArrayIndex
                                                      expr: {($ Id.VSub_DollarName i)}
                                                    )
                                                  right: <Id.Right_DollarBrace '}'>
                                                ) <Id.Lit_BadBackslash '\\'> <'e[0m'>
                                              )
                                            }
                                          spids: [77736]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [77714 77732]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                            (C {<echo>} {<-e>} 
                              {
                                (DQ 
                                  (braced_var_sub
                                    left: <Id.Left_DollarBrace '${'>
                                    token: <Id.VSub_Name string>
                                    var_name: string
                                    suffix_op: (suffix_op.Unary op:<Id.VOp1_DComma ',,'> arg_word:{})
                                    right: <Id.Right_DollarBrace '}'>
                                  )
                                )
                              }
                            )
                          ]
                        )
                      redirects: []
                    )
                    (C {<echo>} {<-e>} 
                      {
                        (DQ <'Total Software index HARD limit : '> 
                          ($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS_HARDLIMIT)
                        )
                      }
                    )
                    (C {<echo>} {<-e>} 
                      {
                        (DQ <'Total Software index Current    : '> 
                          ($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)
                        )
                      }
                    )
                  ]
                  spids: [77085 77102]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} {(DQ ($ Id.VSub_Number 1))} {<Id.Lit_Equals '='>} 
                              {(DQ <weblist_export>)} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<local>} 
                      {<Id.Lit_VarLike 'fp_export_dir='> (SQ <'/tmp/dietpi-software/weblist_export'>)}
                    )
                    (C {<rm>} {<-R>} {(DQ ($ Id.VSub_DollarName fp_export_dir))})
                    (C {<mkdir>} {<-p>} {(DQ ($ Id.VSub_DollarName fp_export_dir))})
                    (C {<local>} 
                      {<Id.Lit_VarLike 'fp_target='> 
                        (DQ ($ Id.VSub_DollarName fp_export_dir) <'/category_dietpi_total'>)
                      }
                    )
                    (command.Simple
                      words: [
                        {<echo>}
                        {<-e>}
                        {(DQ ($ Id.VSub_DollarName MAX_SOFTWARE_CATEGORIES_DIETPI))}
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {(DQ ($ Id.VSub_DollarName fp_target))}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'fp_target='> 
                        (DQ ($ Id.VSub_DollarName fp_export_dir) <'/category_linux_total'>)
                      }
                    )
                    (command.Simple
                      words: [{<echo>} {<-e>} {(DQ ($ Id.VSub_DollarName MAX_SOFTWARE_CATEGORIES_LINUX))}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {(DQ ($ Id.VSub_DollarName fp_target))}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fp_target='> name:fp_target)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName fp_export_dir) <'/category_dietpi_desc'>)}
                          spids: [77910]
                        )
                      ]
                      redirects: []
                    )
                    (command.ForExpr
                      init: 
                        (arith_expr.BinaryAssign
                          op_id: Id.Arith_Equal
                          left: ($ Id.Lit_ArithVarLike i)
                          right: {<Id.Lit_Digits 0>}
                        )
                      cond: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Less
                          left: ($ Id.Lit_ArithVarLike i)
                          right: {($ Id.VSub_DollarName MAX_SOFTWARE_CATEGORIES_DIETPI)}
                        )
                      update: 
                        (arith_expr.UnaryAssign
                          op_id: Id.Node_PostDPlus
                          child: ($ Id.Lit_ArithVarLike i)
                        )
                      body: 
                        (command.DoGroup
                          children: [
                            (C {<local>} {<Id.Lit_VarLike 'output='>})
                            (command.Simple
                              words: [
                                {<echo>}
                                {<-e>}
                                {
                                  (DQ 
                                    (command_sub
                                      left_token: <Id.Left_DollarParen '$('>
                                      child: 
                                        (command.Pipeline
                                          children: [
                                            (C {<echo>} 
                                              {
                                                (braced_var_sub
                                                  left: <Id.Left_DollarBrace '${'>
                                                  token: <Id.VSub_Name aSOFTWARE_CATEGORIES_DIETPI>
                                                  var_name: aSOFTWARE_CATEGORIES_DIETPI
                                                  bracket_op: 
                                                    (bracket_op.ArrayIndex
                                                      expr: {($ Id.VSub_DollarName i)}
                                                    )
                                                  right: <Id.Right_DollarBrace '}'>
                                                )
                                              }
                                            )
                                            (C {<sed>} {(SQ <'s/─//g'>)})
                                          ]
                                          negated: F
                                          stderr_indices: []
                                        )
                                      right: <Id.Eof_RParen _>
                                    )
                                  )
                                }
                              ]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DGreat '>>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {(DQ ($ Id.VSub_DollarName fp_target))}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                          ]
                        )
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fp_target='> name:fp_target)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName fp_export_dir) <'/category_linux_desc'>)}
                          spids: [77982]
                        )
                      ]
                      redirects: []
                    )
                    (command.ForExpr
                      init: 
                        (arith_expr.BinaryAssign
                          op_id: Id.Arith_Equal
                          left: ($ Id.Lit_ArithVarLike i)
                          right: {<Id.Lit_Digits 0>}
                        )
                      cond: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Less
                          left: ($ Id.Lit_ArithVarLike i)
                          right: {($ Id.VSub_DollarName MAX_SOFTWARE_CATEGORIES_LINUX)}
                        )
                      update: 
                        (arith_expr.UnaryAssign
                          op_id: Id.Node_PostDPlus
                          child: ($ Id.Lit_ArithVarLike i)
                        )
                      body: 
                        (command.DoGroup
                          children: [
                            (command.Simple
                              words: [
                                {<echo>}
                                {<-e>}
                                {
                                  (DQ 
                                    (command_sub
                                      left_token: <Id.Left_DollarParen '$('>
                                      child: 
                                        (command.Pipeline
                                          children: [
                                            (C {<echo>} 
                                              {
                                                (braced_var_sub
                                                  left: <Id.Left_DollarBrace '${'>
                                                  token: <Id.VSub_Name aSOFTWARE_CATEGORIES_LINUX>
                                                  var_name: aSOFTWARE_CATEGORIES_LINUX
                                                  bracket_op: 
                                                    (bracket_op.ArrayIndex
                                                      expr: {($ Id.VSub_DollarName i)}
                                                    )
                                                  right: <Id.Right_DollarBrace '}'>
                                                )
                                              }
                                            )
                                            (C {<sed>} {(SQ <'s/─//g'>)})
                                          ]
                                          negated: F
                                          stderr_indices: []
                                        )
                                      right: <Id.Eof_RParen _>
                                    )
                                  )
                                }
                              ]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DGreat '>>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {(DQ ($ Id.VSub_DollarName fp_target))}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                          ]
                        )
                      redirects: []
                    )
                    (C {<local>} 
                      {<Id.Lit_VarLike 'fp_target='> 
                        (DQ ($ Id.VSub_DollarName fp_export_dir) <'/total_software_index'>)
                      }
                    )
                    (command.Simple
                      words: [{<echo>} {<-e>} {(DQ ($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS))}]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {(DQ ($ Id.VSub_DollarName fp_target))}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fp_target='> name:fp_target)
                          op: assign_op.Equal
                          rhs: 
                            {(DQ ($ Id.VSub_DollarName fp_export_dir) <'/software_installed_state'>)}
                          spids: [78079]
                        )
                      ]
                      redirects: []
                    )
                    (command.Simple
                      words: [
                        {<printf>}
                        {(DQ <'%i'> <Id.Lit_BadBackslash '\\'> <n>)}
                        {
                          (DQ 
                            (braced_var_sub
                              left: <Id.Left_DollarBrace '${'>
                              token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                              var_name: aSOFTWARE_INSTALL_STATE
                              bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                              right: <Id.Right_DollarBrace '}'>
                            )
                          )
                        }
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {(DQ ($ Id.VSub_DollarName fp_target))}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fp_target='> name:fp_target)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName fp_export_dir) <'/software_name'>)}
                          spids: [78111]
                        )
                      ]
                      redirects: []
                    )
                    (command.Simple
                      words: [
                        {<printf>}
                        {(DQ <'%s'> <Id.Lit_BadBackslash '\\'> <n>)}
                        {
                          (DQ 
                            (braced_var_sub
                              left: <Id.Left_DollarBrace '${'>
                              token: <Id.VSub_Name aSOFTWARE_WHIP_NAME>
                              var_name: aSOFTWARE_WHIP_NAME
                              bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                              right: <Id.Right_DollarBrace '}'>
                            )
                          )
                        }
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {(DQ ($ Id.VSub_DollarName fp_target))}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fp_target='> name:fp_target)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName fp_export_dir) <'/software_desc'>)}
                          spids: [78143]
                        )
                      ]
                      redirects: []
                    )
                    (command.Simple
                      words: [
                        {<printf>}
                        {(DQ <'%s'> <Id.Lit_BadBackslash '\\'> <n>)}
                        {
                          (DQ 
                            (braced_var_sub
                              left: <Id.Left_DollarBrace '${'>
                              token: <Id.VSub_Name aSOFTWARE_WHIP_DESC>
                              var_name: aSOFTWARE_WHIP_DESC
                              bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                              right: <Id.Right_DollarBrace '}'>
                            )
                          )
                        }
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {(DQ ($ Id.VSub_DollarName fp_target))}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fp_target='> name:fp_target)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName fp_export_dir) <'/category_index'>)}
                          spids: [78175]
                        )
                      ]
                      redirects: []
                    )
                    (command.Simple
                      words: [
                        {<printf>}
                        {(DQ <'%i'> <Id.Lit_BadBackslash '\\'> <n>)}
                        {
                          (DQ 
                            (braced_var_sub
                              left: <Id.Left_DollarBrace '${'>
                              token: <Id.VSub_Name aSOFTWARE_CATEGORY_INDEX>
                              var_name: aSOFTWARE_CATEGORY_INDEX
                              bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                              right: <Id.Right_DollarBrace '}'>
                            )
                          )
                        }
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {(DQ ($ Id.VSub_DollarName fp_target))}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fp_target='> name:fp_target)
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName fp_export_dir) <'/software_urldocs'>)}
                          spids: [78207]
                        )
                      ]
                      redirects: []
                    )
                    (command.Simple
                      words: [
                        {<printf>}
                        {(DQ <'%s'> <Id.Lit_BadBackslash '\\'> <n>)}
                        {
                          (DQ 
                            (braced_var_sub
                              left: <Id.Left_DollarBrace '${'>
                              token: <Id.VSub_Name aSOFTWARE_ONLINEDOC_URL>
                              var_name: aSOFTWARE_ONLINEDOC_URL
                              bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                              right: <Id.Right_DollarBrace '}'>
                            )
                          )
                        }
                      ]
                      redirects: [
                        (redir
                          op: <Id.Redir_Great '>'>
                          loc: (redir_loc.Fd fd:1)
                          arg: {(DQ ($ Id.VSub_DollarName fp_target))}
                        )
                      ]
                      more_env: []
                      do_fork: T
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fp_target='> name:fp_target)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ ($ Id.VSub_DollarName fp_export_dir) 
                                <'/software_available_hw_model'>
                              )
                            }
                          spids: [78243]
                        )
                      ]
                      redirects: []
                    )
                    (command.ForExpr
                      init: 
                        (arith_expr.BinaryAssign
                          op_id: Id.Arith_Equal
                          left: ($ Id.Lit_ArithVarLike i)
                          right: {<Id.Lit_Digits 0>}
                        )
                      cond: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Less
                          left: ($ Id.Lit_ArithVarLike i)
                          right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)}
                        )
                      update: 
                        (arith_expr.UnaryAssign
                          op_id: Id.Node_PostDPlus
                          child: ($ Id.Lit_ArithVarLike i)
                        )
                      body: 
                        (command.DoGroup
                          children: [
                            (command.Simple
                              words: [
                                {<printf>}
                                {(DQ <'%i'> <Id.Lit_BadBackslash '\\'> <n>)}
                                {
                                  (DQ 
                                    (braced_var_sub
                                      left: <Id.Left_DollarBrace '${'>
                                      token: <Id.VSub_Name aSOFTWARE_AVAIL_G_HW_MODEL>
                                      var_name: aSOFTWARE_AVAIL_G_HW_MODEL
                                      bracket_op: 
                                        (bracket_op.ArrayIndex
                                          expr: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_Comma
                                              left: {($ Id.VSub_DollarName i)}
                                              right: {($ Id.VSub_DollarName G_HW_MODEL)}
                                            )
                                        )
                                      right: <Id.Right_DollarBrace '}'>
                                    )
                                  )
                                }
                              ]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DGreat '>>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {(DQ ($ Id.VSub_DollarName fp_target))}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                          ]
                        )
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'fp_target='> name:fp_target)
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ ($ Id.VSub_DollarName fp_export_dir) <'/software_available_hw_arch'>)
                            }
                          spids: [78303]
                        )
                      ]
                      redirects: []
                    )
                    (command.ForExpr
                      init: 
                        (arith_expr.BinaryAssign
                          op_id: Id.Arith_Equal
                          left: ($ Id.Lit_ArithVarLike i)
                          right: {<Id.Lit_Digits 0>}
                        )
                      cond: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Less
                          left: ($ Id.Lit_ArithVarLike i)
                          right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)}
                        )
                      update: 
                        (arith_expr.UnaryAssign
                          op_id: Id.Node_PostDPlus
                          child: ($ Id.Lit_ArithVarLike i)
                        )
                      body: 
                        (command.DoGroup
                          children: [
                            (command.Simple
                              words: [
                                {<printf>}
                                {(DQ <'%i'> <Id.Lit_BadBackslash '\\'> <n>)}
                                {
                                  (DQ 
                                    (braced_var_sub
                                      left: <Id.Left_DollarBrace '${'>
                                      token: <Id.VSub_Name aSOFTWARE_AVAIL_G_HW_ARCH>
                                      var_name: aSOFTWARE_AVAIL_G_HW_ARCH
                                      bracket_op: 
                                        (bracket_op.ArrayIndex
                                          expr: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_Comma
                                              left: {($ Id.VSub_DollarName i)}
                                              right: {($ Id.VSub_DollarName G_HW_ARCH)}
                                            )
                                        )
                                      right: <Id.Right_DollarBrace '}'>
                                    )
                                  )
                                }
                              ]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DGreat '>>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {(DQ ($ Id.VSub_DollarName fp_target))}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                          ]
                        )
                      redirects: []
                    )
                  ]
                  spids: [77807 77824]
                )
              ]
              else_action: [
                (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Unknown command '> ($ Id.VSub_Number 1))})
              ]
              redirects: []
            )
            (C {<unset>} {<ainput>})
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Exit_Destroy
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<Software_Arrays_Destroy>})
            (command.ControlFlow token:<Id.ControlFlow_Exit exit>)
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ERROR_TEXT='> name:ERROR_TEXT)
          op: assign_op.Equal
          rhs: {(DQ )}
          spids: [78454]
        )
      ]
      redirects: []
    )
    (command.ShFunction
      name: Error_Display
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: {($ Id.VSub_DollarName G_USER_INPUTS)}
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<whiptail>} {<--title>} {(DQ <Error>)} {<--msgbox>} 
                      {(DQ ($ Id.VSub_DollarName ERROR_TEXT))} {<18>} {<70>}
                    )
                  ]
                  spids: [78472 78482]
                )
              ]
              else_action: [
                (command.Simple
                  words: [{<echo>} {<-e>} {(DQ <'Error: '> ($ Id.VSub_DollarName ERROR_TEXT))}]
                  redirects: [
                    (redir
                      op: <Id.Redir_DGreat '>>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {(DQ ($ Id.VSub_DollarName FP_DIETPIAUTOMATION_LOG))}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
              ]
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_BACKTITLE='> name:WHIP_BACKTITLE)
          op: assign_op.Equal
          rhs: {(SQ <DietPi-Software>)}
          spids: [78547]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [78553]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_QUESTION='> name:WHIP_QUESTION)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [78557]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'MENU_MAIN_LASTITEM='> name:MENU_MAIN_LASTITEM)
          op: assign_op.Equal
          rhs: {(SQ <'Help!'>)}
          spids: [78561]
        )
      ]
      redirects: []
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGETMENUID='> name:TARGETMENUID)
          op: assign_op.Equal
          rhs: {<0>}
          spids: [78567]
        )
      ]
      redirects: []
    )
    (command.ShFunction
      name: Menu_CreateSoftwareList
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<local>} {<Id.Lit_VarLike 'software_type='> ($ Id.VSub_Number 1)})
            (C {<local>} 
              {<Id.Lit_VarLike 'max_categories='> 
                ($ Id.VSub_DollarName MAX_SOFTWARE_CATEGORIES_DIETPI)
              }
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_Number 1)}
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'max_categories='>
                              name: max_categories
                            )
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_DollarName MAX_SOFTWARE_CATEGORIES_LINUX)}
                          spids: [78617]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [78599 78613]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'whiptail_list='> (sh_array_literal left:<Id.Op_LParen _> words:[])}
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 0>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_Less
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName max_categories)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (C {<local>} {<Id.Lit_VarLike 'category_enabled='> <0>})
                    (command.ForExpr
                      init: 
                        (arith_expr.BinaryAssign
                          op_id: Id.Arith_Equal
                          left: ($ Id.Lit_ArithVarLike j)
                          right: {<Id.Lit_Digits 0>}
                        )
                      cond: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Less
                          left: ($ Id.Lit_ArithVarLike j)
                          right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)}
                        )
                      update: 
                        (arith_expr.UnaryAssign
                          op_id: Id.Node_PostDPlus
                          child: ($ Id.Lit_ArithVarLike j)
                        )
                      body: 
                        (command.DoGroup
                          children: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DAmp
                                                  left: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DEqual
                                                      left: 
                                                        {
                                                          (braced_var_sub
                                                            left: <Id.Left_DollarBrace '${'>
                                                            token: 
                                                              <Id.VSub_Name aSOFTWARE_CATEGORY_INDEX>
                                                            var_name: aSOFTWARE_CATEGORY_INDEX
                                                            bracket_op: 
                                                              (bracket_op.ArrayIndex
                                                                expr: {($ Id.VSub_DollarName j)}
                                                              )
                                                            right: <Id.Right_DollarBrace '}'>
                                                          )
                                                        }
                                                      right: {($ Id.VSub_DollarName i)}
                                                    )
                                                  right: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DEqual
                                                      left: 
                                                        {
                                                          (braced_var_sub
                                                            left: <Id.Left_DollarBrace '${'>
                                                            token: <Id.VSub_Name aSOFTWARE_TYPE>
                                                            var_name: aSOFTWARE_TYPE
                                                            bracket_op: 
                                                              (bracket_op.ArrayIndex
                                                                expr: {($ Id.VSub_DollarName j)}
                                                              )
                                                            right: <Id.Right_DollarBrace '}'>
                                                          )
                                                        }
                                                      right: {($ Id.VSub_DollarName software_type)}
                                                    )
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DAmp
                                                          left: 
                                                            {
                                                              (braced_var_sub
                                                                left: <Id.Left_DollarBrace '${'>
                                                                token: 
                                                                  <Id.VSub_Name 
aSOFTWARE_AVAIL_G_HW_MODEL
                                                                  >
                                                                var_name: aSOFTWARE_AVAIL_G_HW_MODEL
                                                                bracket_op: 
                                                                  (bracket_op.ArrayIndex
                                                                    expr: 
                                                                      (arith_expr.Binary
                                                                        op_id: Id.Arith_Comma
                                                                        left: 
                                                                          {($ Id.VSub_DollarName j)}
                                                                        right: 
                                                                          {
                                                                            ($ Id.VSub_DollarName 
G_HW_MODEL
                                                                            )
                                                                          }
                                                                      )
                                                                  )
                                                                right: <Id.Right_DollarBrace '}'>
                                                              )
                                                            }
                                                          right: 
                                                            {
                                                              (braced_var_sub
                                                                left: <Id.Left_DollarBrace '${'>
                                                                token: 
                                                                  <Id.VSub_Name 
aSOFTWARE_AVAIL_G_HW_ARCH
                                                                  >
                                                                var_name: aSOFTWARE_AVAIL_G_HW_ARCH
                                                                bracket_op: 
                                                                  (bracket_op.ArrayIndex
                                                                    expr: 
                                                                      (arith_expr.Binary
                                                                        op_id: Id.Arith_Comma
                                                                        left: 
                                                                          {($ Id.VSub_DollarName j)}
                                                                        right: 
                                                                          {
                                                                            ($ Id.VSub_DollarName 
G_HW_ARCH
                                                                            )
                                                                          }
                                                                      )
                                                                  )
                                                                right: <Id.Right_DollarBrace '}'>
                                                              )
                                                            }
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (C {<local>} {<Id.Lit_VarLike 'selected='> (DQ <off>)})
                                            (command.If
                                              arms: [
                                                (if_arm
                                                  cond: 
                                                    (condition.Shell
                                                      commands: [
                                                        (command.Sentence
                                                          child: 
                                                            (command.DParen
                                                              child: 
                                                                (arith_expr.Binary
                                                                  op_id: Id.Arith_Great
                                                                  left: 
                                                                    {
                                                                      (braced_var_sub
                                                                        left: 
                                                                          <Id.Left_DollarBrace '${'>
                                                                        token: 
                                                                          <Id.VSub_Name 
aSOFTWARE_INSTALL_STATE
                                                                          >
                                                                        var_name: 
aSOFTWARE_INSTALL_STATE
                                                                        bracket_op: 
                                                                          (bracket_op.ArrayIndex
                                                                            expr: 
                                                                              {
                                                                                ($ 
Id.VSub_DollarName j
                                                                                )
                                                                              }
                                                                          )
                                                                        right: 
                                                                          <Id.Right_DollarBrace '}'>
                                                                      )
                                                                    }
                                                                  right: {<Id.Lit_Digits 0>}
                                                                )
                                                              redirects: []
                                                            )
                                                          terminator: <Id.Op_Semi _>
                                                        )
                                                      ]
                                                    )
                                                  action: [
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: 
                                                            (sh_lhs_expr.Name
                                                              left: <Id.Lit_VarLike 'selected='>
                                                              name: selected
                                                            )
                                                          op: assign_op.Equal
                                                          rhs: {(DQ <on>)}
                                                          spids: [78819]
                                                        )
                                                      ]
                                                      redirects: []
                                                    )
                                                    (command.If
                                                      arms: [
                                                        (if_arm
                                                          cond: 
                                                            (condition.Shell
                                                              commands: [
                                                                (command.Sentence
                                                                  child: 
                                                                    (command.DParen
                                                                      child: 
                                                                        (arith_expr.Binary
                                                                          op_id: Id.Arith_DEqual
                                                                          left: 
                                                                            {
                                                                              (braced_var_sub
                                                                                left: 
                                                                                  <
Id.Left_DollarBrace '${'
                                                                                  >
                                                                                token: 
                                                                                  <Id.VSub_Name 
aSOFTWARE_INSTALL_STATE
                                                                                  >
                                                                                var_name: 
aSOFTWARE_INSTALL_STATE
                                                                                bracket_op: 
                                                                                  (bracket_op.ArrayIndex
                                                                                    expr: 
                                                                                      {
                                                                                        ($ 
Id.VSub_DollarName j
                                                                                        )
                                                                                      }
                                                                                  )
                                                                                right: 
                                                                                  <
Id.Right_DollarBrace '}'
                                                                                  >
                                                                              )
                                                                            }
                                                                          right: {<Id.Lit_Digits 1>}
                                                                        )
                                                                      redirects: []
                                                                    )
                                                                  terminator: <Id.Op_Semi _>
                                                                )
                                                              ]
                                                            )
                                                          action: [
                                                            (command.ShAssignment
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: 
                                                                    (sh_lhs_expr.IndexedName
                                                                      left: 
                                                                        <Id.Lit_ArrayLhsOpen 
'aSOFTWARE_INSTALL_STATE['
                                                                        >
                                                                      name: aSOFTWARE_INSTALL_STATE
                                                                      index: 
                                                                        {($ Id.VSub_DollarName j)}
                                                                    )
                                                                  op: assign_op.Equal
                                                                  rhs: {<0>}
                                                                  spids: [78853]
                                                                )
                                                              ]
                                                              redirects: []
                                                            )
                                                          ]
                                                          spids: [78826 78845]
                                                        )
                                                      ]
                                                      else_action: []
                                                      redirects: []
                                                    )
                                                  ]
                                                  spids: [78796 78815]
                                                )
                                              ]
                                              else_action: []
                                              redirects: []
                                            )
                                            (command.If
                                              arms: [
                                                (if_arm
                                                  cond: 
                                                    (condition.Shell
                                                      commands: [
                                                        (command.Sentence
                                                          child: 
                                                            (command.DParen
                                                              child: 
                                                                (arith_expr.Binary
                                                                  op_id: Id.Arith_DEqual
                                                                  left: 
                                                                    {
                                                                      ($ Id.VSub_DollarName 
category_enabled
                                                                      )
                                                                    }
                                                                  right: {<Id.Lit_Digits 0>}
                                                                )
                                                              redirects: []
                                                            )
                                                          terminator: <Id.Op_Semi _>
                                                        )
                                                      ]
                                                    )
                                                  action: [
                                                    (command.If
                                                      arms: [
                                                        (if_arm
                                                          cond: 
                                                            (condition.Shell
                                                              commands: [
                                                                (command.Sentence
                                                                  child: 
                                                                    (command.DParen
                                                                      child: 
                                                                        (arith_expr.Binary
                                                                          op_id: Id.Arith_DEqual
                                                                          left: {($ Id.VSub_Number 1)}
                                                                          right: {<Id.Lit_Digits 0>}
                                                                        )
                                                                      redirects: []
                                                                    )
                                                                  terminator: <Id.Op_Semi _>
                                                                )
                                                              ]
                                                            )
                                                          action: [
                                                            (command.ShAssignment
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: 
                                                                    (sh_lhs_expr.Name
                                                                      left: 
                                                                        <Id.Lit_VarLike 
'whiptail_list+='
                                                                        >
                                                                      name: whiptail_list
                                                                    )
                                                                  op: assign_op.PlusEqual
                                                                  rhs: 
                                                                    {
                                                                      (sh_array_literal
                                                                        left: <Id.Op_LParen _>
                                                                        words: [
                                                                          {(DQ )}
                                                                          {
                                                                            (DQ 
                                                                              (braced_var_sub
                                                                                left: 
                                                                                  <
Id.Left_DollarBrace '${'
                                                                                  >
                                                                                token: 
                                                                                  <Id.VSub_Name 
aSOFTWARE_CATEGORIES_DIETPI
                                                                                  >
                                                                                var_name: 
aSOFTWARE_CATEGORIES_DIETPI
                                                                                bracket_op: 
                                                                                  (bracket_op.ArrayIndex
                                                                                    expr: 
                                                                                      {
                                                                                        ($ 
Id.VSub_DollarName i
                                                                                        )
                                                                                      }
                                                                                  )
                                                                                right: 
                                                                                  <
Id.Right_DollarBrace '}'
                                                                                  >
                                                                              )
                                                                            )
                                                                          }
                                                                          {(DQ <off>)}
                                                                        ]
                                                                      )
                                                                    }
                                                                  spids: [78914]
                                                                )
                                                              ]
                                                              redirects: []
                                                            )
                                                          ]
                                                          spids: [78896 78910]
                                                        )
                                                        (if_arm
                                                          cond: 
                                                            (condition.Shell
                                                              commands: [
                                                                (command.Sentence
                                                                  child: 
                                                                    (command.DParen
                                                                      child: 
                                                                        (arith_expr.Binary
                                                                          op_id: Id.Arith_DEqual
                                                                          left: {($ Id.VSub_Number 1)}
                                                                          right: {<Id.Lit_Digits 1>}
                                                                        )
                                                                      redirects: []
                                                                    )
                                                                  terminator: <Id.Op_Semi _>
                                                                )
                                                              ]
                                                            )
                                                          action: [
                                                            (command.ShAssignment
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: 
                                                                    (sh_lhs_expr.Name
                                                                      left: 
                                                                        <Id.Lit_VarLike 
'whiptail_list+='
                                                                        >
                                                                      name: whiptail_list
                                                                    )
                                                                  op: assign_op.PlusEqual
                                                                  rhs: 
                                                                    {
                                                                      (sh_array_literal
                                                                        left: <Id.Op_LParen _>
                                                                        words: [
                                                                          {(DQ )}
                                                                          {
                                                                            (DQ 
                                                                              (braced_var_sub
                                                                                left: 
                                                                                  <
Id.Left_DollarBrace '${'
                                                                                  >
                                                                                token: 
                                                                                  <Id.VSub_Name 
aSOFTWARE_CATEGORIES_LINUX
                                                                                  >
                                                                                var_name: 
aSOFTWARE_CATEGORIES_LINUX
                                                                                bracket_op: 
                                                                                  (bracket_op.ArrayIndex
                                                                                    expr: 
                                                                                      {
                                                                                        ($ 
Id.VSub_DollarName i
                                                                                        )
                                                                                      }
                                                                                  )
                                                                                right: 
                                                                                  <
Id.Right_DollarBrace '}'
                                                                                  >
                                                                              )
                                                                            )
                                                                          }
                                                                          {(DQ <off>)}
                                                                        ]
                                                                      )
                                                                    }
                                                                  spids: [78957]
                                                                )
                                                              ]
                                                              redirects: []
                                                            )
                                                          ]
                                                          spids: [78939 78953]
                                                        )
                                                      ]
                                                      else_action: []
                                                      redirects: []
                                                    )
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: 
                                                            (sh_lhs_expr.Name
                                                              left: 
                                                                <Id.Lit_VarLike 'category_enabled='>
                                                              name: category_enabled
                                                            )
                                                          op: assign_op.Equal
                                                          rhs: {<1>}
                                                          spids: [78982]
                                                        )
                                                      ]
                                                      redirects: []
                                                    )
                                                  ]
                                                  spids: [78874 78888]
                                                )
                                              ]
                                              else_action: []
                                              redirects: []
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'whiptail_list+='>
                                                      name: whiptail_list
                                                    )
                                                  op: assign_op.PlusEqual
                                                  rhs: 
                                                    {
                                                      (sh_array_literal
                                                        left: <Id.Op_LParen _>
                                                        words: [
                                                          {(DQ ($ Id.VSub_DollarName j))}
                                                          {
                                                            (DQ 
                                                              (braced_var_sub
                                                                left: <Id.Left_DollarBrace '${'>
                                                                token: 
                                                                  <Id.VSub_Name aSOFTWARE_WHIP_NAME>
                                                                var_name: aSOFTWARE_WHIP_NAME
                                                                bracket_op: 
                                                                  (bracket_op.ArrayIndex
                                                                    expr: {($ Id.VSub_DollarName j)}
                                                                  )
                                                                right: <Id.Right_DollarBrace '}'>
                                                              ) <': '> 
                                                              (braced_var_sub
                                                                left: <Id.Left_DollarBrace '${'>
                                                                token: 
                                                                  <Id.VSub_Name aSOFTWARE_WHIP_DESC>
                                                                var_name: aSOFTWARE_WHIP_DESC
                                                                bracket_op: 
                                                                  (bracket_op.ArrayIndex
                                                                    expr: {($ Id.VSub_DollarName j)}
                                                                  )
                                                                right: <Id.Right_DollarBrace '}'>
                                                              )
                                                            )
                                                          }
                                                          {(DQ ($ Id.VSub_DollarName selected))}
                                                        ]
                                                      )
                                                    }
                                                  spids: [78995]
                                                )
                                              ]
                                              redirects: []
                                            )
                                          ]
                                          spids: [78754 78783]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                  ]
                                  spids: [78710 78742]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                        )
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                  op: assign_op.Equal
                  rhs: {(SQ <'DietPi Software Selection'>)}
                  spids: [79044]
                )
              ]
              redirects: []
            )
            (command.Simple
              words: [
                {<whiptail>}
                {<--title>}
                {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                {<--checklist>}
                {<--separate-output>}
                {
                  (DQ <'Please use the spacebar to select the software you wish to install.'> 
                    <Id.Lit_BadBackslash '\\'> <'nSoftware details: http://dietpi.com/software'>
                  )
                }
                {<--backtitle>}
                {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                {<22>}
                {<78>}
                {<14>}
                {
                  (DQ 
                    (braced_var_sub
                      left: <Id.Left_DollarBrace '${'>
                      token: <Id.VSub_Name whiptail_list>
                      var_name: whiptail_list
                      bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                      right: <Id.Right_DollarBrace '}'>
                    )
                  )
                }
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '2>'>
                  loc: (redir_loc.Fd fd:2)
                  arg: {<'/tmp/dietpi-software_results'>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (C {<unset>} {<whiptail_list>})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_Number 1)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_DIETPI_CHOICESMADE='>
                              name: INSTALL_DIETPI_CHOICESMADE
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [79130]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [79112 79126]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_Number 1)}
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'INSTALL_LINUX_CHOICESMADE='>
                              name: INSTALL_LINUX_CHOICESMADE
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [79157]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [79139 79153]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.WhileUntil
              keyword: <Id.KW_While while>
              cond: (condition.Shell commands:[(C {<read>} {<choice>})])
              body: 
                (command.DoGroup
                  children: [
                    (command.ForExpr
                      init: 
                        (arith_expr.BinaryAssign
                          op_id: Id.Arith_Equal
                          left: ($ Id.Lit_ArithVarLike i)
                          right: {<Id.Lit_Digits 0>}
                        )
                      cond: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Less
                          left: ($ Id.Lit_ArithVarLike i)
                          right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)}
                        )
                      update: 
                        (arith_expr.UnaryAssign
                          op_id: Id.Node_PostDPlus
                          child: ($ Id.Lit_ArithVarLike i)
                        )
                      body: 
                        (command.DoGroup
                          children: [
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DAmp
                                                  left: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DEqual
                                                      left: {($ Id.VSub_DollarName choice)}
                                                      right: {($ Id.VSub_DollarName i)}
                                                    )
                                                  right: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DEqual
                                                      left: 
                                                        {
                                                          (braced_var_sub
                                                            left: <Id.Left_DollarBrace '${'>
                                                            token: 
                                                              <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                            var_name: aSOFTWARE_INSTALL_STATE
                                                            bracket_op: 
                                                              (bracket_op.ArrayIndex
                                                                expr: {($ Id.VSub_DollarName i)}
                                                              )
                                                            right: <Id.Right_DollarBrace '}'>
                                                          )
                                                        }
                                                      right: {<Id.Lit_Digits 0>}
                                                    )
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DEqual
                                                          left: {($ Id.VSub_Number 1)}
                                                          right: {<Id.Lit_Digits 0>}
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: 
                                                        <Id.Lit_VarLike 
'INSTALL_DIETPI_CHOICESMADE='
                                                        >
                                                      name: INSTALL_DIETPI_CHOICESMADE
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {<1>}
                                                  spids: [79262]
                                                )
                                              ]
                                              redirects: []
                                            )
                                          ]
                                          spids: [79244 79258]
                                        )
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DEqual
                                                          left: {($ Id.VSub_Number 1)}
                                                          right: {<Id.Lit_Digits 1>}
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: 
                                                        <Id.Lit_VarLike 'INSTALL_LINUX_CHOICESMADE='>
                                                      name: INSTALL_LINUX_CHOICESMADE
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {<1>}
                                                  spids: [79289]
                                                )
                                              ]
                                              redirects: []
                                            )
                                          ]
                                          spids: [79271 79285]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.IndexedName
                                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                              name: aSOFTWARE_INSTALL_STATE
                                              index: {($ Id.VSub_DollarName i)}
                                            )
                                          op: assign_op.Equal
                                          rhs: {<1>}
                                          spids: [79298]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ControlFlow
                                      token: <Id.ControlFlow_Break break>
                                    )
                                  ]
                                  spids: [79208 79236]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                        )
                      redirects: []
                    )
                  ]
                )
              redirects: [
                (redir
                  op: <Id.Redir_Less '<'>
                  loc: (redir_loc.Fd fd:0)
                  arg: {<'/tmp/dietpi-software_results'>}
                )
              ]
            )
            (command.Simple
              words: [{<rm>} {<'/tmp/dietpi-software_results'>}]
              redirects: [
                (redir
                  op: <Id.Redir_AndGreat '&>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {<'/dev/null'>}
                )
              ]
              more_env: []
              do_fork: T
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Menu_Main
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<local>} {<Id.Lit_VarLike 'index_sshserver_text='> (DQ <None>)})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName INDEX_SSHSERVER_TARGET)}
                                  right: 
                                    (arith_expr.Unary
                                      op_id: Id.Node_UnaryMinus
                                      child: {<Id.Lit_Digits 1>}
                                    )
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'index_sshserver_text='>
                              name: index_sshserver_text
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <Dropbear>)}
                          spids: [79377]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [79359 79374]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName INDEX_SSHSERVER_TARGET)}
                                  right: 
                                    (arith_expr.Unary
                                      op_id: Id.Node_UnaryMinus
                                      child: {<Id.Lit_Digits 2>}
                                    )
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'index_sshserver_text='>
                              name: index_sshserver_text
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <OpenSSH>)}
                          spids: [79401]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [79383 79398]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<local>} {<Id.Lit_VarLike 'index_fileserver_text='> (DQ <None>)})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName INDEX_FILESERVER_TARGET)}
                                  right: 
                                    (arith_expr.Unary
                                      op_id: Id.Node_UnaryMinus
                                      child: {<Id.Lit_Digits 1>}
                                    )
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'index_fileserver_text='>
                              name: index_fileserver_text
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <ProFTP>)}
                          spids: [79441]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [79423 79438]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName INDEX_FILESERVER_TARGET)}
                                  right: 
                                    (arith_expr.Unary
                                      op_id: Id.Node_UnaryMinus
                                      child: {<Id.Lit_Digits 2>}
                                    )
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'index_fileserver_text='>
                              name: index_fileserver_text
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <Samba>)}
                          spids: [79465]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [79447 79462]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<local>} {<Id.Lit_VarLike 'index_logging_text='> (DQ <None>)})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName INDEX_LOGGING_TARGET)}
                                  right: 
                                    (arith_expr.Unary
                                      op_id: Id.Node_UnaryMinus
                                      child: {<Id.Lit_Digits 1>}
                                    )
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'index_logging_text='>
                              name: index_logging_text
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <'DietPi-Ramlog #1'>)}
                          spids: [79505]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [79487 79502]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName INDEX_LOGGING_TARGET)}
                                  right: 
                                    (arith_expr.Unary
                                      op_id: Id.Node_UnaryMinus
                                      child: {<Id.Lit_Digits 2>}
                                    )
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'index_logging_text='>
                              name: index_logging_text
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <'DietPi-Ramlog #2'>)}
                          spids: [79529]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [79511 79526]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName INDEX_LOGGING_TARGET)}
                                  right: 
                                    (arith_expr.Unary
                                      op_id: Id.Node_UnaryMinus
                                      child: {<Id.Lit_Digits 3>}
                                    )
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'index_logging_text='>
                              name: index_logging_text
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <Full>)}
                          spids: [79553]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [79535 79550]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<local>} {<Id.Lit_VarLike 'toberemoved_text='> (SQ )})
            (C {<Check_USB_Drive_Installed>})
            (C {<local>} 
              {<Id.Lit_VarLike 'user_data_location_current='> 
                (command_sub
                  left_token: <Id.Left_DollarParen '$('>
                  child: (C {<readlink>} {<-f>} {($ Id.VSub_DollarName G_FP_DIETPI_USERDATA)})
                  right: <Id.Eof_RParen _>
                )
              }
            )
            (C {<local>} {<Id.Lit_VarLike 'user_data_location_description='> (SQ )})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} 
                              {(DQ ($ Id.VSub_DollarName user_data_location_current))} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName FP_DIETPI_DEDICATED_USBDRIVE))} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'user_data_location_description='>
                              name: user_data_location_description
                            )
                          op: assign_op.Equal
                          rhs: 
                            {(DQ <'USB Drive | '> ($ Id.VSub_DollarName user_data_location_current))}
                          spids: [79628]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [79607 79624]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (C {<Id.Lit_LBracket '['>} 
                              {(DQ ($ Id.VSub_DollarName user_data_location_current))} {<Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName G_FP_DIETPI_USERDATA))} {<Id.Lit_RBracket ']'>}
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'user_data_location_description='>
                              name: user_data_location_description
                            )
                          op: assign_op.Equal
                          rhs: {(DQ <'SD/EMMC | '> ($ Id.VSub_DollarName user_data_location_current))}
                          spids: [79657]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [79636 79653]
                )
              ]
              else_action: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: 
                        (sh_lhs_expr.Name
                          left: <Id.Lit_VarLike 'user_data_location_description='>
                          name: user_data_location_description
                        )
                      op: assign_op.Equal
                      rhs: {(DQ <'Custom | '> ($ Id.VSub_DollarName user_data_location_current))}
                      spids: [79669]
                    )
                  ]
                  redirects: []
                )
              ]
              redirects: []
            )
            (C {<local>} {<Id.Lit_VarLike 'index_webserver_text='> (SQ <Apache2>)})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName INDEX_WEBSERVER_TARGET)}
                                  right: 
                                    (arith_expr.Unary
                                      op_id: Id.Node_UnaryMinus
                                      child: {<Id.Lit_Digits 1>}
                                    )
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'index_webserver_text='>
                              name: index_webserver_text
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <Nginx>)}
                          spids: [79712]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [79693 79708]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName INDEX_WEBSERVER_TARGET)}
                                  right: 
                                    (arith_expr.Unary
                                      op_id: Id.Node_UnaryMinus
                                      child: {<Id.Lit_Digits 2>}
                                    )
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'index_webserver_text='>
                              name: index_webserver_text
                            )
                          op: assign_op.Equal
                          rhs: {(SQ <Lighttpd>)}
                          spids: [79738]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [79719 79734]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                  op: assign_op.Equal
                  rhs: {(SQ <DietPi-Software>)}
                  spids: [79749]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_BACKTITLE='> name:WHIP_BACKTITLE)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ <'DietPi-Software | IP: '> 
                        (command_sub
                          left_token: <Id.Left_DollarParen '$('>
                          child: (C {<sed>} {<-n>} {<4p>} {<'/DietPi/dietpi/.network'>})
                          right: <Id.Eof_RParen _>
                        ) <' | Device: '> ($ Id.VSub_DollarName G_HW_MODEL_DESCRIPTION)
                      )
                    }
                  spids: [79755]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (command_sub
                        left_token: <Id.Left_DollarParen '$('>
                        child: 
                          (command.Simple
                            words: [
                              {<whiptail>}
                              {<--title>}
                              {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                              {<--backtitle>}
                              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                              {<--menu>}
                              {(DQ )}
                              {<--default-item>}
                              {(DQ ($ Id.VSub_DollarName MENU_MAIN_LASTITEM))}
                              {<--cancel-button>}
                              {(DQ <Exit>)}
                              {<20>}
                              {<100>}
                              {<13>}
                              {(DQ <'Help!'>)}
                              {(DQ <'Links to online guides, docs and information'>)}
                              {(DQ <DietPi-Config>)}
                              {(DQ <'Feature-rich configuration tool for your device'>)}
                              {(DQ )}
                              {
                                (DQ 
                                  <
'─── Select Software ─────────────────────────'
                                  >
                                )
                              }
                              {(DQ <'Software Optimized'>)}
                              {(DQ <'Select DietPi optimized software for installation'>)}
                              {(DQ <'Software Additional'>)}
                              {(DQ <'Select additional Linux software for installation'>)}
                              {(DQ <'SSH Server'>)}
                              {(DQ <': '> ($ Id.VSub_DollarName index_sshserver_text))}
                              {(DQ <'File Server'>)}
                              {(DQ <': '> ($ Id.VSub_DollarName index_fileserver_text))}
                              {(DQ <'Log System'>)}
                              {(DQ <': '> ($ Id.VSub_DollarName index_logging_text))}
                              {(DQ <'Webserver Preference'>)}
                              {(DQ <': '> ($ Id.VSub_DollarName index_webserver_text))}
                              {(DQ <'User Data Location'>)}
                              {(DQ <': '> ($ Id.VSub_DollarName user_data_location_description))}
                              {(DQ )}
                              {
                                (DQ 
                                  <
'─── Install or Remove Software ──────────────'
                                  >
                                )
                              }
                              {(DQ <Uninstall>)}
                              {(DQ <'Select installed software for removal'>)}
                              {(DQ <Install>)}
                              {(DQ <'Go >> Start installation for selected software'>)}
                            ]
                            redirects: [
                              (redir
                                op: <Id.Redir_GreatAnd '3>&'>
                                loc: (redir_loc.Fd fd:3)
                                arg: {<1>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '1>&'>
                                loc: (redir_loc.Fd fd:1)
                                arg: {<2>}
                              )
                              (redir
                                op: <Id.Redir_GreatAnd '2>&'>
                                loc: (redir_loc.Fd fd:2)
                                arg: {<3>}
                              )
                            ]
                            more_env: []
                            do_fork: T
                          )
                        right: <Id.Eof_RParen _>
                      )
                    }
                  spids: [79773]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_QMark '?')}
                  spids: [79957]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName CHOICE)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'MENU_MAIN_LASTITEM='>
                              name: MENU_MAIN_LASTITEM
                            )
                          op: assign_op.Equal
                          rhs: {(DQ ($ Id.VSub_DollarName OPTION))}
                          spids: [79979]
                        )
                      ]
                      redirects: []
                    )
                    (command.Case
                      to_match: {(DQ ($ Id.VSub_DollarName OPTION))}
                      arms: [
                        (case_arm
                          pat_list: [{(DQ <Uninstall>)}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<3>}
                                  spids: [80003]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [79996 79999 80008 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ <'Software Optimized'>)}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [80019]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [80012 80015 80024 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ <'Software Additional'>) <Id.Lit_Star '*'>}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<2>}
                                  spids: [80036]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [80028 80032 80041 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ <'SSH Server'>)}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'WHIP_TITLE='>
                                      name: WHIP_TITLE
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <'SSH Server Choices'>)}
                                  spids: [80052]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Simple
                                            words: [
                                              {<whiptail>}
                                              {<--title>}
                                              {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                                              {<--menu>}
                                              {
                                                (DQ <'> None'> <Id.Lit_BadBackslash '\\'> 
                                                  <
'nSelecting this option will uninstall all SSH servers. This reduces system resources and improves performance. Useful for users who do NOT require networked/remote terminal access.'
                                                  > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n> Dropbear (Recommended)'> 
                                                  <Id.Lit_BadBackslash '\\'> <'nLightweight SSH server, installed by default on DietPi systems.'> <Id.Lit_BadBackslash '\\'> <n> 
                                                  <Id.Lit_BadBackslash '\\'> <'n> OpenSSH'> <Id.Lit_BadBackslash '\\'> 
                                                  <
'nA feature rich SSH server with SFTP/SCP support, at the cost of increased resource usage.'
                                                  >
                                                )
                                              }
                                              {<--cancel-button>}
                                              {(DQ <Back>)}
                                              {<--default-item>}
                                              {(DQ ($ Id.VSub_DollarName index_sshserver_text))}
                                              {<21>}
                                              {<75>}
                                              {<3>}
                                              {(DQ <None>)}
                                              {(DQ <'Not required / manual setup.'>)}
                                              {(DQ <Dropbear>)}
                                              {(DQ <'Lightweight SSH Server (Recommended).'>)}
                                              {(DQ <OpenSSH>)}
                                              {
                                                (DQ 
                                                  <'Feature Rich SSH Server with SFTP/SCP support.'>
                                                )
                                              }
                                            ]
                                            redirects: [
                                              (redir
                                                op: <Id.Redir_GreatAnd '3>&'>
                                                loc: (redir_loc.Fd fd:3)
                                                arg: {<1>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '1>&'>
                                                loc: (redir_loc.Fd fd:1)
                                                arg: {<2>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '2>&'>
                                                loc: (redir_loc.Fd fd:2)
                                                arg: {<3>}
                                              )
                                            ]
                                            more_env: []
                                            do_fork: T
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [80058]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<Id.Lit_LBracket '['>} 
                                              {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <None>)} {<Id.Lit_RBracket ']'>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'INDEX_SSHSERVER_TARGET='>
                                              name: INDEX_SSHSERVER_TARGET
                                            )
                                          op: assign_op.Equal
                                          rhs: {<0>}
                                          spids: [80173]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'toberemoved_text='>
                                              name: toberemoved_text
                                            )
                                          op: assign_op.Equal
                                          rhs: {(DQ <'Dropbear and OpenSSH Server'>)}
                                          spids: [80177]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [80152 80169]
                                )
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<Id.Lit_LBracket '['>} 
                                              {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <Dropbear>)} {<Id.Lit_RBracket ']'>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'INDEX_SSHSERVER_TARGET='>
                                              name: INDEX_SSHSERVER_TARGET
                                            )
                                          op: assign_op.Equal
                                          rhs: {<-1>}
                                          spids: [80205]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'toberemoved_text='>
                                              name: toberemoved_text
                                            )
                                          op: assign_op.Equal
                                          rhs: {(DQ <'OpenSSH Server'>)}
                                          spids: [80209]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [80184 80201]
                                )
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<Id.Lit_LBracket '['>} 
                                              {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <OpenSSH>)} {<Id.Lit_RBracket ']'>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'INDEX_SSHSERVER_TARGET='>
                                              name: INDEX_SSHSERVER_TARGET
                                            )
                                          op: assign_op.Equal
                                          rhs: {<-2>}
                                          spids: [80237]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'toberemoved_text='>
                                              name: toberemoved_text
                                            )
                                          op: assign_op.Equal
                                          rhs: {(DQ <Dropbear>)}
                                          spids: [80241]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [80216 80233]
                                )
                              ]
                              else_action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'INDEX_SSHSERVER_TARGET='>
                                          name: INDEX_SSHSERVER_TARGET
                                        )
                                      op: assign_op.Equal
                                      rhs: {($ Id.VSub_DollarName INDEX_SSHSERVER_CURRENT)}
                                      spids: [80256]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_SSHSERVER_CHOICESMADE='>
                                      name: INSTALL_SSHSERVER_CHOICESMADE
                                    )
                                  op: assign_op.Equal
                                  rhs: {<0>}
                                  spids: [80269]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_NEqual
                                                  left: 
                                                    {($ Id.VSub_DollarName INDEX_SSHSERVER_TARGET)}
                                                  right: 
                                                    {($ Id.VSub_DollarName INDEX_SSHSERVER_CURRENT)}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'INSTALL_SSHSERVER_CHOICESMADE='>
                                              name: INSTALL_SSHSERVER_CHOICESMADE
                                            )
                                          op: assign_op.Equal
                                          rhs: {<1>}
                                          spids: [80291]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'WHIP_TITLE='>
                                              name: WHIP_TITLE
                                            )
                                          op: assign_op.Equal
                                          rhs: {(DQ <'SSH Server Change'>)}
                                          spids: [80300]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                                              name: WHIP_QUESTION
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName OPTION) 
                                                <' has been selected:'> <Id.Lit_BadBackslash '\\'> 
                                                <
'n- Your choice will be applied when \'Install Go >> Start installation\' is selected.'
                                                > <Id.Lit_BadBackslash '\\'> <'n- '> ($ Id.VSub_DollarName toberemoved_text) 
                                                <
' installations will be automatically uninstalled.'
                                                >
                                              )
                                            }
                                          spids: [80306]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} 
                                      {<--msgbox>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} 
                                      {<11>} {<75>}
                                    )
                                  ]
                                  spids: [80273 80287]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                          spids: [80045 80048 80348 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ <'File Server'>)}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'WHIP_TITLE='>
                                      name: WHIP_TITLE
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <'Fileserver Choices'>)}
                                  spids: [80359]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Simple
                                            words: [
                                              {<whiptail>}
                                              {<--title>}
                                              {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                                              {<--menu>}
                                              {
                                                (DQ <'> None'> <Id.Lit_BadBackslash '\\'> 
                                                  <
'nSelect this option if you do NOT require a method of accessing files and folders on this device, over a network.'
                                                  > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n> ProFTP (Recommended for RPi v1)'> 
                                                  <Id.Lit_BadBackslash '\\'> 
                                                  <
'nAllows you to access/share files on this device efficiently with minimal cpu usage. Uses FTP protocol.'
                                                  > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n> Samba (Recommended for RPi v2)'> 
                                                  <Id.Lit_BadBackslash '\\'> <'nAllows you to easily access/share files on this device, at the cost of higher cpu usage.'> 
                                                  <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nMore info: http://dietpi.com/phpbb/viewtopic.php?f=8&t=15#p19'>
                                                )
                                              }
                                              {<--cancel-button>}
                                              {(DQ <Back>)}
                                              {<--default-item>}
                                              {(DQ ($ Id.VSub_DollarName index_fileserver_text))}
                                              {<23>}
                                              {<75>}
                                              {<3>}
                                              {(DQ <None>)}
                                              {(DQ <'Not required / manual setup.'>)}
                                              {(DQ <ProFTP>)}
                                              {
                                                (DQ 
                                                  <
'Efficient, lightweight fileserver (recommended).'
                                                  >
                                                )
                                              }
                                              {(DQ <Samba>)}
                                              {(DQ <'Feature-rich fileserver.'>)}
                                            ]
                                            redirects: [
                                              (redir
                                                op: <Id.Redir_GreatAnd '3>&'>
                                                loc: (redir_loc.Fd fd:3)
                                                arg: {<1>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '1>&'>
                                                loc: (redir_loc.Fd fd:1)
                                                arg: {<2>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '2>&'>
                                                loc: (redir_loc.Fd fd:2)
                                                arg: {<3>}
                                              )
                                            ]
                                            more_env: []
                                            do_fork: T
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [80365]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<Id.Lit_LBracket '['>} 
                                              {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <None>)} {<Id.Lit_RBracket ']'>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'INDEX_FILESERVER_TARGET='>
                                              name: INDEX_FILESERVER_TARGET
                                            )
                                          op: assign_op.Equal
                                          rhs: {<0>}
                                          spids: [80483]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'toberemoved_text='>
                                              name: toberemoved_text
                                            )
                                          op: assign_op.Equal
                                          rhs: {(DQ <'ProFTP and Samba Server'>)}
                                          spids: [80487]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [80463 80480]
                                )
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<Id.Lit_LBracket '['>} 
                                              {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <ProFTP>)} {<Id.Lit_RBracket ']'>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'INDEX_FILESERVER_TARGET='>
                                              name: INDEX_FILESERVER_TARGET
                                            )
                                          op: assign_op.Equal
                                          rhs: {<-1>}
                                          spids: [80513]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'toberemoved_text='>
                                              name: toberemoved_text
                                            )
                                          op: assign_op.Equal
                                          rhs: {(DQ <'Samba Server'>)}
                                          spids: [80517]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [80493 80510]
                                )
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<Id.Lit_LBracket '['>} 
                                              {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <Samba>)} {<Id.Lit_RBracket ']'>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'INDEX_FILESERVER_TARGET='>
                                              name: INDEX_FILESERVER_TARGET
                                            )
                                          op: assign_op.Equal
                                          rhs: {<-2>}
                                          spids: [80543]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'toberemoved_text='>
                                              name: toberemoved_text
                                            )
                                          op: assign_op.Equal
                                          rhs: {(DQ <ProFTP>)}
                                          spids: [80547]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [80523 80540]
                                )
                              ]
                              else_action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'INDEX_FILESERVER_TARGET='>
                                          name: INDEX_FILESERVER_TARGET
                                        )
                                      op: assign_op.Equal
                                      rhs: {($ Id.VSub_DollarName INDEX_FILESERVER_CURRENT)}
                                      spids: [80560]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_FILESERVER_CHOICESMADE='>
                                      name: INSTALL_FILESERVER_CHOICESMADE
                                    )
                                  op: assign_op.Equal
                                  rhs: {<0>}
                                  spids: [80572]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_NEqual
                                                  left: 
                                                    {($ Id.VSub_DollarName INDEX_FILESERVER_TARGET)}
                                                  right: 
                                                    {($ Id.VSub_DollarName INDEX_FILESERVER_CURRENT)}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: 
                                                <Id.Lit_VarLike 'INSTALL_FILESERVER_CHOICESMADE='>
                                              name: INSTALL_FILESERVER_CHOICESMADE
                                            )
                                          op: assign_op.Equal
                                          rhs: {<1>}
                                          spids: [80593]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'WHIP_TITLE='>
                                              name: WHIP_TITLE
                                            )
                                          op: assign_op.Equal
                                          rhs: {(DQ <'Fileserver Choice Change'>)}
                                          spids: [80602]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                                              name: WHIP_QUESTION
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName OPTION) 
                                                <' has been selected:'> <Id.Lit_BadBackslash '\\'> 
                                                <
'n- Your choice will be applied when \'Install Go >> Start installation\' is selected.'
                                                > <Id.Lit_BadBackslash '\\'> <'n- '> ($ Id.VSub_DollarName toberemoved_text) 
                                                <
' installations will be automatically uninstalled.'
                                                >
                                              )
                                            }
                                          spids: [80608]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} 
                                      {<--msgbox>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} 
                                      {<11>} {<75>}
                                    )
                                  ]
                                  spids: [80576 80590]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                          spids: [80352 80355 80650 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ <'Log System'>)}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'WHIP_TITLE='>
                                      name: WHIP_TITLE
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <'Logging System Choices'>)}
                                  spids: [80661]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Simple
                                            words: [
                                              {<whiptail>}
                                              {<--title>}
                                              {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                                              {<--menu>}
                                              {
                                                (DQ <'> None'> <Id.Lit_BadBackslash '\\'> 
                                                  <
'nSelecting this option will uninstall DietPi-Ramlog, Logrotate, Rsyslog.'
                                                  > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n> DietPi-Ramlog #1 (Max performance)'> 
                                                  <Id.Lit_BadBackslash '\\'> 
                                                  <
'nMounts /var/log to RAM, reducing filesystem IO. Logfiles are cleared every hour. Does NOT save logfiles to disk.'
                                                  > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n> DietPi-Ramlog #2'> 
                                                  <Id.Lit_BadBackslash '\\'> <'nSame as #1, with the added feature of saving logfile contents to disk ('> 
                                                  ($ Id.VSub_DollarName HOME) <'/logfile_storage/*), before being cleared.'> <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                                                  <'n> Full (Reduces performance)'> <Id.Lit_BadBackslash '\\'> 
                                                  <
'nMounts /var/log to DISK, reduces SDcard lifespan. Full logging system with Logrotate and Rsyslog.'
                                                  >
                                                )
                                              }
                                              {<--cancel-button>}
                                              {(DQ <Back>)}
                                              {<--default-item>}
                                              {(DQ ($ Id.VSub_DollarName index_logging_text))}
                                              {<25>}
                                              {<75>}
                                              {<4>}
                                              {(DQ <None>)}
                                              {(DQ <' Not required / manual setup.'>)}
                                              {(DQ <'DietPi-Ramlog #1'>)}
                                              {(DQ <' Hourly clear (recommended).'>)}
                                              {(DQ <'DietPi-Ramlog #2'>)}
                                              {(DQ <' Hourly save, then clear.'>)}
                                              {(DQ <Full>)}
                                              {(DQ <' Logrotate and Rsyslog.'>)}
                                            ]
                                            redirects: [
                                              (redir
                                                op: <Id.Redir_GreatAnd '3>&'>
                                                loc: (redir_loc.Fd fd:3)
                                                arg: {<1>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '1>&'>
                                                loc: (redir_loc.Fd fd:1)
                                                arg: {<2>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '2>&'>
                                                loc: (redir_loc.Fd fd:2)
                                                arg: {<3>}
                                              )
                                            ]
                                            more_env: []
                                            do_fork: T
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [80667]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<Id.Lit_LBracket '['>} 
                                              {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <None>)} {<Id.Lit_RBracket ']'>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'INDEX_LOGGING_TARGET='>
                                              name: INDEX_LOGGING_TARGET
                                            )
                                          op: assign_op.Equal
                                          rhs: {<0>}
                                          spids: [80799]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'toberemoved_text='>
                                              name: toberemoved_text
                                            )
                                          op: assign_op.Equal
                                          rhs: {(DQ <'DietPi-Ramlog, Logrotate, Rsyslog'>)}
                                          spids: [80803]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [80779 80796]
                                )
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<Id.Lit_LBracket '['>} 
                                              {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <'DietPi-Ramlog #1'>)} {<Id.Lit_RBracket ']'>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'INDEX_LOGGING_TARGET='>
                                              name: INDEX_LOGGING_TARGET
                                            )
                                          op: assign_op.Equal
                                          rhs: {<-1>}
                                          spids: [80829]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'toberemoved_text='>
                                              name: toberemoved_text
                                            )
                                          op: assign_op.Equal
                                          rhs: {(DQ <'Logrotate, Rsyslog'>)}
                                          spids: [80833]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [80809 80826]
                                )
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<Id.Lit_LBracket '['>} 
                                              {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <'DietPi-Ramlog #2'>)} {<Id.Lit_RBracket ']'>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'INDEX_LOGGING_TARGET='>
                                              name: INDEX_LOGGING_TARGET
                                            )
                                          op: assign_op.Equal
                                          rhs: {<-2>}
                                          spids: [80859]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'toberemoved_text='>
                                              name: toberemoved_text
                                            )
                                          op: assign_op.Equal
                                          rhs: {(DQ <'Logrotate, Rsyslog'>)}
                                          spids: [80863]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [80839 80856]
                                )
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<Id.Lit_LBracket '['>} 
                                              {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <Full>)} {<Id.Lit_RBracket ']'>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'INDEX_LOGGING_TARGET='>
                                              name: INDEX_LOGGING_TARGET
                                            )
                                          op: assign_op.Equal
                                          rhs: {<-3>}
                                          spids: [80889]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'toberemoved_text='>
                                              name: toberemoved_text
                                            )
                                          op: assign_op.Equal
                                          rhs: {(DQ <DietPi-Ramlog>)}
                                          spids: [80893]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [80869 80886]
                                )
                              ]
                              else_action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'INDEX_LOGGING_TARGET='>
                                          name: INDEX_LOGGING_TARGET
                                        )
                                      op: assign_op.Equal
                                      rhs: {($ Id.VSub_DollarName INDEX_LOGGING_CURRENT)}
                                      spids: [80906]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INSTALL_LOGGING_CHOICESMADE='>
                                      name: INSTALL_LOGGING_CHOICESMADE
                                    )
                                  op: assign_op.Equal
                                  rhs: {<0>}
                                  spids: [80918]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_NEqual
                                                  left: {($ Id.VSub_DollarName INDEX_LOGGING_TARGET)}
                                                  right: 
                                                    {($ Id.VSub_DollarName INDEX_LOGGING_CURRENT)}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'INSTALL_LOGGING_CHOICESMADE='>
                                              name: INSTALL_LOGGING_CHOICESMADE
                                            )
                                          op: assign_op.Equal
                                          rhs: {<1>}
                                          spids: [80939]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'WHIP_TITLE='>
                                              name: WHIP_TITLE
                                            )
                                          op: assign_op.Equal
                                          rhs: {(DQ <'Logging System Change'>)}
                                          spids: [80948]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                                              name: WHIP_QUESTION
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ ($ Id.VSub_DollarName OPTION) 
                                                <' has been selected:'> <Id.Lit_BadBackslash '\\'> 
                                                <
'n- Your choice will be applied when \'Install Go >> Start installation\' is selected.'
                                                > <Id.Lit_BadBackslash '\\'> <'n- '> ($ Id.VSub_DollarName toberemoved_text) 
                                                <
' installations will be automatically uninstalled.'
                                                >
                                              )
                                            }
                                          spids: [80954]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} 
                                      {<--msgbox>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} 
                                      {<11>} {<75>}
                                    )
                                  ]
                                  spids: [80922 80936]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                          spids: [80654 80657 80995 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ <'User Data Location'>)}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'WHIP_TITLE='>
                                      name: WHIP_TITLE
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <'User Data Location'>)}
                                  spids: [81006]
                                )
                              ]
                              redirects: []
                            )
                            (C {<local>} 
                              {<Id.Lit_VarLike 'move_data_target='> 
                                ($ Id.VSub_DollarName user_data_location_current)
                              }
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Simple
                                            words: [
                                              {<whiptail>}
                                              {<--title>}
                                              {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                                              {<--menu>}
                                              {
                                                (DQ 
                                                  <
'Choose where to store your user data. User data includes software such as Owncloud data store, BitTorrent downloads etc'
                                                  > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nMore information on user data in DietPi:'> 
                                                  <Id.Lit_BadBackslash '\\'> <'n - http://dietpi.com/phpbb/viewtopic.php?f=8&t=478&p=2087'> <Id.Lit_BadBackslash '\\'> <n> 
                                                  <Id.Lit_BadBackslash '\\'> <'n> DietPi-Drive Manager'> <Id.Lit_BadBackslash '\\'> 
                                                  <
'nLaunch DietPi-Drive Manager to setup external drives, and, move user data to different locations.'
                                                  >
                                                )
                                              }
                                              {<--cancel-button>}
                                              {(DQ <Back>)}
                                              {<20>}
                                              {<85>}
                                              {<3>}
                                              {(DQ <'Drive Manager'>)}
                                              {(DQ <'Launches DietPi-Drive Manager'>)}
                                              {(DQ <List>)}
                                              {
                                                (DQ 
                                                  <
'Select from a list of available mounts/drives, to move user data'
                                                  >
                                                )
                                              }
                                              {(DQ <Custom>)}
                                              {(DQ <'Input a manual location to move user data'>)}
                                            ]
                                            redirects: [
                                              (redir
                                                op: <Id.Redir_GreatAnd '3>&'>
                                                loc: (redir_loc.Fd fd:3)
                                                arg: {<1>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '1>&'>
                                                loc: (redir_loc.Fd fd:1)
                                                arg: {<2>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '2>&'>
                                                loc: (redir_loc.Fd fd:2)
                                                arg: {<3>}
                                              )
                                            ]
                                            more_env: []
                                            do_fork: T
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [81024]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [81105]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (C {<Id.Lit_LBracket '['>} 
                                                      {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <'Drive Manager'>)} {<Id.Lit_RBracket ']'>}
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [(C {<'/DietPi/dietpi/dietpi-drive_manager'>})]
                                          spids: [81132 81149]
                                        )
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (C {<Id.Lit_LBracket '['>} 
                                                      {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <List>)} {<Id.Lit_RBracket ']'>}
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (C {<'/DietPi/dietpi/dietpi-drive_manager'>} {<1>})
                                            (C {<local>} 
                                              {<Id.Lit_VarLike 'return_value='> 
                                                (DQ 
                                                  (command_sub
                                                    left_token: <Id.Left_DollarParen '$('>
                                                    child: 
                                                      (C {<cat>} {<'/tmp/dietpi-drive_manager_selmnt'>})
                                                    right: <Id.Eof_RParen _>
                                                  )
                                                )
                                              }
                                            )
                                            (command.If
                                              arms: [
                                                (if_arm
                                                  cond: 
                                                    (condition.Shell
                                                      commands: [
                                                        (command.Sentence
                                                          child: 
                                                            (C {<Id.Lit_LBracket '['>} {<-n>} 
                                                              {
                                                                (DQ 
                                                                  ($ Id.VSub_DollarName return_value)
                                                                )
                                                              } {<Id.Lit_RBracket ']'>}
                                                            )
                                                          terminator: <Id.Op_Semi _>
                                                        )
                                                      ]
                                                    )
                                                  action: [
                                                    (command.If
                                                      arms: [
                                                        (if_arm
                                                          cond: 
                                                            (condition.Shell
                                                              commands: [
                                                                (command.Sentence
                                                                  child: 
                                                                    (C {<Id.Lit_LBracket '['>} 
                                                                      {
                                                                        (DQ 
                                                                          ($ Id.VSub_DollarName 
return_value
                                                                          )
                                                                        )
                                                                      } {<Id.Lit_Equals '='>} {(DQ <'/'>)} {<Id.Lit_RBracket ']'>}
                                                                    )
                                                                  terminator: <Id.Op_Semi _>
                                                                )
                                                              ]
                                                            )
                                                          action: [
                                                            (command.ShAssignment
                                                              pairs: [
                                                                (assign_pair
                                                                  lhs: 
                                                                    (sh_lhs_expr.Name
                                                                      left: 
                                                                        <Id.Lit_VarLike 
'return_value='
                                                                        >
                                                                      name: return_value
                                                                    )
                                                                  op: assign_op.Equal
                                                                  rhs: {(SQ <'/mnt'>)}
                                                                  spids: [81238]
                                                                )
                                                              ]
                                                              redirects: []
                                                            )
                                                          ]
                                                          spids: [81217 81234]
                                                        )
                                                      ]
                                                      else_action: []
                                                      redirects: []
                                                    )
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: 
                                                            (sh_lhs_expr.Name
                                                              left: 
                                                                <Id.Lit_VarLike 'move_data_target='>
                                                              name: move_data_target
                                                            )
                                                          op: assign_op.Equal
                                                          rhs: 
                                                            {(DQ ($ Id.VSub_DollarName return_value))}
                                                          spids: [81249]
                                                        )
                                                      ]
                                                      redirects: []
                                                    )
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: 
                                                            (sh_lhs_expr.Name
                                                              left: 
                                                                <Id.Lit_VarLike 'move_data_target+='>
                                                              name: move_data_target
                                                            )
                                                          op: assign_op.PlusEqual
                                                          rhs: {(SQ <'/dietpi_userdata'>)}
                                                          spids: [81255]
                                                        )
                                                      ]
                                                      redirects: []
                                                    )
                                                  ]
                                                  spids: [81200 81213]
                                                )
                                              ]
                                              else_action: []
                                              redirects: []
                                            )
                                          ]
                                          spids: [81161 81178]
                                        )
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (C {<Id.Lit_LBracket '['>} 
                                                      {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <Custom>)} {<Id.Lit_RBracket ']'>}
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'OPTION='>
                                                      name: OPTION
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (command_sub
                                                        left_token: <Id.Left_DollarParen '$('>
                                                        child: 
                                                          (command.Simple
                                                            words: [
                                                              {<whiptail>}
                                                              {<--inputbox>}
                                                              {
                                                                (DQ 
                                                                  <
'Please input a location. Your user data will be stored inside this location.'
                                                                  > <Id.Lit_BadBackslash '\\'> <'n - eg: /mnt/MyDrive/MyData'>
                                                                )
                                                              }
                                                              {<11>}
                                                              {<60>}
                                                              {
                                                                (DQ 
                                                                  ($ Id.VSub_DollarName 
user_data_location_current
                                                                  )
                                                                )
                                                              }
                                                              {<--title>}
                                                              {(DQ <'User/Personal Data Directory'>)}
                                                              {<--backtitle>}
                                                              {
                                                                (DQ 
                                                                  ($ Id.VSub_DollarName 
WHIP_BACKTITLE
                                                                  )
                                                                )
                                                              }
                                                            ]
                                                            redirects: [
                                                              (redir
                                                                op: <Id.Redir_GreatAnd '3>&'>
                                                                loc: (redir_loc.Fd fd:3)
                                                                arg: {<1>}
                                                              )
                                                              (redir
                                                                op: <Id.Redir_GreatAnd '1>&'>
                                                                loc: (redir_loc.Fd fd:1)
                                                                arg: {<2>}
                                                              )
                                                              (redir
                                                                op: <Id.Redir_GreatAnd '2>&'>
                                                                loc: (redir_loc.Fd fd:2)
                                                                arg: {<3>}
                                                              )
                                                            ]
                                                            more_env: []
                                                            do_fork: T
                                                          )
                                                        right: <Id.Eof_RParen _>
                                                      )
                                                    }
                                                  spids: [81291]
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'CHOICE='>
                                                      name: CHOICE
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {($ Id.VSub_QMark '?')}
                                                  spids: [81334]
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (command.If
                                              arms: [
                                                (if_arm
                                                  cond: 
                                                    (condition.Shell
                                                      commands: [
                                                        (command.Sentence
                                                          child: 
                                                            (command.DParen
                                                              child: 
                                                                (arith_expr.Binary
                                                                  op_id: Id.Arith_DEqual
                                                                  left: 
                                                                    {($ Id.VSub_DollarName CHOICE)}
                                                                  right: {<Id.Lit_Digits 0>}
                                                                )
                                                              redirects: []
                                                            )
                                                          terminator: <Id.Op_Semi _>
                                                        )
                                                      ]
                                                    )
                                                  action: [
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: 
                                                            (sh_lhs_expr.Name
                                                              left: 
                                                                <Id.Lit_VarLike 'move_data_target='>
                                                              name: move_data_target
                                                            )
                                                          op: assign_op.Equal
                                                          rhs: {($ Id.VSub_DollarName OPTION)}
                                                          spids: [81355]
                                                        )
                                                      ]
                                                      redirects: []
                                                    )
                                                  ]
                                                  spids: [81338 81352]
                                                )
                                              ]
                                              else_action: []
                                              redirects: []
                                            )
                                          ]
                                          spids: [81270 81287]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (C {<Id.Lit_LBracket '['>} 
                                                      {
                                                        (DQ 
                                                          ($ Id.VSub_DollarName 
user_data_location_current
                                                          )
                                                        )
                                                      } {<Id.KW_Bang '!'> <Id.Lit_Equals '='>} {(DQ ($ Id.VSub_DollarName move_data_target))} 
                                                      {<Id.Lit_RBracket ']'>}
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (C {<whiptail>} {<--title>} {(DQ <'User data transfer'>)} 
                                              {<--yesno>} 
                                              {
                                                (DQ 
                                                  <
'DietPi will now attempt to transfer your existing user data to the new location:'
                                                  > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n - From: '> 
                                                  ($ Id.VSub_DollarName user_data_location_current) <Id.Lit_BadBackslash '\\'> <'n - To: '> ($ Id.VSub_DollarName move_data_target) 
                                                  <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nWould you like to begin?'>
                                                )
                                              } {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<--defaultno>} {<14>} {<70>}
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'CHOICE='>
                                                      name: CHOICE
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {($ Id.VSub_QMark '?')}
                                                  spids: [81436]
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (command.If
                                              arms: [
                                                (if_arm
                                                  cond: 
                                                    (condition.Shell
                                                      commands: [
                                                        (command.Sentence
                                                          child: 
                                                            (command.DParen
                                                              child: 
                                                                (arith_expr.Binary
                                                                  op_id: Id.Arith_DEqual
                                                                  left: 
                                                                    {($ Id.VSub_DollarName CHOICE)}
                                                                  right: {<Id.Lit_Digits 0>}
                                                                )
                                                              redirects: []
                                                            )
                                                          terminator: <Id.Op_Semi _>
                                                        )
                                                      ]
                                                    )
                                                  action: [
                                                    (C {<'/DietPi/dietpi/func/dietpi-set_userdata'>} 
                                                      {
                                                        (DQ 
                                                          ($ Id.VSub_DollarName 
user_data_location_current
                                                          )
                                                        )
                                                      } {(DQ ($ Id.VSub_DollarName move_data_target))}
                                                    )
                                                    (command.If
                                                      arms: [
                                                        (if_arm
                                                          cond: 
                                                            (condition.Shell
                                                              commands: [
                                                                (command.Sentence
                                                                  child: 
                                                                    (command.DParen
                                                                      child: 
                                                                        (arith_expr.Binary
                                                                          op_id: Id.Arith_DEqual
                                                                          left: 
                                                                            {($ Id.VSub_QMark '?')}
                                                                          right: {<Id.Lit_Digits 0>}
                                                                        )
                                                                      redirects: []
                                                                    )
                                                                  terminator: <Id.Op_Semi _>
                                                                )
                                                              ]
                                                            )
                                                          action: [
                                                            (C {<whiptail>} {<--title>} 
                                                              {(DQ <'User data transfer: Completed'>)} {<--msgbox>} 
                                                              {
                                                                (DQ 
                                                                  <
'Your user data has been sucessfuly moved:'
                                                                  > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n - From: '> 
                                                                  ($ Id.VSub_DollarName 
user_data_location_current
                                                                  ) <Id.Lit_BadBackslash '\\'> <'n - To: '> ($ Id.VSub_DollarName move_data_target)
                                                                )
                                                              } {<12>} {<70>}
                                                            )
                                                          ]
                                                          spids: [81474 81488]
                                                        )
                                                      ]
                                                      else_action: [
                                                        (C {<whiptail>} {<--title>} 
                                                          {(DQ <'User data transfer: Failed'>)} {<--msgbox>} 
                                                          {
                                                            (DQ 
                                                              (command_sub
                                                                left_token: 
                                                                  <Id.Left_DollarParen '$('>
                                                                child: 
                                                                  (C {<cat>} 
                                                                    {
                                                                      <
'/var/log/dietpi-move_userdata.log'
                                                                      >
                                                                    }
                                                                  )
                                                                right: <Id.Eof_RParen _>
                                                              ) <Id.Lit_BadBackslash '\\'> <'nNo changes have been applied.'>
                                                            )
                                                          } {<12>} {<70>}
                                                        )
                                                      ]
                                                      redirects: []
                                                    )
                                                  ]
                                                  spids: [81440 81454]
                                                )
                                              ]
                                              else_action: []
                                              redirects: []
                                            )
                                          ]
                                          spids: [81371 81389]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                  ]
                                  spids: [81110 81124]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                          spids: [80999 81002 81565 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ <'Webserver Preference'>)}]
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'WHIP_TITLE='>
                                      name: WHIP_TITLE
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <'Webserver Preference'>)}
                                  spids: [81575]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Simple
                                            words: [
                                              {<whiptail>}
                                              {<--title>}
                                              {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                                              {<--menu>}
                                              {
                                                (DQ 
                                                  <
'More Info: http://dietpi.com/phpbb/viewtopic.php?f=8&t=5&p=1549#p1549'
                                                  > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n> Apache2'> <Id.Lit_BadBackslash '\\'> 
                                                  <
'nFeature-rich and popular. Recommended for beginners and users who are looking to follow Apache2 based guides.'
                                                  > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n> Nginx'> <Id.Lit_BadBackslash '\\'> 
                                                  <
'nLightweight alternative to Apache2. Nginx claims faster webserver performance compared to Apache2.'
                                                  > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'n> Lighttpd'> <Id.Lit_BadBackslash '\\'> 
                                                  <
'nExtremely lightweight and is generally considered to offer the '
                                                  > (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <best> 
                                                  (word_part.EscapedLiteral
                                                    token: <Id.Lit_EscapedChar '\\"'>
                                                    ch: '"'
                                                  ) <' webserver performance for SBC\'s. Recommended for users who expect low webserver traffic.'>
                                                )
                                              }
                                              {<--cancel-button>}
                                              {(DQ <Back>)}
                                              {<--default-item>}
                                              {(DQ ($ Id.VSub_DollarName index_webserver_text))}
                                              {<24>}
                                              {<75>}
                                              {<3>}
                                              {(DQ <Apache2>)}
                                              {(DQ <'Popular webserver.'>)}
                                              {(DQ <Nginx>)}
                                              {(DQ <'Lightweight webserver.'>)}
                                              {(DQ <Lighttpd>)}
                                              {(DQ <'Extremely lightweight webserver.'>)}
                                            ]
                                            redirects: [
                                              (redir
                                                op: <Id.Redir_GreatAnd '3>&'>
                                                loc: (redir_loc.Fd fd:3)
                                                arg: {<1>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '1>&'>
                                                loc: (redir_loc.Fd fd:1)
                                                arg: {<2>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '2>&'>
                                                loc: (redir_loc.Fd fd:2)
                                                arg: {<3>}
                                              )
                                            ]
                                            more_env: []
                                            do_fork: T
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [81581]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<Id.Lit_LBracket '['>} 
                                              {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <Apache2>)} {<Id.Lit_RBracket ']'>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'INDEX_WEBSERVER_TARGET='>
                                              name: INDEX_WEBSERVER_TARGET
                                            )
                                          op: assign_op.Equal
                                          rhs: {<0>}
                                          spids: [81703]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [81683 81700]
                                )
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<Id.Lit_LBracket '['>} 
                                              {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <Nginx>)} {<Id.Lit_RBracket ']'>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'INDEX_WEBSERVER_TARGET='>
                                              name: INDEX_WEBSERVER_TARGET
                                            )
                                          op: assign_op.Equal
                                          rhs: {<-1>}
                                          spids: [81727]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [81707 81724]
                                )
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<Id.Lit_LBracket '['>} 
                                              {(DQ ($ Id.VSub_DollarName OPTION))} {<Id.Lit_Equals '='>} {(DQ <Lighttpd>)} {<Id.Lit_RBracket ']'>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'INDEX_WEBSERVER_TARGET='>
                                              name: INDEX_WEBSERVER_TARGET
                                            )
                                          op: assign_op.Equal
                                          rhs: {<-2>}
                                          spids: [81751]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [81731 81748]
                                )
                              ]
                              else_action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'INDEX_WEBSERVER_TARGET='>
                                          name: INDEX_WEBSERVER_TARGET
                                        )
                                      op: assign_op.Equal
                                      rhs: {($ Id.VSub_DollarName INDEX_WEBSERVER_CURRENT)}
                                      spids: [81762]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_NEqual
                                                  left: 
                                                    {($ Id.VSub_DollarName INDEX_WEBSERVER_TARGET)}
                                                  right: 
                                                    {($ Id.VSub_DollarName INDEX_WEBSERVER_CURRENT)}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (C {<local>} 
                                      {<Id.Lit_VarLike 'incompatible_webserver_preference='> <0>}
                                    )
                                    (C {<local>} 
                                      {<Id.Lit_VarLike 'info_currently_installed_webserver='> 
                                        (SQ <None>)
                                      }
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        {
                                                          (command_sub
                                                            left_token: <Id.Left_DollarParen '$('>
                                                            child: 
                                                              (command.Pipeline
                                                                children: [
                                                                  (C {<dpkg>} {<-l>})
                                                                  (C {<awk>} {(SQ <'{print $2}'>)})
                                                                  (C {<grep>} {<-ci>} {<-m1>} 
                                                                    {(SQ <apache2>)}
                                                                  )
                                                                ]
                                                                negated: F
                                                                stderr_indices: []
                                                              )
                                                            right: <Id.Eof_RParen _>
                                                          )
                                                        }
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: 
                                                        <Id.Lit_VarLike 'INDEX_WEBSERVER_CURRENT='>
                                                      name: INDEX_WEBSERVER_CURRENT
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {<0>}
                                                  spids: [81847]
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: 
                                                        <Id.Lit_VarLike 
'info_currently_installed_webserver='
                                                        >
                                                      name: info_currently_installed_webserver
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {(SQ <Apache2>)}
                                                  spids: [81851]
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (command.If
                                              arms: [
                                                (if_arm
                                                  cond: 
                                                    (condition.Shell
                                                      commands: [
                                                        (command.Sentence
                                                          child: 
                                                            (command.DParen
                                                              child: 
                                                                (arith_expr.Binary
                                                                  op_id: Id.Arith_NEqual
                                                                  left: 
                                                                    {
                                                                      ($ Id.VSub_DollarName 
INDEX_WEBSERVER_TARGET
                                                                      )
                                                                    }
                                                                  right: {<Id.Lit_Digits 0>}
                                                                )
                                                              redirects: []
                                                            )
                                                          terminator: <Id.Op_Semi _>
                                                        )
                                                      ]
                                                    )
                                                  action: [
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: 
                                                            (sh_lhs_expr.Name
                                                              left: 
                                                                <Id.Lit_VarLike 
'incompatible_webserver_preference='
                                                                >
                                                              name: 
incompatible_webserver_preference
                                                            )
                                                          op: assign_op.Equal
                                                          rhs: {<1>}
                                                          spids: [81874]
                                                        )
                                                      ]
                                                      redirects: []
                                                    )
                                                  ]
                                                  spids: [81857 81871]
                                                )
                                              ]
                                              else_action: []
                                              redirects: []
                                            )
                                          ]
                                          spids: [81811 81844]
                                        )
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        {
                                                          (command_sub
                                                            left_token: <Id.Left_DollarParen '$('>
                                                            child: 
                                                              (command.Pipeline
                                                                children: [
                                                                  (C {<dpkg>} {<-l>})
                                                                  (C {<awk>} {(SQ <'{print $2}'>)})
                                                                  (C {<grep>} {<-ci>} {<-m1>} 
                                                                    {(SQ <nginx>)}
                                                                  )
                                                                ]
                                                                negated: F
                                                                stderr_indices: []
                                                              )
                                                            right: <Id.Eof_RParen _>
                                                          )
                                                        }
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: 
                                                        <Id.Lit_VarLike 'INDEX_WEBSERVER_CURRENT='>
                                                      name: INDEX_WEBSERVER_CURRENT
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {<-1>}
                                                  spids: [81918]
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: 
                                                        <Id.Lit_VarLike 
'info_currently_installed_webserver='
                                                        >
                                                      name: info_currently_installed_webserver
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {(SQ <Nginx>)}
                                                  spids: [81922]
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (command.If
                                              arms: [
                                                (if_arm
                                                  cond: 
                                                    (condition.Shell
                                                      commands: [
                                                        (command.Sentence
                                                          child: 
                                                            (command.DParen
                                                              child: 
                                                                (arith_expr.Binary
                                                                  op_id: Id.Arith_NEqual
                                                                  left: 
                                                                    {
                                                                      ($ Id.VSub_DollarName 
INDEX_WEBSERVER_TARGET
                                                                      )
                                                                    }
                                                                  right: 
                                                                    (arith_expr.Unary
                                                                      op_id: Id.Node_UnaryMinus
                                                                      child: {<Id.Lit_Digits 1>}
                                                                    )
                                                                )
                                                              redirects: []
                                                            )
                                                          terminator: <Id.Op_Semi _>
                                                        )
                                                      ]
                                                    )
                                                  action: [
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: 
                                                            (sh_lhs_expr.Name
                                                              left: 
                                                                <Id.Lit_VarLike 
'incompatible_webserver_preference='
                                                                >
                                                              name: 
incompatible_webserver_preference
                                                            )
                                                          op: assign_op.Equal
                                                          rhs: {<1>}
                                                          spids: [81946]
                                                        )
                                                      ]
                                                      redirects: []
                                                    )
                                                  ]
                                                  spids: [81928 81943]
                                                )
                                              ]
                                              else_action: []
                                              redirects: []
                                            )
                                          ]
                                          spids: [81881 81915]
                                        )
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        {
                                                          (command_sub
                                                            left_token: <Id.Left_DollarParen '$('>
                                                            child: 
                                                              (command.Pipeline
                                                                children: [
                                                                  (C {<dpkg>} {<-l>})
                                                                  (C {<awk>} {(SQ <'{print $2}'>)})
                                                                  (C {<grep>} {<-ci>} {<-m1>} 
                                                                    {(SQ <lighttpd>)}
                                                                  )
                                                                ]
                                                                negated: F
                                                                stderr_indices: []
                                                              )
                                                            right: <Id.Eof_RParen _>
                                                          )
                                                        }
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: 
                                                        <Id.Lit_VarLike 'INDEX_WEBSERVER_CURRENT='>
                                                      name: INDEX_WEBSERVER_CURRENT
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {<-2>}
                                                  spids: [81990]
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: 
                                                        <Id.Lit_VarLike 
'info_currently_installed_webserver='
                                                        >
                                                      name: info_currently_installed_webserver
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {(SQ <Lighttpd>)}
                                                  spids: [81994]
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (command.If
                                              arms: [
                                                (if_arm
                                                  cond: 
                                                    (condition.Shell
                                                      commands: [
                                                        (command.Sentence
                                                          child: 
                                                            (command.DParen
                                                              child: 
                                                                (arith_expr.Binary
                                                                  op_id: Id.Arith_NEqual
                                                                  left: 
                                                                    {
                                                                      ($ Id.VSub_DollarName 
INDEX_WEBSERVER_TARGET
                                                                      )
                                                                    }
                                                                  right: 
                                                                    (arith_expr.Unary
                                                                      op_id: Id.Node_UnaryMinus
                                                                      child: {<Id.Lit_Digits 2>}
                                                                    )
                                                                )
                                                              redirects: []
                                                            )
                                                          terminator: <Id.Op_Semi _>
                                                        )
                                                      ]
                                                    )
                                                  action: [
                                                    (command.ShAssignment
                                                      pairs: [
                                                        (assign_pair
                                                          lhs: 
                                                            (sh_lhs_expr.Name
                                                              left: 
                                                                <Id.Lit_VarLike 
'incompatible_webserver_preference='
                                                                >
                                                              name: 
incompatible_webserver_preference
                                                            )
                                                          op: assign_op.Equal
                                                          rhs: {<1>}
                                                          spids: [82018]
                                                        )
                                                      ]
                                                      redirects: []
                                                    )
                                                  ]
                                                  spids: [82000 82015]
                                                )
                                              ]
                                              else_action: []
                                              redirects: []
                                            )
                                          ]
                                          spids: [81953 81987]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DEqual
                                                          left: 
                                                            {
                                                              ($ Id.VSub_DollarName 
incompatible_webserver_preference
                                                              )
                                                            }
                                                          right: {<Id.Lit_Digits 1>}
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: 
                                                        <Id.Lit_VarLike 'INDEX_WEBSERVER_TARGET='>
                                                      name: INDEX_WEBSERVER_TARGET
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {($ Id.VSub_DollarName INDEX_WEBSERVER_CURRENT)}
                                                  spids: [82051]
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'WHIP_TITLE='>
                                                      name: WHIP_TITLE
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ 
                                                        <'Error: Incompatible Webserver Preference'>
                                                      )
                                                    }
                                                  spids: [82060]
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                                                      name: WHIP_QUESTION
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: 
                                                    {
                                                      (DQ 
                                                        <
'Unable to change your webserver preference to '
                                                        > ($ Id.VSub_DollarName OPTION) <.> <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                                                        <
'nThis is due to an existing and incompatible webserver installation on your system ('
                                                        > ($ Id.VSub_DollarName info_currently_installed_webserver) 
                                                        <
'). Please remove all webserver based software (using dietpi-software > uninstall), before trying again.'
                                                        >
                                                      )
                                                    }
                                                  spids: [82066]
                                                )
                                              ]
                                              redirects: []
                                            )
                                            (C {<whiptail>} {<--title>} 
                                              {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--msgbox>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} 
                                              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<11>} {<75>}
                                            )
                                          ]
                                          spids: [82033 82047]
                                        )
                                      ]
                                      else_action: [
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: 
                                                (sh_lhs_expr.Name
                                                  left: <Id.Lit_VarLike 'WHIP_TITLE='>
                                                  name: WHIP_TITLE
                                                )
                                              op: assign_op.Equal
                                              rhs: {(DQ <'Webserver Preference Changed'>)}
                                              spids: [82119]
                                            )
                                          ]
                                          redirects: []
                                        )
                                        (command.ShAssignment
                                          pairs: [
                                            (assign_pair
                                              lhs: 
                                                (sh_lhs_expr.Name
                                                  left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                                                  name: WHIP_QUESTION
                                                )
                                              op: assign_op.Equal
                                              rhs: 
                                                {
                                                  (DQ ($ Id.VSub_DollarName OPTION) 
                                                    <
' has been selected as your webserver preference.'
                                                    > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                                                    <
'nWhen you select any software for install that requires a webserver, DietPi will automatically install your prefered choice ('
                                                    > ($ Id.VSub_DollarName OPTION) <').'>
                                                  )
                                                }
                                              spids: [82125]
                                            )
                                          ]
                                          redirects: []
                                        )
                                        (C {<whiptail>} {<--title>} 
                                          {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--msgbox>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} 
                                          {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<11>} {<75>}
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [81774 81788]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                          spids: [81569 81572 82178 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ <DietPi-Config>)}]
                          action: [(C {<'/DietPi/dietpi/dietpi-config'>})]
                          spids: [82182 82185 82193 -1]
                        )
                        (case_arm
                          pat_list: [{(DQ <'Help!'>)}]
                          action: [
                            (command.Simple
                              words: [{<cat>}]
                              redirects: [
                                (redir
                                  op: <Id.Redir_DLess '<<'>
                                  loc: (redir_loc.Fd fd:0)
                                  arg: 
                                    (redir_param.HereDoc
                                      here_begin: {<_EOF_>}
                                      here_end_span_id: 82234
                                      stdin_parts: [
                                        <
'───────────────────────────────────────────────────────────────\n'
                                        >
                                        <'Welcome to DietPi:\n'>
                                        <
'───────────────────────────────────────────────────────────────\n'
                                        >
                                        <
'Use PageUp/Down or Arrow Up/Down to scroll this help screen.\n'
                                        >
                                        <'Press ESC, or TAB then enter to exit this help screen.\n'>
                                        <'\n'>
                                        <
'Easy to follow, step by step guides for installing DietPi:\n'
                                        >
                                        <'http://dietpi.com/phpbb/viewtopic.php?f=8&t=9\n'>
                                        <'\n'>
                                        <
'For a list of all installation options and their details:\n'
                                        >
                                        <'http://dietpi.com/software\n'>
                                        <'\n'>
                                        <
'───────────────────────────────────────────────────────────────\n'
                                        >
                                        <
'List of installed software and their URL links for online docs:\n'
                                        >
                                        <
'───────────────────────────────────────────────────────────────\n'
                                        >
                                      ]
                                    )
                                )
                                (redir
                                  op: <Id.Redir_Great '>'>
                                  loc: (redir_loc.Fd fd:1)
                                  arg: {<'/tmp/dietpi-software_help_onlinedoc_url_list'>}
                                )
                              ]
                              more_env: []
                              do_fork: T
                            )
                            (command.ForExpr
                              init: 
                                (arith_expr.BinaryAssign
                                  op_id: Id.Arith_Equal
                                  left: ($ Id.Lit_ArithVarLike i)
                                  right: {<Id.Lit_Digits 0>}
                                )
                              cond: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_Less
                                  left: ($ Id.Lit_ArithVarLike i)
                                  right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)}
                                )
                              update: 
                                (arith_expr.UnaryAssign
                                  op_id: Id.Node_PostDPlus
                                  child: ($ Id.Lit_ArithVarLike i)
                                )
                              body: 
                                (command.DoGroup
                                  children: [
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_Great
                                                          left: 
                                                            {
                                                              (braced_var_sub
                                                                left: <Id.Left_DollarBrace '${'>
                                                                token: 
                                                                  <Id.VSub_Name 
aSOFTWARE_INSTALL_STATE
                                                                  >
                                                                var_name: aSOFTWARE_INSTALL_STATE
                                                                bracket_op: 
                                                                  (bracket_op.ArrayIndex
                                                                    expr: {($ Id.VSub_DollarName i)}
                                                                  )
                                                                right: <Id.Right_DollarBrace '}'>
                                                              )
                                                            }
                                                          right: {<Id.Lit_Digits 0>}
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (command.If
                                              arms: [
                                                (if_arm
                                                  cond: 
                                                    (condition.Shell
                                                      commands: [
                                                        (command.Sentence
                                                          child: 
                                                            (C {<Id.Lit_LBracket '['>} {<-n>} 
                                                              {
                                                                (DQ 
                                                                  (braced_var_sub
                                                                    left: <Id.Left_DollarBrace '${'>
                                                                    token: 
                                                                      <Id.VSub_Name 
aSOFTWARE_ONLINEDOC_URL
                                                                      >
                                                                    var_name: 
aSOFTWARE_ONLINEDOC_URL
                                                                    bracket_op: 
                                                                      (bracket_op.ArrayIndex
                                                                        expr: 
                                                                          {($ Id.VSub_DollarName i)}
                                                                      )
                                                                    right: <Id.Right_DollarBrace '}'>
                                                                  )
                                                                )
                                                              } {<Id.Lit_RBracket ']'>}
                                                            )
                                                          terminator: <Id.Op_Semi _>
                                                        )
                                                      ]
                                                    )
                                                  action: [
                                                    (command.Simple
                                                      words: [{<cat>}]
                                                      redirects: [
                                                        (redir
                                                          op: <Id.Redir_DLess '<<'>
                                                          loc: (redir_loc.Fd fd:0)
                                                          arg: 
                                                            (redir_param.HereDoc
                                                              here_begin: {<_EOF_>}
                                                              here_end_span_id: 82343
                                                              stdin_parts: [
                                                                (braced_var_sub
                                                                  left: <Id.Left_DollarBrace '${'>
                                                                  token: 
                                                                    <Id.VSub_Name 
aSOFTWARE_WHIP_NAME
                                                                    >
                                                                  var_name: aSOFTWARE_WHIP_NAME
                                                                  bracket_op: 
                                                                    (bracket_op.ArrayIndex
                                                                      expr: {($ Id.VSub_DollarName i)}
                                                                    )
                                                                  right: <Id.Right_DollarBrace '}'>
                                                                )
                                                                <': '>
                                                                (braced_var_sub
                                                                  left: <Id.Left_DollarBrace '${'>
                                                                  token: 
                                                                    <Id.VSub_Name 
aSOFTWARE_WHIP_NAME
                                                                    >
                                                                  var_name: aSOFTWARE_WHIP_NAME
                                                                  bracket_op: 
                                                                    (bracket_op.ArrayIndex
                                                                      expr: {($ Id.VSub_DollarName i)}
                                                                    )
                                                                  right: <Id.Right_DollarBrace '}'>
                                                                )
                                                                <'\n'>
                                                                ($ Id.VSub_DollarName 
FP_ONLINEDOC_URL
                                                                )
                                                                (braced_var_sub
                                                                  left: <Id.Left_DollarBrace '${'>
                                                                  token: 
                                                                    <Id.VSub_Name 
aSOFTWARE_ONLINEDOC_URL
                                                                    >
                                                                  var_name: aSOFTWARE_ONLINEDOC_URL
                                                                  bracket_op: 
                                                                    (bracket_op.ArrayIndex
                                                                      expr: {($ Id.VSub_DollarName i)}
                                                                    )
                                                                  right: <Id.Right_DollarBrace '}'>
                                                                )
                                                                <'\n'>
                                                                <'\n'>
                                                              ]
                                                            )
                                                        )
                                                        (redir
                                                          op: <Id.Redir_DGreat '>>'>
                                                          loc: (redir_loc.Fd fd:1)
                                                          arg: 
                                                            {
                                                              <
'/tmp/dietpi-software_help_onlinedoc_url_list'
                                                              >
                                                            }
                                                        )
                                                      ]
                                                      more_env: []
                                                      do_fork: T
                                                    )
                                                  ]
                                                  spids: [82287 82305]
                                                )
                                              ]
                                              else_action: []
                                              redirects: []
                                            )
                                          ]
                                          spids: [82264 82283]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                  ]
                                )
                              redirects: []
                            )
                            (C {<whiptail>} {<--title>} {(DQ <'DietPi - Help'>)} {<--backtitle>} 
                              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<--textbox>} {<'/tmp/dietpi-software_help_onlinedoc_url_list'>} 
                              {
                                (word_part.ArithSub
                                  anode: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_Minus
                                      left: 
                                        {
                                          (command_sub
                                            left_token: <Id.Left_DollarParen '$('>
                                            child: (C {<tput>} {<lines>})
                                            right: <Id.Eof_RParen _>
                                          )
                                        }
                                      right: {<Id.Lit_Digits 3>}
                                    )
                                )
                              } 
                              {
                                (word_part.ArithSub
                                  anode: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_Minus
                                      left: 
                                        {
                                          (command_sub
                                            left_token: <Id.Left_DollarParen '$('>
                                            child: (C {<tput>} {<cols>})
                                            right: <Id.Eof_RParen _>
                                          )
                                        }
                                      right: {<Id.Lit_Digits 3>}
                                    )
                                )
                              } {<--scrolltext>}
                            )
                          ]
                          spids: [82197 82200 82410 -1]
                        )
                        (case_arm
                          pat_list: [{<Install>}]
                          action: [(C {<Menu_StartInstall>})]
                          spids: [82414 82415 82423 -1]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [79961 79975]
                )
              ]
              else_action: [(C {<Menu_Exit>})]
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Menu_Exit
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName G_DIETPI_INSTALL_STAGE)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                          op: assign_op.Equal
                          rhs: {(SQ <'Exit Setup?'>)}
                          spids: [82479]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                              name: WHIP_QUESTION
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                <
' DietPi has not fully been installed.\\n This must be completed prior to using DietPi by selecting:\\n - Go Start Install. \\n \\n Would you like to exit and abort the installation?'
                                >
                              )
                            }
                          spids: [82485]
                        )
                      ]
                      redirects: []
                    )
                    (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--yesno>} 
                      {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} 
                      {(DQ <Back>)} {<--defaultno>} {<13>} {<65>}
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_QMark '?')}
                          spids: [82530]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName CHOICE)}
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<Banner_Aborted>}) (C {<Exit_Destroy>})]
                          spids: [82534 82548]
                        )
                      ]
                      else_action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'TARGETMENUID='>
                                  name: TARGETMENUID
                                )
                              op: assign_op.Equal
                              rhs: {<0>}
                              spids: [82568]
                            )
                          ]
                          redirects: []
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [82462 82476]
                )
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName G_DIETPI_INSTALL_STAGE)}
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                          op: assign_op.Equal
                          rhs: {(SQ <'Exit DietPi-Software?'>)}
                          spids: [82596]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                              name: WHIP_QUESTION
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                <
'Do you wish to exit DietPi-Software?\\n\\nAll changes to software selections will be cleared.'
                                >
                              )
                            }
                          spids: [82602]
                        )
                      ]
                      redirects: []
                    )
                    (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--yesno>} 
                      {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} 
                      {(DQ <Back>)} {<--defaultno>} {<11>} {<65>}
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_QMark '?')}
                          spids: [82647]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName CHOICE)}
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<Banner_Aborted>}) (C {<Exit_Destroy>})]
                          spids: [82651 82665]
                        )
                      ]
                      else_action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'TARGETMENUID='>
                                  name: TARGETMENUID
                                )
                              op: assign_op.Equal
                              rhs: {<0>}
                              spids: [82685]
                            )
                          ]
                          redirects: []
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [82579 82593]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Menu_ConfirmInstall
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<local>} {<Id.Lit_VarLike 'string_output='> (SQ )})
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 0>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_Less
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {($ Id.VSub_DollarName i)}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'string_output+='>
                                      name: string_output
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (DQ <Id.Lit_BadBackslash '\\'> <'n - '> 
                                        (braced_var_sub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name aSOFTWARE_WHIP_NAME>
                                          var_name: aSOFTWARE_WHIP_NAME
                                          bracket_op: 
                                            (bracket_op.ArrayIndex
                                              expr: {($ Id.VSub_DollarName i)}
                                            )
                                          right: <Id.Right_DollarBrace '}'>
                                        ) <': '> 
                                        (braced_var_sub
                                          left: <Id.Left_DollarBrace '${'>
                                          token: <Id.VSub_Name aSOFTWARE_WHIP_DESC>
                                          var_name: aSOFTWARE_WHIP_DESC
                                          bracket_op: 
                                            (bracket_op.ArrayIndex
                                              expr: {($ Id.VSub_DollarName i)}
                                            )
                                          right: <Id.Right_DollarBrace '}'>
                                        )
                                      )
                                    }
                                  spids: [82763]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [82740 82759]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                  op: assign_op.Equal
                  rhs: {(SQ <'DietPi - Start Installation?'>)}
                  spids: [82796]
                )
              ]
              redirects: []
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_QUESTION='> name:WHIP_QUESTION)
                  op: assign_op.Equal
                  rhs: 
                    {
                      (DQ <'DietPi is now ready to install your software choices: '> 
                        ($ Id.VSub_DollarName string_output) <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                        <'nSoftware details, usernames, passwords etc:'> <Id.Lit_BadBackslash '\\'> <'n - http://dietpi.com/software'> <Id.Lit_BadBackslash '\\'> <n> 
                        <Id.Lit_BadBackslash '\\'> <'nWould you like to begin?'>
                      )
                    }
                  spids: [82802]
                )
              ]
              redirects: []
            )
            (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--yesno>} 
              {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Back>)} {<--defaultno>} {<--backtitle>} 
              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<20>} {<70>}
            )
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                  op: assign_op.Equal
                  rhs: {($ Id.VSub_QMark '?')}
                  spids: [82858]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName CHOICE)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'TARGETMENUID='>
                              name: TARGETMENUID
                            )
                          op: assign_op.Equal
                          rhs: {<-1>}
                          spids: [82884]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'GOSTARTINSTALL='>
                              name: GOSTARTINSTALL
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [82893]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [82862 82876]
                )
              ]
              else_action: [
                (command.ShAssignment
                  pairs: [
                    (assign_pair
                      lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGETMENUID='> name:TARGETMENUID)
                      op: assign_op.Equal
                      rhs: {<0>}
                      spids: [82906]
                    )
                  ]
                  redirects: []
                )
              ]
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Menu_StartInstall
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DPipe
                                  left: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DPipe
                                      left: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DPipe
                                          left: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DPipe
                                              left: 
                                                {($ Id.VSub_DollarName INSTALL_DIETPI_CHOICESMADE)}
                                              right: 
                                                {($ Id.VSub_DollarName INSTALL_LINUX_CHOICESMADE)}
                                            )
                                          right: 
                                            {($ Id.VSub_DollarName INSTALL_SSHSERVER_CHOICESMADE)}
                                        )
                                      right: {($ Id.VSub_DollarName INSTALL_FILESERVER_CHOICESMADE)}
                                    )
                                  right: {($ Id.VSub_DollarName INSTALL_LOGGING_CHOICESMADE)}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Menu_ConfirmInstall>})]
                  spids: [82930 82960]
                )
              ]
              else_action: [
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.DParen
                                  child: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: {($ Id.VSub_DollarName G_DIETPI_INSTALL_STAGE)}
                                      right: {<Id.Lit_Digits 0>}
                                    )
                                  redirects: []
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'WHIP_TITLE='>
                                  name: WHIP_TITLE
                                )
                              op: assign_op.Equal
                              rhs: {(SQ <'No Software Selected. Continue?'>)}
                              spids: [82998]
                            )
                          ]
                          redirects: []
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                                  name: WHIP_QUESTION
                                )
                              op: assign_op.Equal
                              rhs: 
                                {
                                  (SQ 
                                    <
'DietPi was unable to detect any software selections for install. Do you wish to continue?\\n\\nBy selecting Ok: \\n- DietPi optimized software will NOT be installed.\\nYou can use dietpi-software at a later date if you change your mind. \\n\\n- You want a Minimal Raspbian/Debian Server Install.\\nDietPi is a minimal image. A great OS base to use with your projects.'
                                    >
                                  )
                                }
                              spids: [83004]
                            )
                          ]
                          redirects: []
                        )
                        (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--yesno>} 
                          {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} 
                          {(DQ <Back>)} {<--defaultno>} {<16>} {<75>}
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                              op: assign_op.Equal
                              rhs: {($ Id.VSub_QMark '?')}
                              spids: [83049]
                            )
                          ]
                          redirects: []
                        )
                        (command.If
                          arms: [
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.DParen
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName CHOICE)}
                                              right: {<Id.Lit_Digits 0>}
                                            )
                                          redirects: []
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'TARGETMENUID='>
                                          name: TARGETMENUID
                                        )
                                      op: assign_op.Equal
                                      rhs: {<-1>}
                                      spids: [83075]
                                    )
                                  ]
                                  redirects: []
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'GOSTARTINSTALL='>
                                          name: GOSTARTINSTALL
                                        )
                                      op: assign_op.Equal
                                      rhs: {<1>}
                                      spids: [83084]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              spids: [83053 83067]
                            )
                          ]
                          else_action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'TARGETMENUID='>
                                      name: TARGETMENUID
                                    )
                                  op: assign_op.Equal
                                  rhs: {<0>}
                                  spids: [83097]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          redirects: []
                        )
                      ]
                      spids: [82980 82994]
                    )
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.DParen
                                  child: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: {($ Id.VSub_DollarName G_DIETPI_INSTALL_STAGE)}
                                      right: {<Id.Lit_Digits 1>}
                                    )
                                  redirects: []
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'WHIP_TITLE='>
                                  name: WHIP_TITLE
                                )
                              op: assign_op.Equal
                              rhs: {(SQ <'No Changes to Software Selection'>)}
                              spids: [83128]
                            )
                          ]
                          redirects: []
                        )
                        (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--msgbox>} 
                          {(DQ <'No changes have been detected. Unable to start installation.'>)} {<8>} {<65>}
                        )
                      ]
                      spids: [83110 83124]
                    )
                  ]
                  else_action: []
                  redirects: []
                )
              ]
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Menu_Dietpi_Software
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<Menu_CreateSoftwareList>} {<0>})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGETMENUID='> name:TARGETMENUID)
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [83194]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DAmp
                                  left: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: 
                                        {
                                          (braced_var_sub
                                            left: <Id.Left_DollarBrace '${'>
                                            token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                            var_name: aSOFTWARE_INSTALL_STATE
                                            bracket_op: 
                                              (bracket_op.ArrayIndex
                                                expr: {<Id.Lit_Digits 126>}
                                              )
                                            right: <Id.Right_DollarBrace '}'>
                                          )
                                        }
                                      right: {<Id.Lit_Digits 1>}
                                    )
                                  right: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DAmp
                                      left: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DAmp
                                          left: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DAmp
                                              left: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: 
                                                    {
                                                      (braced_var_sub
                                                        left: <Id.Left_DollarBrace '${'>
                                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                        var_name: aSOFTWARE_INSTALL_STATE
                                                        bracket_op: 
                                                          (bracket_op.ArrayIndex
                                                            expr: {<Id.Lit_Digits 77>}
                                                          )
                                                        right: <Id.Right_DollarBrace '}'>
                                                      )
                                                    }
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              right: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: 
                                                    {
                                                      (braced_var_sub
                                                        left: <Id.Left_DollarBrace '${'>
                                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                        var_name: aSOFTWARE_INSTALL_STATE
                                                        bracket_op: 
                                                          (bracket_op.ArrayIndex
                                                            expr: {<Id.Lit_Digits 78>}
                                                          )
                                                        right: <Id.Right_DollarBrace '}'>
                                                      )
                                                    }
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                            )
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: 
                                                {
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                    var_name: aSOFTWARE_INSTALL_STATE
                                                    bracket_op: 
                                                      (bracket_op.ArrayIndex
                                                        expr: {<Id.Lit_Digits 79>}
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  )
                                                }
                                              right: {<Id.Lit_Digits 0>}
                                            )
                                        )
                                      right: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_NEqual
                                          left: {($ Id.VSub_DollarName INDEX_WEBSERVER_TARGET)}
                                          right: 
                                            (arith_expr.Unary
                                              op_id: Id.Node_UnaryMinus
                                              child: {<Id.Lit_Digits 1>}
                                            )
                                        )
                                    )
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                          op: assign_op.Equal
                          rhs: {(SQ <'OMV: Requires Nginx'>)}
                          spids: [83288]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                              name: WHIP_QUESTION
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                <
'Open Media Vault (OMV) requires Nginx webserver and is not compatible with other web servers (eg: Lighttpd/Apache2). This is due to the OMV package listing Nginx as a dependency.'
                                > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nOptions:'> <Id.Lit_BadBackslash '\\'> 
                                <'n - Change \'web server choice\' to \'Nginx\''> <Id.Lit_BadBackslash '\\'> 
                                <
'n - Uninstall current web server, then, select any Nginx web stack for install (eg: LESP)'
                                > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                                <'nOpen Media Vault has been deselected and will not be installed.'>
                              )
                            }
                          spids: [83294]
                        )
                      ]
                      redirects: []
                    )
                    (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--msgbox>} 
                      {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<19>} {<70>}
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 126>}
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [83338]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [83212 83284]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DAmp
                                  left: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: 
                                        {
                                          (braced_var_sub
                                            left: <Id.Left_DollarBrace '${'>
                                            token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                            var_name: aSOFTWARE_INSTALL_STATE
                                            bracket_op: 
                                              (bracket_op.ArrayIndex
                                                expr: {<Id.Lit_Digits 116>}
                                              )
                                            right: <Id.Right_DollarBrace '}'>
                                          )
                                        }
                                      right: {<Id.Lit_Digits 1>}
                                    )
                                  right: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: 
                                        {
                                          (braced_var_sub
                                            left: <Id.Left_DollarBrace '${'>
                                            token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                            var_name: aSOFTWARE_INSTALL_STATE
                                            bracket_op: 
                                              (bracket_op.ArrayIndex
                                                expr: {<Id.Lit_Digits 44>}
                                              )
                                            right: <Id.Right_DollarBrace '}'>
                                          )
                                        }
                                      right: {<Id.Lit_Digits 0>}
                                    )
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                          op: assign_op.Equal
                          rhs: {(SQ <'SickRage - Install Transmission?'>)}
                          spids: [83392]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                              name: WHIP_QUESTION
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                <
'The DietPi SickRage installation is pre-configured to work with Transmission BitTorrent Server. This will allow SickRage to automatically download TV shows for you.'
                                > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                                <
'nNB: If you have another BitTorrent server installed, or prefer manual setup, please select No.'
                                > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                                <
'nWould you like DietPi to also install Transmission (recommended)?'
                                >
                              )
                            }
                          spids: [83398]
                        )
                      ]
                      redirects: []
                    )
                    (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--yesno>} 
                      {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<14>} {<72>}
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_QMark '?')}
                          spids: [83439]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName CHOICE)}
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.IndexedName
                                      left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                      name: aSOFTWARE_INSTALL_STATE
                                      index: {<Id.Lit_Digits 44>}
                                    )
                                  op: assign_op.Equal
                                  rhs: {<1>}
                                  spids: [83461]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [83443 83457]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [83355 83388]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DAmp
                                  left: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: 
                                        {
                                          (braced_var_sub
                                            left: <Id.Left_DollarBrace '${'>
                                            token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                            var_name: aSOFTWARE_INSTALL_STATE
                                            bracket_op: 
                                              (bracket_op.ArrayIndex
                                                expr: {<Id.Lit_Digits 49>}
                                              )
                                            right: <Id.Right_DollarBrace '}'>
                                          )
                                        }
                                      right: {<Id.Lit_Digits 1>}
                                    )
                                  right: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_NEqual
                                      left: {($ Id.VSub_DollarName INDEX_SSHSERVER_TARGET)}
                                      right: 
                                        (arith_expr.Unary
                                          op_id: Id.Node_UnaryMinus
                                          child: {<Id.Lit_Digits 2>}
                                        )
                                    )
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                          op: assign_op.Equal
                          rhs: {(SQ <'Gogs: Requires OpenSSH'>)}
                          spids: [83514]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                              name: WHIP_QUESTION
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ <'Gogs requires OpenSSH server to function.'> 
                                <Id.Lit_BadBackslash '\\'> 
                                <
'nIf you continue, OpenSSH will be selected for install on your system. OpenSSH will also replace Dropbear (if currently installed).'
                                > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                                <'nWould you like to continue with the Gogs installation?'>
                              )
                            }
                          spids: [83520]
                        )
                      ]
                      redirects: []
                    )
                    (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--yesno>} 
                      {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<13>} {<65>}
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_QMark '?')}
                          spids: [83559]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName CHOICE)}
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'INDEX_SSHSERVER_TARGET='>
                                      name: INDEX_SSHSERVER_TARGET
                                    )
                                  op: assign_op.Equal
                                  rhs: {<-2>}
                                  spids: [83585]
                                )
                              ]
                              redirects: []
                            )
                          ]
                          spids: [83563 83577]
                        )
                      ]
                      else_action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.IndexedName
                                  left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                  name: aSOFTWARE_INSTALL_STATE
                                  index: {<Id.Lit_Digits 49>}
                                )
                              op: assign_op.Equal
                              rhs: {<0>}
                              spids: [83594]
                            )
                          ]
                          redirects: []
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [83482 83510]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 74>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_LessEqual
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 82>}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {($ Id.VSub_DollarName i)}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'WHIP_TITLE='>
                                      name: WHIP_TITLE
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <'Info: Webserver Stack'>)}
                                  spids: [83665]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                                      name: WHIP_QUESTION
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ 
                                        <
'DietPi will automatically install a webserver stack (based on your Webserver Preference) when any software that requires a webserver is selected for installation (eg: Owncloud, PiHole etc).'
                                        > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                                        <
'nIt is highly recommended that you allow DietPi to do this for you, ensuring compatibility and stability across DietPi installed programs.'
                                        > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                                        <
'nPlease only select a webserver stack if you specifically need it, and, no other webserver stack is installed.'
                                        > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                                        <
'nTLDR: You do NOT need to select a webserver stack for installation with DietPi. Its all automatic.'
                                        >
                                      )
                                    }
                                  spids: [83671]
                                )
                              ]
                              redirects: []
                            )
                            (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} 
                              {<--msgbox>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} 
                              {<19>} {<70>}
                            )
                            (command.ControlFlow
                              token: <Id.ControlFlow_Break break>
                            )
                          ]
                          spids: [83642 83661]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DAmp
                                  left: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DAmp
                                      left: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 90>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                      right: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName INDEX_WEBSERVER_TARGET)}
                                          right: 
                                            (arith_expr.Unary
                                              op_id: Id.Node_UnaryMinus
                                              child: {<Id.Lit_Digits 2>}
                                            )
                                        )
                                    )
                                  right: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DAmp
                                      left: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Less
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 80>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 2>}
                                        )
                                      right: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_Less
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 82>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 2>}
                                        )
                                    )
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                          op: assign_op.Equal
                          rhs: {(SQ <PhpMyAdmin>)}
                          spids: [83799]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                              name: WHIP_QUESTION
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                <
'Due to a apt-get installation issue with PhpMyAdmin, you must have a fully installed Lighttpd + MaridaDB webserver stack, before PhpMyAdmin can be selected for install.'
                                > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                                <'nYour selection for PhpMyAdmin has been removed.'>
                              )
                            }
                          spids: [83805]
                        )
                      ]
                      redirects: []
                    )
                    (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--msgbox>} 
                      {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<13>} {<70>}
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.IndexedName
                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                              name: aSOFTWARE_INSTALL_STATE
                              index: {<Id.Lit_Digits 90>}
                            )
                          op: assign_op.Equal
                          rhs: {<0>}
                          spids: [83841]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [83735 83795]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 59>})
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                          op: assign_op.Equal
                          rhs: {(SQ <'DietPi Cam - Camera'>)}
                          spids: [83881]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                              name: WHIP_QUESTION
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (DQ 
                                <
'DietPi Cam will automatically start and activate the camera during boot. This will prevent other programs (eg: raspistill) from using the camera.'
                                > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nYou can free up the camera by selecting '> 
                                (word_part.EscapedLiteral
                                  token: <Id.Lit_EscapedChar '\\"'>
                                  ch: '"'
                                ) <'Stop Camera'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') 
                                <' from the web interface:'> <Id.Lit_BadBackslash '\\'> <'nhttp://myip/dietpicam'>
                              )
                            }
                          spids: [83887]
                        )
                      ]
                      redirects: []
                    )
                    (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--msgbox>} 
                      {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<15>} {<70>}
                    )
                  ]
                  spids: [83858 83877]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 99>})
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'USER_EMONHUB_APIKEY_CURRENT='>
                              name: USER_EMONHUB_APIKEY_CURRENT
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (command_sub
                                left_token: <Id.Left_DollarParen '$('>
                                child: 
                                  (command.Pipeline
                                    children: [
                                      (C {<cat>} {<'/DietPi/dietpi.txt'>})
                                      (C {<grep>} {<-m1>} {(SQ <'^SOFTWARE_EMONHUB_APIKEY='>)})
                                      (C {<sed>} {(SQ <'s/.*=//'>)})
                                    ]
                                    negated: F
                                    stderr_indices: []
                                  )
                                right: <Id.Eof_RParen _>
                              )
                            }
                          spids: [83968]
                        )
                      ]
                      redirects: []
                    )
                    (command.WhileUntil
                      keyword: <Id.KW_While while>
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.DParen
                                  child: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: {($ Id.VSub_DollarName USER_EMONHUB_APIKEY_COMPLETED)}
                                      right: {<Id.Lit_Digits 0>}
                                    )
                                  redirects: []
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      body: 
                        (command.DoGroup
                          children: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'WHIP_TITLE='>
                                      name: WHIP_TITLE
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <'EmonPi/Hub - API KEY'>)}
                                  spids: [84013]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                                      name: WHIP_QUESTION
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ <'Please enter your '> 
                                        (word_part.EscapedLiteral
                                          token: <Id.Lit_EscapedChar '\\"'>
                                          ch: '"'
                                        ) <'Write API KEY'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <':'> 
                                        <Id.Lit_BadBackslash '\\'> <'n - Goto http://emoncms.org and register an account and login.'> <Id.Lit_BadBackslash '\\'> 
                                        <'n - Select '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <Setup> 
                                        (word_part.EscapedLiteral
                                          token: <Id.Lit_EscapedChar '\\"'>
                                          ch: '"'
                                        ) <' from the top right of screen, then select '> 
                                        (word_part.EscapedLiteral
                                          token: <Id.Lit_EscapedChar '\\"'>
                                          ch: '"'
                                        ) <'My Account'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') 
                                        <Id.Lit_BadBackslash '\\'> <'n - Enter the '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') <'Write API Key'> 
                                        (word_part.EscapedLiteral
                                          token: <Id.Lit_EscapedChar '\\"'>
                                          ch: '"'
                                        ) <' into the box below.'>
                                      )
                                    }
                                  spids: [84019]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION)
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (command_sub
                                        left_token: <Id.Left_DollarParen '$('>
                                        child: 
                                          (command.Simple
                                            words: [
                                              {<whiptail>}
                                              {<--inputbox>}
                                              {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))}
                                              {<14>}
                                              {<75>}
                                              {
                                                (DQ 
                                                  ($ Id.VSub_DollarName USER_EMONHUB_APIKEY_CURRENT)
                                                )
                                              }
                                              {<--title>}
                                              {(DQ ($ Id.VSub_DollarName WHIP_TITLE))}
                                              {<--backtitle>}
                                              {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                                            ]
                                            redirects: [
                                              (redir
                                                op: <Id.Redir_GreatAnd '3>&'>
                                                loc: (redir_loc.Fd fd:3)
                                                arg: {<1>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '1>&'>
                                                loc: (redir_loc.Fd fd:1)
                                                arg: {<2>}
                                              )
                                              (redir
                                                op: <Id.Redir_GreatAnd '2>&'>
                                                loc: (redir_loc.Fd fd:2)
                                                arg: {<3>}
                                              )
                                            ]
                                            more_env: []
                                            do_fork: T
                                          )
                                        right: <Id.Eof_RParen _>
                                      )
                                    }
                                  spids: [84046]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                                  op: assign_op.Equal
                                  rhs: {($ Id.VSub_QMark '?')}
                                  spids: [84087]
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName CHOICE)}
                                                  right: {<Id.Lit_Digits 0>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'USER_EMONHUB_APIKEY_CURRENT='>
                                              name: USER_EMONHUB_APIKEY_CURRENT
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_DollarName OPTION)}
                                          spids: [84109]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'WHIP_TITLE='>
                                              name: WHIP_TITLE
                                            )
                                          op: assign_op.Equal
                                          rhs: {(SQ <'EmonPi/Hub - API KEY'>)}
                                          spids: [84114]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                                              name: WHIP_QUESTION
                                            )
                                          op: assign_op.Equal
                                          rhs: 
                                            {
                                              (DQ <'The following '> 
                                                (word_part.EscapedLiteral
                                                  token: <Id.Lit_EscapedChar '\\"'>
                                                  ch: '"'
                                                ) <'Write API KEY'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') 
                                                <' will be applied during installation:'> <Id.Lit_BadBackslash '\\'> <n> ($ Id.VSub_DollarName USER_EMONHUB_APIKEY_CURRENT) 
                                                <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nIs this key correct?'>
                                              )
                                            }
                                          spids: [84120]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} 
                                      {<--yesno>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} 
                                      {<11>} {<70>}
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'CHOICE='>
                                              name: CHOICE
                                            )
                                          op: assign_op.Equal
                                          rhs: {($ Id.VSub_QMark '?')}
                                          spids: [84162]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.If
                                      arms: [
                                        (if_arm
                                          cond: 
                                            (condition.Shell
                                              commands: [
                                                (command.Sentence
                                                  child: 
                                                    (command.DParen
                                                      child: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DEqual
                                                          left: {($ Id.VSub_DollarName CHOICE)}
                                                          right: {<Id.Lit_Digits 0>}
                                                        )
                                                      redirects: []
                                                    )
                                                  terminator: <Id.Op_Semi _>
                                                )
                                              ]
                                            )
                                          action: [
                                            (C {<sed>} {<-i>} 
                                              {
                                                (DQ <'/^SOFTWARE_EMONHUB_APIKEY=/c'> 
                                                  <Id.Lit_BadBackslash '\\'> <'SOFTWARE_EMONHUB_APIKEY='> ($ Id.VSub_DollarName USER_EMONHUB_APIKEY_CURRENT)
                                                )
                                              } {<'/DietPi/dietpi.txt'>}
                                            )
                                            (command.ShAssignment
                                              pairs: [
                                                (assign_pair
                                                  lhs: 
                                                    (sh_lhs_expr.Name
                                                      left: 
                                                        <Id.Lit_VarLike 
'USER_EMONHUB_APIKEY_COMPLETED='
                                                        >
                                                      name: USER_EMONHUB_APIKEY_COMPLETED
                                                    )
                                                  op: assign_op.Equal
                                                  rhs: {<1>}
                                                  spids: [84203]
                                                )
                                              ]
                                              redirects: []
                                            )
                                          ]
                                          spids: [84166 84180]
                                        )
                                      ]
                                      else_action: []
                                      redirects: []
                                    )
                                  ]
                                  spids: [84091 84105]
                                )
                              ]
                              else_action: []
                              redirects: []
                            )
                          ]
                        )
                      redirects: []
                    )
                  ]
                  spids: [83937 83956]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 93>})
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                          op: assign_op.Equal
                          rhs: {(SQ <' Pi-hole - Setup Static IP Now?'>)}
                          spids: [84255]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                              name: WHIP_QUESTION
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                <
'A static IP address is essential for Pi-hole installations. DietPi-Config can be used to quickly setup your static IP address.\\n\\nIf you have already setup your static IP, please ignore this message.\\n\\nWould you like to setup your static IP address now?'
                                >
                              )
                            }
                          spids: [84261]
                        )
                      ]
                      redirects: []
                    )
                    (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--yesno>} 
                      {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<15>} {<70>}
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_QMark '?')}
                          spids: [84294]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName CHOICE)}
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'WHIP_TITLE='>
                                      name: WHIP_TITLE
                                    )
                                  op: assign_op.Equal
                                  rhs: {(SQ <' Pi-hole - Setup Static IP'>)}
                                  spids: [84316]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                                      name: WHIP_QUESTION
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (SQ 
                                        <
'DietPi-Config will now be launched. Simply select your Ethernet or Wifi connection from the menu to access the IP address settings.\\n\\nThe "copy current address to STATIC" menu option can be used to quickly setup your static IP. Please ensure you change the mode "DHCP" to "STATIC".\\n\\nWhen you are done, select "Apply, Save Changes", then exit DietPi-Config to resume setup.'
                                        >
                                      )
                                    }
                                  spids: [84322]
                                )
                              ]
                              redirects: []
                            )
                            (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} 
                              {<--msgbox>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} 
                              {<15>} {<70>}
                            )
                            (C {<'/DietPi/dietpi/dietpi-config'>} {<8>} {<1>})
                          ]
                          spids: [84298 84312]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [84228 84247]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.AndOr
                              ops: [Id.Op_DPipe]
                              children: [
                                (command.DParen
                                  child: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: 
                                        {
                                          (braced_var_sub
                                            left: <Id.Left_DollarBrace '${'>
                                            token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                            var_name: aSOFTWARE_INSTALL_STATE
                                            bracket_op: 
                                              (bracket_op.ArrayIndex
                                                expr: {<Id.Lit_Digits 60>}
                                              )
                                            right: <Id.Right_DollarBrace '}'>
                                          )
                                        }
                                      right: {<Id.Lit_Digits 1>}
                                    )
                                  redirects: []
                                )
                                (command.DParen
                                  child: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: 
                                        {
                                          (braced_var_sub
                                            left: <Id.Left_DollarBrace '${'>
                                            token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                            var_name: aSOFTWARE_INSTALL_STATE
                                            bracket_op: 
                                              (bracket_op.ArrayIndex
                                                expr: {<Id.Lit_Digits 61>}
                                              )
                                            right: <Id.Right_DollarBrace '}'>
                                          )
                                        }
                                      right: {<Id.Lit_Digits 1>}
                                    )
                                  redirects: []
                                )
                              ]
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<'/DietPi/dietpi/func/dietpi-set_hardware'>} {<wifimodules>} {<enable>})
                    (C {<local>} {<Id.Lit_VarLike 'check_criteria='> <1>})
                    (command.WhileUntil
                      keyword: <Id.KW_While while>
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.DParen
                                  child: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: {($ Id.VSub_DollarName check_criteria)}
                                      right: {<Id.Lit_Digits 1>}
                                    )
                                  redirects: []
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      body: 
                        (command.DoGroup
                          children: [
                            (C {<local>} {<Id.Lit_VarLike 'criteria_passed='> <1>})
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'WHIP_TITLE='>
                                      name: WHIP_TITLE
                                    )
                                  op: assign_op.Equal
                                  rhs: {(DQ <'WiFi Hotspot Criteria'>)}
                                  spids: [84462]
                                )
                              ]
                              redirects: []
                            )
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                                      name: WHIP_QUESTION
                                    )
                                  op: assign_op.Equal
                                  rhs: 
                                    {
                                      (DQ 
                                        <
'The following criteria must be met for this installation to succeed:'
                                        >
                                      )
                                    }
                                  spids: [84468]
                                )
                              ]
                              redirects: []
                            )
                            (C {<local>} 
                              {<Id.Lit_VarLike 'ethernet_active_state='> 
                                (command_sub
                                  left_token: <Id.Left_DollarParen '$('>
                                  child: 
                                    (command.Pipeline
                                      children: [
                                        (C {<ip>} {<r>})
                                        (C {<grep>} {<-ci>} {<-m1>} 
                                          {
                                            (DQ <eth> 
                                              (command_sub
                                                left_token: <Id.Left_DollarParen '$('>
                                                child: 
                                                  (C {<sed>} {<-n>} {<1p>} {<'/DietPi/dietpi/.network'>})
                                                right: <Id.Eof_RParen _>
                                              )
                                            )
                                          }
                                        )
                                      ]
                                      negated: F
                                      stderr_indices: []
                                    )
                                  right: <Id.Eof_RParen _>
                                )
                              }
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName ethernet_active_state)}
                                                  right: {<Id.Lit_Digits 1>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'WHIP_QUESTION+='>
                                              name: WHIP_QUESTION
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (DQ <Id.Lit_BadBackslash '\\'> <n> 
                                                <Id.Lit_BadBackslash '\\'> <'n - Ethernet online: PASSED'>
                                              )
                                            }
                                          spids: [84524]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [84506 84520]
                                )
                              ]
                              else_action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'criteria_passed='>
                                          name: criteria_passed
                                        )
                                      op: assign_op.Equal
                                      rhs: {<0>}
                                      spids: [84538]
                                    )
                                  ]
                                  redirects: []
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'WHIP_QUESTION+='>
                                          name: WHIP_QUESTION
                                        )
                                      op: assign_op.PlusEqual
                                      rhs: 
                                        {
                                          (DQ <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                                            <'n - Ethernet online: FAILED.'> <Id.Lit_BadBackslash '\\'> <'nUse dietpi-config to connect and configure ethernet.'>
                                          )
                                        }
                                      spids: [84542]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (C {<Id.Lit_LBracket '['>} {<-d>} 
                                              {<'/sys/class/net/wlan'> 
                                                (command_sub
                                                  left_token: <Id.Left_DollarParen '$('>
                                                  child: 
                                                    (C {<sed>} {<-n>} {<2p>} 
                                                      {<'/DietPi/dietpi/.network'>}
                                                    )
                                                  right: <Id.Eof_RParen _>
                                                )
                                              } {<Id.Lit_RBracket ']'>}
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'WHIP_QUESTION+='>
                                              name: WHIP_QUESTION
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (DQ <Id.Lit_BadBackslash '\\'> <n> 
                                                <Id.Lit_BadBackslash '\\'> <'n - Wifi adapter detected: PASSED'>
                                              )
                                            }
                                          spids: [84582]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [84558 84578]
                                )
                              ]
                              else_action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'criteria_passed='>
                                          name: criteria_passed
                                        )
                                      op: assign_op.Equal
                                      rhs: {<0>}
                                      spids: [84596]
                                    )
                                  ]
                                  redirects: []
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'WHIP_QUESTION+='>
                                          name: WHIP_QUESTION
                                        )
                                      op: assign_op.PlusEqual
                                      rhs: 
                                        {
                                          (DQ <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                                            <'n - Wifi adapter detected: FAILED.'> <Id.Lit_BadBackslash '\\'> <'nPlease connect a WiFi adapter and try again.'>
                                          )
                                        }
                                      spids: [84600]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              redirects: []
                            )
                            (command.If
                              arms: [
                                (if_arm
                                  cond: 
                                    (condition.Shell
                                      commands: [
                                        (command.Sentence
                                          child: 
                                            (command.DParen
                                              child: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: {($ Id.VSub_DollarName criteria_passed)}
                                                  right: {<Id.Lit_Digits 1>}
                                                )
                                              redirects: []
                                            )
                                          terminator: <Id.Op_Semi _>
                                        )
                                      ]
                                    )
                                  action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'WHIP_QUESTION+='>
                                              name: WHIP_QUESTION
                                            )
                                          op: assign_op.PlusEqual
                                          rhs: 
                                            {
                                              (DQ <Id.Lit_BadBackslash '\\'> <n> 
                                                <Id.Lit_BadBackslash '\\'> <'nPASSED: Criteria met. Good to go.'>
                                              )
                                            }
                                          spids: [84638]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} 
                                      {<--msgbox>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} 
                                      {<14>} {<75>}
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'check_criteria='>
                                              name: check_criteria
                                            )
                                          op: assign_op.Equal
                                          rhs: {<0>}
                                          spids: [84672]
                                        )
                                      ]
                                      redirects: []
                                    )
                                  ]
                                  spids: [84620 84634]
                                )
                              ]
                              else_action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'WHIP_QUESTION+='>
                                          name: WHIP_QUESTION
                                        )
                                      op: assign_op.PlusEqual
                                      rhs: 
                                        {
                                          (DQ <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                                            <
'nFAILED: Criteria not met. Would you like to check again?'
                                            >
                                          )
                                        }
                                      spids: [84685]
                                    )
                                  ]
                                  redirects: []
                                )
                                (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} 
                                  {<--yesno>} {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Back>)} 
                                  {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<16>} {<75>}
                                )
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'CHOICE='>
                                          name: CHOICE
                                        )
                                      op: assign_op.Equal
                                      rhs: {($ Id.VSub_QMark '?')}
                                      spids: [84733]
                                    )
                                  ]
                                  redirects: []
                                )
                                (command.If
                                  arms: [
                                    (if_arm
                                      cond: 
                                        (condition.Shell
                                          commands: [
                                            (command.Sentence
                                              child: 
                                                (command.DParen
                                                  child: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DEqual
                                                      left: {($ Id.VSub_DollarName CHOICE)}
                                                      right: {<Id.Lit_Digits 0>}
                                                    )
                                                  redirects: []
                                                )
                                              terminator: <Id.Op_Semi _>
                                            )
                                          ]
                                        )
                                      action: [
                                        (command.Simple
                                          words: [{<echo>} {(DQ <retry>)}]
                                          redirects: [
                                            (redir
                                              op: <Id.Redir_AndGreat '&>'>
                                              loc: (redir_loc.Fd fd:1)
                                              arg: {<'/dev/null'>}
                                            )
                                          ]
                                          more_env: []
                                          do_fork: T
                                        )
                                      ]
                                      spids: [84737 84751]
                                    )
                                  ]
                                  else_action: [
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.Name
                                              left: <Id.Lit_VarLike 'check_criteria='>
                                              name: check_criteria
                                            )
                                          op: assign_op.Equal
                                          rhs: {<0>}
                                          spids: [84775]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.IndexedName
                                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                              name: aSOFTWARE_INSTALL_STATE
                                              index: {<Id.Lit_Digits 60>}
                                            )
                                          op: assign_op.Equal
                                          rhs: {<0>}
                                          spids: [84779]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (command.ShAssignment
                                      pairs: [
                                        (assign_pair
                                          lhs: 
                                            (sh_lhs_expr.IndexedName
                                              left: <Id.Lit_ArrayLhsOpen 'aSOFTWARE_INSTALL_STATE['>
                                              name: aSOFTWARE_INSTALL_STATE
                                              index: {<Id.Lit_Digits 61>}
                                            )
                                          op: assign_op.Equal
                                          rhs: {<0>}
                                          spids: [84787]
                                        )
                                      ]
                                      redirects: []
                                    )
                                    (C {<whiptail>} {<--title>} {(DQ <'WiFi Hotspot Failed'>)} 
                                      {<--msgbox>} {(DQ <'WiFi Hotspot criteria was not met. Your selection has been removed.'>)} {<--backtitle>} 
                                      {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<10>} {<65>}
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              redirects: []
                            )
                          ]
                        )
                      redirects: []
                    )
                  ]
                  spids: [84377 84415]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 68>})
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                          op: assign_op.Equal
                          rhs: {(SQ <'Remot3.it - 1st run setup'>)}
                          spids: [84864]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                              name: WHIP_QUESTION
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                <
'Remot3.it requires you to create an online account, and, link it this device.\\n\\nOnce DietPi has completed your software installations, and rebooted, please follow the First Run tutorial here:\\nhttp://dietpi.com/phpbb/viewtopic.php?f=8&t=5&p=188#p188'
                                >
                              )
                            }
                          spids: [84870]
                        )
                      ]
                      redirects: []
                    )
                    (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--msgbox>} 
                      {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<14>} {<70>}
                    )
                  ]
                  spids: [84841 84860]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 92>})
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                          op: assign_op.Equal
                          rhs: {(SQ <'Lets Encrypt Info'>)}
                          spids: [84933]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                              name: WHIP_QUESTION
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                <
'Currently, the DietPi installation of CertBot supports Apache2 & Lighttpd only.\\n\\nOnce the installation has finished, you can setup your free SSL cert with:\\n - DietPi-LetsEncrypt\\n\\nThis is a easy to use frontend for CertBot and allows intergration into DietPi systems.\\n\\nMore information:\\n - http://dietpi.com/phpbb/viewtopic.php?f=8&t=5&p=1061#p1062'
                                >
                              )
                            }
                          spids: [84939]
                        )
                      ]
                      redirects: []
                    )
                    (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--msgbox>} 
                      {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<18>} {<70>}
                    )
                  ]
                  spids: [84910 84929]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 67>})
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                          op: assign_op.Equal
                          rhs: {(SQ <'NoIp - Setup Now?'>)}
                          spids: [85010]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                              name: WHIP_QUESTION
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                <
'NoIp can be setup and configured by using DietPi-Config. Would you like to go there now? \\n\\n- Once completed, exit DietPi-Config to resume setup. \\n\\n- More information:\\nhttp://dietpi.com/phpbb/viewtopic.php?f=8&t=5&start=10#p58'
                                >
                              )
                            }
                          spids: [85016]
                        )
                      ]
                      redirects: []
                    )
                    (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--yesno>} 
                      {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Cancel>)} {<--defaultno>} {<--backtitle>} 
                      {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<15>} {<70>}
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_QMark '?')}
                          spids: [85061]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName CHOICE)}
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<Write_InstallFileList>} {<temp>})
                            (C {<'/DietPi/dietpi/dietpi-config'>} {<16>} {<1>})
                            (C {<Read_InstallFileList>} {<temp>})
                          ]
                          spids: [85065 85079]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [84987 85006]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DPipe
                                  left: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DPipe
                                      left: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DPipe
                                          left: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DPipe
                                              left: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DPipe
                                                  left: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DPipe
                                                      left: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DPipe
                                                          left: 
                                                            (arith_expr.Binary
                                                              op_id: Id.Arith_DPipe
                                                              left: 
                                                                (arith_expr.Binary
                                                                  op_id: Id.Arith_DPipe
                                                                  left: 
                                                                    (arith_expr.Binary
                                                                      op_id: Id.Arith_DEqual
                                                                      left: 
                                                                        {
                                                                          (braced_var_sub
                                                                            left: 
                                                                              <Id.Left_DollarBrace 
'${'
                                                                              >
                                                                            token: 
                                                                              <Id.VSub_Name 
aSOFTWARE_INSTALL_STATE
                                                                              >
                                                                            var_name: 
aSOFTWARE_INSTALL_STATE
                                                                            bracket_op: 
                                                                              (bracket_op.ArrayIndex
                                                                                expr: 
                                                                                  {
                                                                                    <Id.Lit_Digits 
23
                                                                                    >
                                                                                  }
                                                                              )
                                                                            right: 
                                                                              <Id.Right_DollarBrace 
'}'
                                                                              >
                                                                          )
                                                                        }
                                                                      right: {<Id.Lit_Digits 1>}
                                                                    )
                                                                  right: 
                                                                    (arith_expr.Binary
                                                                      op_id: Id.Arith_DEqual
                                                                      left: 
                                                                        {
                                                                          (braced_var_sub
                                                                            left: 
                                                                              <Id.Left_DollarBrace 
'${'
                                                                              >
                                                                            token: 
                                                                              <Id.VSub_Name 
aSOFTWARE_INSTALL_STATE
                                                                              >
                                                                            var_name: 
aSOFTWARE_INSTALL_STATE
                                                                            bracket_op: 
                                                                              (bracket_op.ArrayIndex
                                                                                expr: 
                                                                                  {
                                                                                    <Id.Lit_Digits 
24
                                                                                    >
                                                                                  }
                                                                              )
                                                                            right: 
                                                                              <Id.Right_DollarBrace 
'}'
                                                                              >
                                                                          )
                                                                        }
                                                                      right: {<Id.Lit_Digits 1>}
                                                                    )
                                                                )
                                                              right: 
                                                                (arith_expr.Binary
                                                                  op_id: Id.Arith_DEqual
                                                                  left: 
                                                                    {
                                                                      (braced_var_sub
                                                                        left: 
                                                                          <Id.Left_DollarBrace '${'>
                                                                        token: 
                                                                          <Id.VSub_Name 
aSOFTWARE_INSTALL_STATE
                                                                          >
                                                                        var_name: 
aSOFTWARE_INSTALL_STATE
                                                                        bracket_op: 
                                                                          (bracket_op.ArrayIndex
                                                                            expr: {<Id.Lit_Digits 25>}
                                                                          )
                                                                        right: 
                                                                          <Id.Right_DollarBrace '}'>
                                                                      )
                                                                    }
                                                                  right: {<Id.Lit_Digits 1>}
                                                                )
                                                            )
                                                          right: 
                                                            (arith_expr.Binary
                                                              op_id: Id.Arith_DEqual
                                                              left: 
                                                                {
                                                                  (braced_var_sub
                                                                    left: <Id.Left_DollarBrace '${'>
                                                                    token: 
                                                                      <Id.VSub_Name 
aSOFTWARE_INSTALL_STATE
                                                                      >
                                                                    var_name: 
aSOFTWARE_INSTALL_STATE
                                                                    bracket_op: 
                                                                      (bracket_op.ArrayIndex
                                                                        expr: {<Id.Lit_Digits 26>}
                                                                      )
                                                                    right: <Id.Right_DollarBrace '}'>
                                                                  )
                                                                }
                                                              right: {<Id.Lit_Digits 1>}
                                                            )
                                                        )
                                                      right: 
                                                        (arith_expr.Binary
                                                          op_id: Id.Arith_DEqual
                                                          left: 
                                                            {
                                                              (braced_var_sub
                                                                left: <Id.Left_DollarBrace '${'>
                                                                token: 
                                                                  <Id.VSub_Name 
aSOFTWARE_INSTALL_STATE
                                                                  >
                                                                var_name: aSOFTWARE_INSTALL_STATE
                                                                bracket_op: 
                                                                  (bracket_op.ArrayIndex
                                                                    expr: {<Id.Lit_Digits 31>}
                                                                  )
                                                                right: <Id.Right_DollarBrace '}'>
                                                              )
                                                            }
                                                          right: {<Id.Lit_Digits 1>}
                                                        )
                                                    )
                                                  right: 
                                                    (arith_expr.Binary
                                                      op_id: Id.Arith_DEqual
                                                      left: 
                                                        {
                                                          (braced_var_sub
                                                            left: <Id.Left_DollarBrace '${'>
                                                            token: 
                                                              <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                            var_name: aSOFTWARE_INSTALL_STATE
                                                            bracket_op: 
                                                              (bracket_op.ArrayIndex
                                                                expr: {<Id.Lit_Digits 51>}
                                                              )
                                                            right: <Id.Right_DollarBrace '}'>
                                                          )
                                                        }
                                                      right: {<Id.Lit_Digits 1>}
                                                    )
                                                )
                                              right: 
                                                (arith_expr.Binary
                                                  op_id: Id.Arith_DEqual
                                                  left: 
                                                    {
                                                      (braced_var_sub
                                                        left: <Id.Left_DollarBrace '${'>
                                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                        var_name: aSOFTWARE_INSTALL_STATE
                                                        bracket_op: 
                                                          (bracket_op.ArrayIndex
                                                            expr: {<Id.Lit_Digits 108>}
                                                          )
                                                        right: <Id.Right_DollarBrace '}'>
                                                      )
                                                    }
                                                  right: {<Id.Lit_Digits 1>}
                                                )
                                            )
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: 
                                                {
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                    var_name: aSOFTWARE_INSTALL_STATE
                                                    bracket_op: 
                                                      (bracket_op.ArrayIndex
                                                        expr: {<Id.Lit_Digits 112>}
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  )
                                                }
                                              right: {<Id.Lit_Digits 1>}
                                            )
                                        )
                                      right: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: 
                                            {
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                var_name: aSOFTWARE_INSTALL_STATE
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {<Id.Lit_Digits 119>}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            }
                                          right: {<Id.Lit_Digits 1>}
                                        )
                                    )
                                  right: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: 
                                        {
                                          (braced_var_sub
                                            left: <Id.Left_DollarBrace '${'>
                                            token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                            var_name: aSOFTWARE_INSTALL_STATE
                                            bracket_op: 
                                              (bracket_op.ArrayIndex
                                                expr: {<Id.Lit_Digits 155>}
                                              )
                                            right: <Id.Right_DollarBrace '}'>
                                          )
                                        }
                                      right: {<Id.Lit_Digits 1>}
                                    )
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                          op: assign_op.Equal
                          rhs: {(SQ <' DietPi - Boot Options'>)}
                          spids: [85284]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                              name: WHIP_QUESTION
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                <
'Would you like to configure the auto boot options for DietPi?\\n\\nThis will allow you to choose which program loads automatically after booting eg:\\n - Console\\n - Desktop\\n - Kodi'
                                >
                              )
                            }
                          spids: [85290]
                        )
                      ]
                      redirects: []
                    )
                    (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--yesno>} 
                      {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--defaultno>} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<14>} {<70>}
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_QMark '?')}
                          spids: [85323]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName CHOICE)}
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [(C {<'/DietPi/dietpi/dietpi-autostart'>})]
                          spids: [85327 85341]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [85131 85276]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Menu_Linux_Software
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Unary
                                  op_id: Id.Arith_Bang
                                  child: 
                                    {($ Id.VSub_DollarName USER_LINUX_AUTOINSTALL_PROMPT_DISPLAYED)}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                          op: assign_op.Equal
                          rhs: {(SQ <'Additional Linux Software'>)}
                          spids: [85392]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                              name: WHIP_QUESTION
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                <
'DietPi will automatically install additional Linux software on the next screen, when required (eg: Desktop LXDE will install ALSA + Xserver).\\n\\nThis means you only need to select the software you actually require.'
                                >
                              )
                            }
                          spids: [85398]
                        )
                      ]
                      redirects: []
                    )
                    (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--msgbox>} 
                      {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<12>} {<70>}
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'USER_LINUX_AUTOINSTALL_PROMPT_DISPLAYED='>
                              name: USER_LINUX_AUTOINSTALL_PROMPT_DISPLAYED
                            )
                          op: assign_op.Equal
                          rhs: {<1>}
                          spids: [85430]
                        )
                      ]
                      redirects: []
                    )
                  ]
                  spids: [85376 85388]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<Menu_CreateSoftwareList>} {<1>})
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGETMENUID='> name:TARGETMENUID)
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [85457]
                )
              ]
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 2>})
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                          op: assign_op.Equal
                          rhs: {(SQ <'FTP Client - Setup Now?'>)}
                          spids: [85497]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                              name: WHIP_QUESTION
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                <
'FTP Client as a filesystem mount (CurlFTPfs) can be setup and configured by using DietPi-Config. Would you like to go there now? \\n\\n- Once completed, exit DietPi-Config to resume setup.'
                                >
                              )
                            }
                          spids: [85503]
                        )
                      ]
                      redirects: []
                    )
                    (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--yesno>} 
                      {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Cancel>)} {<--defaultno>} {<--backtitle>} 
                      {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<13>} {<70>}
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_QMark '?')}
                          spids: [85548]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName CHOICE)}
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<Write_InstallFileList>} {<temp>})
                            (C {<'/DietPi/dietpi/dietpi-config'>} {<16>} {<1>})
                            (C {<Read_InstallFileList>} {<temp>})
                          ]
                          spids: [85552 85566]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [85474 85493]
                )
              ]
              else_action: []
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: 
                                    {
                                      (braced_var_sub
                                        left: <Id.Left_DollarBrace '${'>
                                        token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                        var_name: aSOFTWARE_INSTALL_STATE
                                        bracket_op: (bracket_op.ArrayIndex expr:{<Id.Lit_Digits 1>})
                                        right: <Id.Right_DollarBrace '}'>
                                      )
                                    }
                                  right: {<Id.Lit_Digits 1>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'WHIP_TITLE='> name:WHIP_TITLE)
                          op: assign_op.Equal
                          rhs: {(SQ <'Samba Client  - Setup Now?'>)}
                          spids: [85637]
                        )
                      ]
                      redirects: []
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: 
                            (sh_lhs_expr.Name
                              left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                              name: WHIP_QUESTION
                            )
                          op: assign_op.Equal
                          rhs: 
                            {
                              (SQ 
                                <
'Samba Client can be setup and configured by using DietPi-Config. Would you like to go there now? \\n\\n- Once completed, exit DietPi-Config to resume setup.'
                                >
                              )
                            }
                          spids: [85643]
                        )
                      ]
                      redirects: []
                    )
                    (C {<whiptail>} {<--title>} {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<--yesno>} 
                      {(DQ ($ Id.VSub_DollarName WHIP_QUESTION))} {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Cancel>)} {<--defaultno>} {<--backtitle>} 
                      {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<13>} {<70>}
                    )
                    (command.ShAssignment
                      pairs: [
                        (assign_pair
                          lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                          op: assign_op.Equal
                          rhs: {($ Id.VSub_QMark '?')}
                          spids: [85688]
                        )
                      ]
                      redirects: []
                    )
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DEqual
                                          left: {($ Id.VSub_DollarName CHOICE)}
                                          right: {<Id.Lit_Digits 0>}
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (C {<Write_InstallFileList>} {<temp>})
                            (C {<'/DietPi/dietpi/dietpi-config'>} {<16>} {<1>})
                            (C {<Read_InstallFileList>} {<temp>})
                          ]
                          spids: [85692 85706]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                  spids: [85614 85633]
                )
              ]
              else_action: []
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Menu_Uninstall_Software
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.ShAssignment
              pairs: [
                (assign_pair
                  lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'TARGETMENUID='> name:TARGETMENUID)
                  op: assign_op.Equal
                  rhs: {<0>}
                  spids: [85774]
                )
              ]
              redirects: []
            )
            (C {<local>} 
              {<Id.Lit_VarLike 'asoftware_for_uninstall='> 
                (sh_array_literal left:<Id.Op_LParen _> words:[])
              }
            )
            (C {<local>} {<Id.Lit_VarLike 'software_installed_count='> <0>})
            (command.ForExpr
              init: 
                (arith_expr.BinaryAssign
                  op_id: Id.Arith_Equal
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {<Id.Lit_Digits 0>}
                )
              cond: 
                (arith_expr.Binary
                  op_id: Id.Arith_Less
                  left: ($ Id.Lit_ArithVarLike i)
                  right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)}
                )
              update: (arith_expr.UnaryAssign op_id:Id.Node_PostDPlus child:($ Id.Lit_ArithVarLike i))
              body: 
                (command.DoGroup
                  children: [
                    (command.If
                      arms: [
                        (if_arm
                          cond: 
                            (condition.Shell
                              commands: [
                                (command.Sentence
                                  child: 
                                    (command.DParen
                                      child: 
                                        (arith_expr.Binary
                                          op_id: Id.Arith_DAmp
                                          left: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: 
                                                {
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name aSOFTWARE_INSTALL_STATE>
                                                    var_name: aSOFTWARE_INSTALL_STATE
                                                    bracket_op: 
                                                      (bracket_op.ArrayIndex
                                                        expr: {($ Id.VSub_DollarName i)}
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  )
                                                }
                                              right: {<Id.Lit_Digits 2>}
                                            )
                                          right: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_GreatEqual
                                              left: 
                                                {
                                                  (braced_var_sub
                                                    left: <Id.Left_DollarBrace '${'>
                                                    token: <Id.VSub_Name aSOFTWARE_TYPE>
                                                    var_name: aSOFTWARE_TYPE
                                                    bracket_op: 
                                                      (bracket_op.ArrayIndex
                                                        expr: {($ Id.VSub_DollarName i)}
                                                      )
                                                    right: <Id.Right_DollarBrace '}'>
                                                  )
                                                }
                                              right: 
                                                (arith_expr.Unary
                                                  op_id: Id.Node_UnaryMinus
                                                  child: {<Id.Lit_Digits 1>}
                                                )
                                            )
                                        )
                                      redirects: []
                                    )
                                  terminator: <Id.Op_Semi _>
                                )
                              ]
                            )
                          action: [
                            (command.ShAssignment
                              pairs: [
                                (assign_pair
                                  lhs: 
                                    (sh_lhs_expr.Name
                                      left: <Id.Lit_VarLike 'whiptail_list_array+='>
                                      name: whiptail_list_array
                                    )
                                  op: assign_op.PlusEqual
                                  rhs: 
                                    {
                                      (sh_array_literal
                                        left: <Id.Op_LParen _>
                                        words: [
                                          {(DQ ($ Id.VSub_DollarName i))}
                                          {
                                            (DQ 
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_WHIP_NAME>
                                                var_name: aSOFTWARE_WHIP_NAME
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {($ Id.VSub_DollarName i)}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              ) <': '> 
                                              (braced_var_sub
                                                left: <Id.Left_DollarBrace '${'>
                                                token: <Id.VSub_Name aSOFTWARE_WHIP_DESC>
                                                var_name: aSOFTWARE_WHIP_DESC
                                                bracket_op: 
                                                  (bracket_op.ArrayIndex
                                                    expr: {($ Id.VSub_DollarName i)}
                                                  )
                                                right: <Id.Right_DollarBrace '}'>
                                              )
                                            )
                                          }
                                          {(DQ <off>)}
                                        ]
                                      )
                                    }
                                  spids: [85862]
                                )
                              ]
                              redirects: []
                            )
                            (command.DParen
                              child: 
                                (arith_expr.UnaryAssign
                                  op_id: Id.Node_PostDPlus
                                  child: ($ Id.Lit_ArithVarLike software_installed_count)
                                )
                              redirects: []
                            )
                          ]
                          spids: [85824 85858]
                        )
                      ]
                      else_action: []
                      redirects: []
                    )
                  ]
                )
              redirects: []
            )
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName software_installed_count)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<whiptail>} {<--title>} {(DQ <'Uninstall Software'>)} {<--msgbox>} 
                      {(DQ <'No software is currently installed, or, available for removal.'>)} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<9>} {<60>}
                    )
                  ]
                  spids: [85911 85925]
                )
              ]
              else_action: [
                (command.Simple
                  words: [
                    {<whiptail>}
                    {<--title>}
                    {(DQ <'Uninstall Software'>)}
                    {<--checklist>}
                    {<--separate-output>}
                    {(DQ <'Use the spacebar to select the software you would like to remove.'>)}
                    {<--cancel-button>}
                    {(DQ <Cancel>)}
                    {<--backtitle>}
                    {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))}
                    {<18>}
                    {<75>}
                    {<10>}
                    {
                      (DQ 
                        (braced_var_sub
                          left: <Id.Left_DollarBrace '${'>
                          token: <Id.VSub_Name whiptail_list_array>
                          var_name: whiptail_list_array
                          bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                          right: <Id.Right_DollarBrace '}'>
                        )
                      )
                    }
                  ]
                  redirects: [
                    (redir
                      op: <Id.Redir_Great '2>'>
                      loc: (redir_loc.Fd fd:2)
                      arg: {<'/tmp/dietpi-software_uninstall_results'>}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
                (command.WhileUntil
                  keyword: <Id.KW_While while>
                  cond: (condition.Shell commands:[(C {<read>} {<choice>})])
                  body: 
                    (command.DoGroup
                      children: [
                        (command.Case
                          to_match: {($ Id.VSub_DollarName choice)}
                          arms: [
                            (case_arm
                              pat_list: [{<Id.Lit_Star '*'>}]
                              action: [
                                (command.ShAssignment
                                  pairs: [
                                    (assign_pair
                                      lhs: 
                                        (sh_lhs_expr.Name
                                          left: <Id.Lit_VarLike 'asoftware_for_uninstall+='>
                                          name: asoftware_for_uninstall
                                        )
                                      op: assign_op.PlusEqual
                                      rhs: 
                                        {
                                          (sh_array_literal
                                            left: <Id.Op_LParen _>
                                            words: [{(DQ ($ Id.VSub_DollarName choice))}]
                                          )
                                        }
                                      spids: [86036]
                                    )
                                  ]
                                  redirects: []
                                )
                              ]
                              spids: [86028 86029 86044 -1]
                            )
                          ]
                          redirects: []
                        )
                      ]
                    )
                  redirects: [
                    (redir
                      op: <Id.Redir_Less '<'>
                      loc: (redir_loc.Fd fd:0)
                      arg: {<'/tmp/dietpi-software_uninstall_results'>}
                    )
                  ]
                )
                (command.Simple
                  words: [{<rm>} {<'/tmp/dietpi-software_uninstall_results'>}]
                  redirects: [
                    (redir
                      op: <Id.Redir_AndGreat '&>'>
                      loc: (redir_loc.Fd fd:1)
                      arg: {<'/dev/null'>}
                    )
                  ]
                  more_env: []
                  do_fork: T
                )
                (C {<unset>} {<whiptail_list_array>})
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.DParen
                                  child: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_Great
                                      left: 
                                        {
                                          (braced_var_sub
                                            left: <Id.Left_DollarBrace '${'>
                                            token: <Id.VSub_Name asoftware_for_uninstall>
                                            var_name: asoftware_for_uninstall
                                            prefix_op: <Id.VSub_Pound '#'>
                                            bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                                            right: <Id.Right_DollarBrace '}'>
                                          )
                                        }
                                      right: {<Id.Lit_Digits 0>}
                                    )
                                  redirects: []
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: 
                                (sh_lhs_expr.Name
                                  left: <Id.Lit_VarLike 'WHIP_QUESTION='>
                                  name: WHIP_QUESTION
                                )
                              op: assign_op.Equal
                              rhs: 
                                {(SQ <'The following software will be REMOVED from your system:\\n'>)}
                              spids: [86106]
                            )
                          ]
                          redirects: []
                        )
                        (command.ForExpr
                          init: 
                            (arith_expr.BinaryAssign
                              op_id: Id.Arith_Equal
                              left: ($ Id.Lit_ArithVarLike i)
                              right: {<Id.Lit_Digits 0>}
                            )
                          cond: 
                            (arith_expr.Binary
                              op_id: Id.Arith_Less
                              left: ($ Id.Lit_ArithVarLike i)
                              right: 
                                {
                                  (braced_var_sub
                                    left: <Id.Left_DollarBrace '${'>
                                    token: <Id.VSub_Name asoftware_for_uninstall>
                                    var_name: asoftware_for_uninstall
                                    prefix_op: <Id.VSub_Pound '#'>
                                    bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                                    right: <Id.Right_DollarBrace '}'>
                                  )
                                }
                            )
                          update: 
                            (arith_expr.UnaryAssign
                              op_id: Id.Node_PostDPlus
                              child: ($ Id.Lit_ArithVarLike i)
                            )
                          body: 
                            (command.DoGroup
                              children: [
                                (command.ForExpr
                                  init: 
                                    (arith_expr.BinaryAssign
                                      op_id: Id.Arith_Equal
                                      left: ($ Id.Lit_ArithVarLike j)
                                      right: {<Id.Lit_Digits 0>}
                                    )
                                  cond: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_Less
                                      left: ($ Id.Lit_ArithVarLike j)
                                      right: {($ Id.VSub_DollarName TOTAL_SOFTWARE_INDEXS)}
                                    )
                                  update: 
                                    (arith_expr.UnaryAssign
                                      op_id: Id.Node_PostDPlus
                                      child: ($ Id.Lit_ArithVarLike j)
                                    )
                                  body: 
                                    (command.DoGroup
                                      children: [
                                        (command.If
                                          arms: [
                                            (if_arm
                                              cond: 
                                                (condition.Shell
                                                  commands: [
                                                    (command.Sentence
                                                      child: 
                                                        (command.DParen
                                                          child: 
                                                            (arith_expr.Binary
                                                              op_id: Id.Arith_DEqual
                                                              left: 
                                                                {
                                                                  (braced_var_sub
                                                                    left: <Id.Left_DollarBrace '${'>
                                                                    token: 
                                                                      <Id.VSub_Name 
asoftware_for_uninstall
                                                                      >
                                                                    var_name: 
asoftware_for_uninstall
                                                                    bracket_op: 
                                                                      (bracket_op.ArrayIndex
                                                                        expr: 
                                                                          {($ Id.VSub_DollarName i)}
                                                                      )
                                                                    right: <Id.Right_DollarBrace '}'>
                                                                  )
                                                                }
                                                              right: {($ Id.VSub_DollarName j)}
                                                            )
                                                          redirects: []
                                                        )
                                                      terminator: <Id.Op_Semi _>
                                                    )
                                                  ]
                                                )
                                              action: [
                                                (command.ShAssignment
                                                  pairs: [
                                                    (assign_pair
                                                      lhs: 
                                                        (sh_lhs_expr.Name
                                                          left: <Id.Lit_VarLike 'WHIP_QUESTION+='>
                                                          name: WHIP_QUESTION
                                                        )
                                                      op: assign_op.PlusEqual
                                                      rhs: 
                                                        {
                                                          (DQ <' - '> 
                                                            (braced_var_sub
                                                              left: <Id.Left_DollarBrace '${'>
                                                              token: 
                                                                <Id.VSub_Name aSOFTWARE_WHIP_NAME>
                                                              var_name: aSOFTWARE_WHIP_NAME
                                                              bracket_op: 
                                                                (bracket_op.ArrayIndex
                                                                  expr: {($ Id.VSub_DollarName j)}
                                                                )
                                                              right: <Id.Right_DollarBrace '}'>
                                                            ) <': '> 
                                                            (braced_var_sub
                                                              left: <Id.Left_DollarBrace '${'>
                                                              token: 
                                                                <Id.VSub_Name aSOFTWARE_WHIP_DESC>
                                                              var_name: aSOFTWARE_WHIP_DESC
                                                              bracket_op: 
                                                                (bracket_op.ArrayIndex
                                                                  expr: {($ Id.VSub_DollarName j)}
                                                                )
                                                              right: <Id.Right_DollarBrace '}'>
                                                            ) <Id.Lit_BadBackslash '\\'> <n>
                                                          )
                                                        }
                                                      spids: [86188]
                                                    )
                                                  ]
                                                  redirects: []
                                                )
                                                (command.ControlFlow
                                                  token: <Id.ControlFlow_Break break>
                                                )
                                              ]
                                              spids: [86165 86184]
                                            )
                                          ]
                                          else_action: []
                                          redirects: []
                                        )
                                      ]
                                    )
                                  redirects: []
                                )
                              ]
                            )
                          redirects: []
                        )
                        (C {<whiptail>} {<--title>} {(DQ <'Uninstall Software?'>)} {<--yesno>} 
                          {
                            (DQ ($ Id.VSub_DollarName WHIP_QUESTION) <' '> <Id.Lit_BadBackslash '\\'> 
                              <'nDo you wish to continue?'>
                            )
                          } {<--yes-button>} {(DQ <Ok>)} {<--no-button>} {(DQ <Cancel>)} {<--defaultno>} {<--backtitle>} 
                          {(DQ ($ Id.VSub_DollarName WHIP_TITLE))} {<20>} {<70>}
                        )
                        (command.ShAssignment
                          pairs: [
                            (assign_pair
                              lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE)
                              op: assign_op.Equal
                              rhs: {($ Id.VSub_QMark '?')}
                              spids: [86271]
                            )
                          ]
                          redirects: []
                        )
                        (command.If
                          arms: [
                            (if_arm
                              cond: 
                                (condition.Shell
                                  commands: [
                                    (command.Sentence
                                      child: 
                                        (command.DParen
                                          child: 
                                            (arith_expr.Binary
                                              op_id: Id.Arith_DEqual
                                              left: {($ Id.VSub_DollarName CHOICE)}
                                              right: {<Id.Lit_Digits 0>}
                                            )
                                          redirects: []
                                        )
                                      terminator: <Id.Op_Semi _>
                                    )
                                  ]
                                )
                              action: [
                                (C {<'/DietPi/dietpi/dietpi-services'>} {<stop>})
                                (command.ForExpr
                                  init: 
                                    (arith_expr.BinaryAssign
                                      op_id: Id.Arith_Equal
                                      left: ($ Id.Lit_ArithVarLike i)
                                      right: {<Id.Lit_Digits 0>}
                                    )
                                  cond: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_Less
                                      left: ($ Id.Lit_ArithVarLike i)
                                      right: 
                                        {
                                          (braced_var_sub
                                            left: <Id.Left_DollarBrace '${'>
                                            token: <Id.VSub_Name asoftware_for_uninstall>
                                            var_name: asoftware_for_uninstall
                                            prefix_op: <Id.VSub_Pound '#'>
                                            bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                                            right: <Id.Right_DollarBrace '}'>
                                          )
                                        }
                                    )
                                  update: 
                                    (arith_expr.UnaryAssign
                                      op_id: Id.Node_PostDPlus
                                      child: ($ Id.Lit_ArithVarLike i)
                                    )
                                  body: 
                                    (command.DoGroup
                                      children: [
                                        (C {<Uninstall_Software>} 
                                          {
                                            (braced_var_sub
                                              left: <Id.Left_DollarBrace '${'>
                                              token: <Id.VSub_Name asoftware_for_uninstall>
                                              var_name: asoftware_for_uninstall
                                              bracket_op: 
                                                (bracket_op.ArrayIndex
                                                  expr: {($ Id.VSub_DollarName i)}
                                                )
                                              right: <Id.Right_DollarBrace '}'>
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  redirects: []
                                )
                                (C {<Uninstall_Software_Finalize>})
                                (C {<Write_InstallFileList>})
                                (C {<'/DietPi/dietpi/dietpi-services'>} {<start>})
                                (C {<whiptail>} {<--title>} {(DQ <'Uninstall Software'>)} {<--msgbox>} 
                                  {(DQ <'Uninstall completed.'>)} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<9>} {<60>}
                                )
                              ]
                              spids: [86280 86294]
                            )
                          ]
                          else_action: []
                          redirects: []
                        )
                      ]
                      spids: [86078 86098]
                    )
                  ]
                  else_action: []
                  redirects: []
                )
              ]
              redirects: []
            )
            (C {<unset>} {<whiptail_list_array>})
            (C {<unset>} {<asoftware_for_uninstall>})
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Banner_Setup
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<'/DietPi/dietpi/dietpi-banner'>} {<0>})
            (C {<echo>} {<-e>} 
              {
                (DQ <Id.Lit_BadBackslash '\\'> <'n Welcome to DietPi-Software '> 
                  <Id.Lit_BadBackslash '\\'> <n>
                )
              }
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Banner_Installing
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<G_DIETPI-NOTIFY>} {<3>} {<DietPi-Software>} 
              {
                (DQ <'Installing '> 
                  (braced_var_sub
                    left: <Id.Left_DollarBrace '${'>
                    token: <Id.VSub_Name aSOFTWARE_WHIP_NAME>
                    var_name: aSOFTWARE_WHIP_NAME
                    bracket_op: (bracket_op.ArrayIndex expr:{($ Id.VSub_DollarName INSTALLING_INDEX)})
                    right: <Id.Right_DollarBrace '}'>
                  ) <': '> 
                  (braced_var_sub
                    left: <Id.Left_DollarBrace '${'>
                    token: <Id.VSub_Name aSOFTWARE_WHIP_DESC>
                    var_name: aSOFTWARE_WHIP_DESC
                    bracket_op: (bracket_op.ArrayIndex expr:{($ Id.VSub_DollarName INSTALLING_INDEX)})
                    right: <Id.Right_DollarBrace '}'>
                  )
                )
              }
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Banner_Configuration
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<G_DIETPI-NOTIFY>} {<3>} {<DietPi-Software>} 
              {
                (DQ <'Configuring '> 
                  (braced_var_sub
                    left: <Id.Left_DollarBrace '${'>
                    token: <Id.VSub_Name aSOFTWARE_WHIP_NAME>
                    var_name: aSOFTWARE_WHIP_NAME
                    bracket_op: (bracket_op.ArrayIndex expr:{($ Id.VSub_DollarName INSTALLING_INDEX)})
                    right: <Id.Right_DollarBrace '}'>
                  ) <': '> 
                  (braced_var_sub
                    left: <Id.Left_DollarBrace '${'>
                    token: <Id.VSub_Name aSOFTWARE_WHIP_DESC>
                    var_name: aSOFTWARE_WHIP_DESC
                    bracket_op: (bracket_op.ArrayIndex expr:{($ Id.VSub_DollarName INSTALLING_INDEX)})
                    right: <Id.Right_DollarBrace '}'>
                  )
                )
              }
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Banner_Apt_Update
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<G_DIETPI-NOTIFY>} {<3>} {<DietPi-Software>} {(DQ <'Update & upgrade APT'>)})
            (C {<sleep>} {<1>})
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Banner_Reboot
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Unary
                                  op_id: Id.Arith_Bang
                                  child: {($ Id.VSub_DollarName DISABLE_REBOOT)}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<G_DIETPI-NOTIFY>} {<3>} {<DietPi-Software>} {(DQ <'Installation completed'>)})
                    (C {<G_DIETPI-NOTIFY>} {<0>} 
                      {
                        (DQ <'The system will now reboot. '> <Id.Lit_BadBackslash '\\'> 
                          <'n This completes the DietPi-Software installation.'> <Id.Lit_BadBackslash '\\'> <n>
                        )
                      }
                    )
                    (C {<sleep>} {<3>})
                  ]
                  spids: [86588 86600]
                )
              ]
              else_action: [
                (C {<G_DIETPI-NOTIFY>} {<0>} {(DQ <'DietPi-Software installation completed.'>)})
              ]
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Banner_Configs
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (C {<G_DIETPI-NOTIFY>} {<3>} {<DietPi-Software>} {(DQ <'Optimize and configure software'>)})
            (C {<G_DIETPI-NOTIFY>} {<2>} 
              {
                (DQ <'Applying DietPi optimizations and configurations for '> 
                  ($ Id.VSub_DollarName G_HW_MODEL_DESCRIPTION) <', please wait...'> <Id.Lit_BadBackslash '\\'> <n>
                )
              }
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (command.ShFunction
      name: Banner_Aborted
      body: 
        (BraceGroup
          left: <Id.Lit_LBrace '{'>
          children: [
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName G_DIETPI_INSTALL_STAGE)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [
                    (C {<'/DietPi/dietpi/dietpi-banner'>} {<0>})
                    (C {<G_DIETPI-NOTIFY>} {<1>} 
                      {
                        (DQ <Id.Lit_BadBackslash '\\'> <'n Installation Aborted by User '> 
                          <Id.Lit_BadBackslash '\\'> <'n Installation must be completed prior to using DietPi '> <Id.Lit_BadBackslash '\\'> 
                          <'n Please run dietpi-software to restart the installation '> <Id.Lit_BadBackslash '\\'> <n>
                        )
                      }
                    )
                  ]
                  spids: [86702 86716]
                )
              ]
              else_action: [(C {<'/DietPi/dietpi/dietpi-banner'>} {<1>})]
              redirects: []
            )
          ]
          redirects: []
          right: <Id.Lit_RBrace '}'>
        )
    )
    (C {<G_DIETPI-NOTIFY>} {<2>} {(DQ <'Initializing database, please wait...'>)})
    (C {<Software_Arrays_Init>})
    (C {<Read_InstallFileList>})
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {<-n>} {(DQ ($ Id.VSub_Number 1))} {<Id.Lit_RBracket ']'>})
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [(C {<Input_Modes>} {(DQ ($ Id.VSub_At '@'))})]
          spids: [86822 86835]
        )
      ]
      else_action: [
        (command.If
          arms: [
            (if_arm
              cond: 
                (condition.Shell
                  commands: [
                    (command.Sentence
                      child: 
                        (command.DParen
                          child: 
                            (arith_expr.Binary
                              op_id: Id.Arith_DEqual
                              left: {($ Id.VSub_DollarName G_DIETPI_INSTALL_STAGE)}
                              right: {<Id.Lit_Digits 0>}
                            )
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                )
              action: [(C {<FirstRun_Automation_Init>})]
              spids: [86871 86885]
            )
          ]
          else_action: []
          redirects: []
        )
        (command.If
          arms: [
            (if_arm
              cond: 
                (condition.Shell
                  commands: [
                    (command.Sentence
                      child: 
                        (command.DParen
                          child: 
                            (arith_expr.Binary
                              op_id: Id.Arith_DAmp
                              left: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_DEqual
                                  left: {($ Id.VSub_DollarName G_DIETPI_INSTALL_STAGE)}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              right: {($ Id.VSub_DollarName G_USER_INPUTS)}
                            )
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                )
              action: [
                (C {<whiptail>} {<--title>} {(DQ <'DietPi - GPLv2 License'>)} {<--msgbox>} 
                  {
                    (DQ 
                      <
'This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or any later version.'
                      > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                      <
'nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more details.'
                      > <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> 
                      <'nYou should have received a copy of the GNU General Public License'> <Id.Lit_BadBackslash '\\'> <'nalong with this program.  If not, see http://www.gnu.org/licenses/'>
                    )
                  } {<--backtitle>} {(DQ <'DietPi - GPLv2 Compliance'>)} {<18>} {<70>}
                )
              ]
              spids: [86901 86919]
            )
          ]
          else_action: []
          redirects: []
        )
        (C {<Banner_Setup>})
        (C {<Check_NTPD_Status>})
        (command.If
          arms: [
            (if_arm
              cond: 
                (condition.Shell
                  commands: [
                    (command.Sentence
                      child: 
                        (command.DParen
                          child: 
                            (arith_expr.Binary
                              op_id: Id.Arith_DEqual
                              left: 
                                {
                                  (command_sub
                                    left_token: <Id.Left_DollarParen '$('>
                                    child: (C {<cat>} {<'/DietPi/dietpi/.update_stage'>})
                                    right: <Id.Eof_RParen _>
                                  )
                                }
                              right: 
                                (arith_expr.Unary
                                  op_id: Id.Node_UnaryMinus
                                  child: {<Id.Lit_Digits 1>}
                                )
                            )
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                )
              action: [(C {<Check_Internet_Connection>}) (C {<FirstRun_DietPi_Update>})]
              spids: [86983 87002]
            )
          ]
          else_action: []
          redirects: []
        )
        (command.If
          arms: [
            (if_arm
              cond: 
                (condition.Shell
                  commands: [
                    (command.Sentence
                      child: 
                        (command.DParen
                          child: 
                            (arith_expr.Binary
                              op_id: Id.Arith_DEqual
                              left: {($ Id.VSub_DollarName G_DIETPI_INSTALL_STAGE)}
                              right: {<Id.Lit_Digits 0>}
                            )
                          redirects: []
                        )
                      terminator: <Id.Op_Semi _>
                    )
                  ]
                )
              action: [(C {<FirstRun_Automation_Set>})]
              spids: [87022 87036]
            )
          ]
          else_action: []
          redirects: []
        )
        (command.WhileUntil
          keyword: <Id.KW_While while>
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (command.DParen
                      child: 
                        (arith_expr.Binary
                          op_id: Id.Arith_Great
                          left: {($ Id.VSub_DollarName TARGETMENUID)}
                          right: (arith_expr.Unary op_id:Id.Node_UnaryMinus child:{<Id.Lit_Digits 1>})
                        )
                      redirects: []
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          body: 
            (command.DoGroup
              children: [
                (C {<clear>})
                (command.If
                  arms: [
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.DParen
                                  child: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: {($ Id.VSub_DollarName TARGETMENUID)}
                                      right: {<Id.Lit_Digits 0>}
                                    )
                                  redirects: []
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [(C {<Menu_Main>})]
                      spids: [87079 87093]
                    )
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.DParen
                                  child: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: {($ Id.VSub_DollarName TARGETMENUID)}
                                      right: {<Id.Lit_Digits 1>}
                                    )
                                  redirects: []
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [(C {<Menu_Dietpi_Software>})]
                      spids: [87101 87115]
                    )
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.DParen
                                  child: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: {($ Id.VSub_DollarName TARGETMENUID)}
                                      right: {<Id.Lit_Digits 2>}
                                    )
                                  redirects: []
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [(C {<Menu_Linux_Software>})]
                      spids: [87123 87137]
                    )
                    (if_arm
                      cond: 
                        (condition.Shell
                          commands: [
                            (command.Sentence
                              child: 
                                (command.DParen
                                  child: 
                                    (arith_expr.Binary
                                      op_id: Id.Arith_DEqual
                                      left: {($ Id.VSub_DollarName TARGETMENUID)}
                                      right: {<Id.Lit_Digits 3>}
                                    )
                                  redirects: []
                                )
                              terminator: <Id.Op_Semi _>
                            )
                          ]
                        )
                      action: [(C {<Menu_Uninstall_Software>})]
                      spids: [87145 87159]
                    )
                  ]
                  else_action: []
                  redirects: []
                )
              ]
            )
          redirects: []
        )
      ]
      redirects: []
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: (command.DParen child:{($ Id.VSub_DollarName GOSTARTINSTALL)} redirects:[])
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {<'/DietPi/dietpi/dietpi-drive_manager'>} {<2>})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: 
                                (arith_expr.Binary
                                  op_id: Id.Arith_NEqual
                                  left: {($ Id.VSub_QMark '?')}
                                  right: {<Id.Lit_Digits 0>}
                                )
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<Exit_Destroy>})]
                  spids: [87210 87224]
                )
              ]
              else_action: []
              redirects: []
            )
            (C {<Check_Internet_Connection>})
            (C {<Run_Installations>})
            (command.Simple
              words: [{<'/DietPi/dietpi/dietpi-survey'>}]
              redirects: [
                (redir
                  op: <Id.Redir_AndGreat '&>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {<'/dev/null'>}
                )
              ]
              more_env: []
              do_fork: T
            )
            (C {<Banner_Reboot>})
            (command.If
              arms: [
                (if_arm
                  cond: 
                    (condition.Shell
                      commands: [
                        (command.Sentence
                          child: 
                            (command.DParen
                              child: {($ Id.VSub_DollarName DISABLE_REBOOT)}
                              redirects: []
                            )
                          terminator: <Id.Op_Semi _>
                        )
                      ]
                    )
                  action: [(C {<'/DietPi/dietpi/dietpi-services'>} {<start>})]
                  spids: [87268 87278]
                )
              ]
              else_action: [(C {<sync>}) (C {<reboot>})]
              redirects: []
            )
          ]
          spids: [87187 87197]
        )
      ]
      else_action: []
      redirects: []
    )
    (C {<Exit_Destroy>})
  ]
  redirects: []
  right: <Id.Lit_RBrace '}'>
)