(BraceGroup
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:AVAILABLE_OPTIONS)
          op: Equal
          rhs: 
            {
              (SQ <'\n'> <' - start/stop/restart/status (all services, known to DietPi)\n'> 
                <' - start/stop/restart servicename (single service, SystemD)\n'> <' - systemd_controlled/dietpi_controlled (all services, known to DietPi)\n'> 
                <' - enable/disable servicename (single service, SystemD)\n'> <' - enable/disable all (all services, known to DietPi)\n'> 
                <' - mask/unmask servicename (single service, SystemD)'>
              )
            }
          spids: [58]
        )
      ]
      spids: [58]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:INPUT_MODE)
          op: Equal
          rhs: {(DQ ($ VSub_Number '$1'))}
          spids: [75]
        )
      ]
      spids: [75]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:INPUT_S2)
          op: Equal
          rhs: {(DQ ($ VSub_Number '$2'))}
          spids: [81]
        )
      ]
      spids: [81]
    )
    (C {(.)} {(/DietPi/dietpi/func/dietpi-globals)})
    (C {(G_CHECK_ROOT_USER)})
    (C {(export)} {(Lit_VarLike 'G_PROGRAM_NAME=') (SQ <DietPi-Services>)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:aSERVICE_NAME)
          op: Equal
          rhs: 
            {
              (ArrayLiteralPart
                words: [
                  {(SQ <cron>)}
                  {(SQ <transmission-daemon>)}
                  {(SQ <proftpd>)}
                  {(SQ <smbd>)}
                  {(SQ <nmbd>)}
                  {(SQ <nfs-kernel-server>)}
                  {(SQ <vsftpd>)}
                  {(SQ <apache2>)}
                  {(SQ <nginx>)}
                  {(SQ <lighttpd>)}
                  {(SQ <php5-fpm>)}
                  {(SQ <php7.0-fpm>)}
                  {(SQ <mysql>)}
                  {(SQ <mpd>)}
                  {(SQ <ympd>)}
                  {(SQ <minidlna>)}
                  {(SQ <noip2>)}
                  {(SQ <grasshopper>)}
                  {(SQ <dnsmasq>)}
                  {(SQ <pihole-FTL>)}
                  {(SQ <subsonic>)}
                  {(SQ <webiopi>)}
                  {(SQ <haproxy>)}
                  {(SQ <fail2ban>)}
                  {(SQ <openvpn>)}
                  {(SQ <isc-dhcp-server>)}
                  {(SQ <hostapd>)}
                  {(SQ <avahi-daemon>)}
                  {(SQ <shairport-sync>)}
                  {(SQ <squeezelite>)}
                  {(SQ <mopidy>)}
                  {(SQ <redis-server>)}
                  {(SQ <emonhub>)}
                  {(SQ <netdata>)}
                  {(SQ <mumble-server>)}
                  {(SQ <emby-server>)}
                  {(SQ <plexmediaserver>)}
                  {(SQ <cuberite>)}
                  {(SQ <supervisor>)}
                  {(SQ <gogs>)}
                  {(SQ <qbittorrent>)}
                  {(SQ <syncthing>)}
                  {(SQ <syncthing-inotify>)}
                  {(SQ <rtorrent>)}
                  {(SQ <urbackupsrv>)}
                  {(SQ <sickrage>)}
                  {(SQ <roonbridge>)}
                  {(SQ <mosquitto>)}
                  {(SQ <networkaudiod>)}
                  {(SQ <node-red>)}
                  {(SQ <tomcat8>)}
                  {(SQ <rpimonitor>)}
                  {(SQ <openmediavault-engined>)}
                  {(SQ <blynkserver>)}
                  {(SQ <aria2>)}
                  {(SQ <yacy>)}
                  {(SQ <tonido>)}
                  {(SQ <icecast2>)}
                  {(SQ <darkice>)}
                  {(SQ <motioneye>)}
                  {(SQ <cups>)}
                  {(SQ <cloudprintd>)}
                  {(SQ <virtualhere>)}
                  {(SQ <sabnzbd>)}
                  {(SQ <spotify-connect-web>)}
                  {(SQ <couchpotato>)}
                  {(SQ <koel>)}
                  {(SQ <sonarr>)}
                  {(SQ <radarr>)}
                  {(SQ <plexpy>)}
                  {(SQ <jackett>)}
                  {(SQ <nzbget>)}
                  {(SQ <octoprint>)}
                  {(SQ <roonserver>)}
                  {(SQ <htpc-manager>)}
                  {(SQ <home-assistant>)}
                  {(SQ <openbazaar>)}
                  {(SQ <docker>)}
                  {(SQ <bdd>)}
                  {(SQ <minio>)}
                  {(SQ <gmrender>)}
                  {(SQ <nukkit>)}
                  {(SQ <gitea>)}
                  {(SQ <pi-spc>)}
                  {(SQ <raspotify>)}
                  {(SQ <voice-recognizer>)}
                  {(SQ <alsa-init>)}
                ]
              )
            }
          spids: [113]
        )
      ]
      spids: [113]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:FP_INCLUDE_SERVICES)
          op: Equal
          rhs: {(SQ </DietPi/dietpi/.dietpi-services_include>)}
          spids: [572]
        )
      ]
      spids: [572]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(-f)} {(DQ ($ VSub_Name '$FP_INCLUDE_SERVICES'))} {(Lit_Other ']')})
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (WhileUntil
              keyword: <KW_While while>
              cond: [(C {(read)} {(line)})]
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:index)
                          op: Equal
                          rhs: 
                            {
                              (BracedVarSub
                                token: <VSub_Name aSERVICE_NAME>
                                prefix_op: VSub_Pound
                                bracket_op: (WholeArray op_id:Lit_At)
                                spids: [607 613]
                              )
                            }
                          spids: [606]
                        )
                      ]
                      spids: [606]
                    )
                    (C 
                      {(aSERVICE_NAME) (Lit_Other '[') ($ VSub_Name '$index') (Lit_Other ']') 
                        (Lit_Other '=') (DQ ($ VSub_Name '$line'))
                      }
                    )
                  ]
                  spids: [602 627]
                )
              redirects: [
                (Redir
                  op: <Redir_Less '<'>
                  fd: 16777215
                  arg_word: {(DQ ($ VSub_Name '$FP_INCLUDE_SERVICES'))}
                )
              ]
            )
          ]
          spids: [16777215 591]
        )
      ]
      spids: [16777215 637]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:aSERVICE_AVAILABLE) op:Equal rhs:{(0)} spids:[645])]
      spids: [645]
    )
    (ForExpr
      init: (BinaryAssign op_id:Arith_Equal left:(LhsName name:i) right:(ArithWord w:{(Lit_Digits 0)}))
      cond: 
        (ArithBinary
          op_id: Arith_Less
          left: (ArithVarRef name:i)
          right: 
            (ArithWord
              w: 
                {
                  (BracedVarSub
                    token: <VSub_Name aSERVICE_NAME>
                    prefix_op: VSub_Pound
                    bracket_op: (WholeArray op_id:Lit_At)
                    spids: [659 665]
                  )
                }
            )
        )
      update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
      body: 
        (DoGroup
          children: [
            (C 
              {(aSERVICE_AVAILABLE) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') (Lit_Other '=') 
                (0)
              }
            )
          ]
          spids: [674 686]
        )
    )
    (FuncDef
      name: Populate_Available_Array
      body: 
        (BraceGroup
          children: [
            (Pipeline
              children: [
                (C {(dpkg)} {(--get-selections)})
                (SimpleCommand
                  words: [{(awk)} {(SQ <'{print $1}'>)}]
                  redirects: [
                    (Redir
                      op: <Redir_Great '>'>
                      fd: 16777215
                      arg_word: {(DQ ($ VSub_Name '$FP_TEMP'))}
                    )
                  ]
                )
              ]
              negated: F
            )
            (ForExpr
              init: 
                (BinaryAssign
                  op_id: Arith_Equal
                  left: (LhsName name:i)
                  right: (ArithWord w:{(Lit_Digits 0)})
                )
              cond: 
                (ArithBinary
                  op_id: Arith_Less
                  left: (ArithVarRef name:i)
                  right: 
                    (ArithWord
                      w: 
                        {
                          (BracedVarSub
                            token: <VSub_Name aSERVICE_NAME>
                            prefix_op: VSub_Pound
                            bracket_op: (WholeArray op_id:Lit_At)
                            spids: [737 743]
                          )
                        }
                    )
                )
              update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DPipe]
                                  children: [
                                    (C {(Lit_Other '[')} {(-f)} 
                                      {(/etc/systemd/system/) 
                                        (BracedVarSub
                                          token: <VSub_Name aSERVICE_NAME>
                                          bracket_op: 
                                            (ArrayIndex
                                              expr: (ArithWord w:{($ VSub_Name '$i')})
                                            )
                                          spids: [763 768]
                                        ) (.service)
                                      } {(Lit_Other ']')}
                                    )
                                    (C {(Lit_Other '[')} {(-f)} 
                                      {(/lib/systemd/system/) 
                                        (BracedVarSub
                                          token: <VSub_Name aSERVICE_NAME>
                                          bracket_op: 
                                            (ArrayIndex
                                              expr: (ArithWord w:{($ VSub_Name '$i')})
                                            )
                                          spids: [781 786]
                                        ) (.service)
                                      } {(Lit_Other ']')}
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C 
                              {(aSERVICE_AVAILABLE) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                                (Lit_Other '=') (1)
                              }
                            )
                          ]
                          spids: [16777215 792]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(-f)} 
                                  {(/etc/init.d/) 
                                    (BracedVarSub
                                      token: <VSub_Name aSERVICE_NAME>
                                      bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                                      spids: [812 817]
                                    )
                                  } {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C 
                              {(aSERVICE_AVAILABLE) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                                (Lit_Other '=') (1)
                              }
                            )
                          ]
                          spids: [805 822]
                        )
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithWord
                                      w: 
                                        {
                                          (CommandSubPart
                                            command_list: 
                                              (CommandList
                                                children: [
                                                  (C {(grep)} {(-ci)} {(-m1)} 
                                                    {
                                                      (DQ ('^') 
                                                        (BracedVarSub
                                                          token: <VSub_Name aSERVICE_NAME>
                                                          bracket_op: 
                                                            (ArrayIndex
                                                              expr: (ArithWord w:{($ VSub_Name '$i')})
                                                            )
                                                          spids: [852 857]
                                                        ) (Lit_Other '$')
                                                      )
                                                    } {(DQ ($ VSub_Name '$FP_TEMP'))}
                                                  )
                                                ]
                                              )
                                            left_token: <Left_CommandSub '$('>
                                            spids: [843 864]
                                          )
                                        }
                                    )
                                  spids: [841 867]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C 
                              {(aSERVICE_AVAILABLE) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') 
                                (Lit_Other '=') (1)
                              }
                            )
                          ]
                          spids: [839 870]
                        )
                      ]
                      spids: [16777215 883]
                    )
                  ]
                  spids: [752 887]
                )
            )
          ]
          spids: [699]
        )
      spids: [694 697]
    )
    (FuncDef
      name: Print_Status
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DParen
                          child: 
                            (ArithBinary
                              op_id: Arith_DPipe
                              left: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Number '$3')})
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                              right: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_Number '$3')})
                                  right: (ArithWord w:{(Lit_Digits 5)})
                                )
                            )
                          spids: [928 945]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(G_DIETPI-NOTIFY)} {(0)} {(DQ ($ VSub_Number '$1') (' : ') ($ VSub_Number '$2'))})
                  ]
                  spids: [16777215 948]
                )
              ]
              else_action: [
                (C {(G_DIETPI-NOTIFY)} {(1)} {(DQ ($ VSub_Number '$1') (' : ') ($ VSub_Number '$2'))})
              ]
              spids: [968 984]
            )
          ]
          spids: [900]
        )
      spids: [895 898]
    )
    (FuncDef
      name: Set_Running_State
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:target_state)
                  op: Equal
                  rhs: {(DQ ($ VSub_Number '$1'))}
                  spids: [1005]
                )
              ]
              spids: [1003]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:index) op:Equal rhs:{(0)} spids:[1028])]
              spids: [1028]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:aDIETPISERVICE_FP)
                  op: Equal
                  rhs: {(ArrayLiteralPart)}
                  spids: [1032]
                )
              ]
              spids: [1032]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:aDIETPISERVICE_NAME)
                  op: Equal
                  rhs: {(ArrayLiteralPart)}
                  spids: [1037]
                )
              ]
              spids: [1037]
            )
            (Sentence
              child: 
                (C 
                  {(aDIETPISERVICE_NAME) (Lit_Other '[') ($ VSub_Name '$index') (Lit_Other ']') 
                    (Lit_Other '=') (SQ <BruteFIR>)
                  }
                )
              terminator: <Op_Semi ';'>
            )
            (Sentence
              child: 
                (C 
                  {(aDIETPISERVICE_FP) (Lit_Other '[') ($ VSub_Name '$index') (Lit_Other ']') 
                    (Lit_Other '=') (SQ </var/lib/dietpi/dietpi-software/services/brutefir.service>)
                  }
                )
              terminator: <Op_Semi ';'>
            )
            (Sentence
              child: 
                (DParen
                  child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:index))
                  spids: [1060 1064]
                )
              terminator: <Op_Semi ';'>
            )
            (Sentence
              child: 
                (C 
                  {(aDIETPISERVICE_NAME) (Lit_Other '[') ($ VSub_Name '$index') (Lit_Other ']') 
                    (Lit_Other '=') (SQ <JackD>)
                  }
                )
              terminator: <Op_Semi ';'>
            )
            (Sentence
              child: 
                (C 
                  {(aDIETPISERVICE_FP) (Lit_Other '[') ($ VSub_Name '$index') (Lit_Other ']') 
                    (Lit_Other '=') (SQ </var/lib/dietpi/dietpi-software/services/jackd.service>)
                  }
                )
              terminator: <Op_Semi ';'>
            )
            (Sentence
              child: 
                (DParen
                  child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:index))
                  spids: [1086 1090]
                )
              terminator: <Op_Semi ';'>
            )
            (Sentence
              child: 
                (C 
                  {(aDIETPISERVICE_NAME) (Lit_Other '[') ($ VSub_Name '$index') (Lit_Other ']') 
                    (Lit_Other '=') (SQ <Jconvolver>)
                  }
                )
              terminator: <Op_Semi ';'>
            )
            (Sentence
              child: 
                (C 
                  {(aDIETPISERVICE_FP) (Lit_Other '[') ($ VSub_Name '$index') (Lit_Other ']') 
                    (Lit_Other '=') (SQ </var/lib/dietpi/dietpi-software/services/jconvolver.service>)
                  }
                )
              terminator: <Op_Semi ';'>
            )
            (Sentence
              child: 
                (DParen
                  child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:index))
                  spids: [1112 1116]
                )
              terminator: <Op_Semi ';'>
            )
            (ForExpr
              init: 
                (BinaryAssign
                  op_id: Arith_Equal
                  left: (LhsName name:i)
                  right: (ArithWord w:{(Lit_Digits 0)})
                )
              cond: 
                (ArithBinary
                  op_id: Arith_Less
                  left: (ArithVarRef name:i)
                  right: 
                    (ArithWord
                      w: 
                        {
                          (BracedVarSub
                            token: <VSub_Name aDIETPISERVICE_NAME>
                            prefix_op: VSub_Pound
                            bracket_op: (WholeArray op_id:Lit_At)
                            spids: [1131 1137]
                          )
                        }
                    )
                )
              update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(-f)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name aDIETPISERVICE_FP>
                                      bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                                      spids: [1156 1161]
                                    )
                                  } {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(G_DIETPI-NOTIFY)} {(-2)} 
                              {
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name aDIETPISERVICE_NAME>
                                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                                    spids: [1175 1180]
                                  )
                                )
                              }
                            )
                            (SimpleCommand
                              words: [
                                {
                                  (BracedVarSub
                                    token: <VSub_Name aDIETPISERVICE_FP>
                                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                                    spids: [1185 1190]
                                  )
                                }
                                {($ VSub_Name '$target_state')}
                              ]
                              redirects: [
                                (Redir
                                  op: <Redir_AndGreat '&>'>
                                  fd: 16777215
                                  arg_word: {(/dev/null)}
                                )
                              ]
                            )
                            (C {(Print_Status)} {($ VSub_Name '$target_state')} 
                              {
                                (BracedVarSub
                                  token: <VSub_Name aDIETPISERVICE_NAME>
                                  bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                                  spids: [1203 1208]
                                )
                              } {($ VSub_QMark '$?')}
                            )
                          ]
                          spids: [16777215 1166]
                        )
                      ]
                      spids: [16777215 1214]
                    )
                  ]
                  spids: [1146 1218]
                )
            )
            (C {(unset)} {(aDIETPISERVICE_NAME)})
            (C {(unset)} {(aDIETPISERVICE_FP)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:aALLO_EXCLUDED_SERVICES_DURING_STOP)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {(SQ <apache2>)}
                          {(SQ <nginx>)}
                          {(SQ <lighttpd>)}
                          {(SQ <php5-fpm>)}
                          {(SQ <php7.0-fpm>)}
                          {(SQ <mysql>)}
                          {(SQ <avahi-daemon>)}
                        ]
                      )
                    }
                  spids: [1241]
                )
              ]
              spids: [1241]
            )
            (ForExpr
              init: 
                (BinaryAssign
                  op_id: Arith_Equal
                  left: (LhsName name:i)
                  right: (ArithWord w:{(Lit_Digits 0)})
                )
              cond: 
                (ArithBinary
                  op_id: Arith_Less
                  left: (ArithVarRef name:i)
                  right: 
                    (ArithWord
                      w: 
                        {
                          (BracedVarSub
                            token: <VSub_Name aSERVICE_NAME>
                            prefix_op: VSub_Pound
                            bracket_op: (WholeArray op_id:Lit_At)
                            spids: [1302 1308]
                          )
                        }
                    )
                )
              update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DAmp]
                                  children: [
                                    (C {(Lit_Other '[')} {(-d)} {(/var/www/allo)} {(Lit_Other ']')})
                                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$target_state'))} 
                                      {(Lit_Other '=')} {(DQ (stop))} {(Lit_Other ']')}
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (ForExpr
                              init: 
                                (BinaryAssign
                                  op_id: Arith_Equal
                                  left: (LhsName name:j)
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                              cond: 
                                (ArithBinary
                                  op_id: Arith_Less
                                  left: (ArithVarRef name:j)
                                  right: 
                                    (ArithWord
                                      w: 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name aALLO_EXCLUDED_SERVICES_DURING_STOP>
                                            prefix_op: VSub_Pound
                                            bracket_op: (WholeArray op_id:Lit_At)
                                            spids: [1370 1376]
                                          )
                                        }
                                    )
                                )
                              update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:j))
                              body: 
                                (DoGroup
                                  children: [
                                    (If
                                      arms: [
                                        (if_arm
                                          cond: [
                                            (Sentence
                                              child: 
                                                (C {(Lit_Other '[')} 
                                                  {
                                                    (DQ 
                                                      (BracedVarSub
                                                        token: <VSub_Name aSERVICE_NAME>
                                                        bracket_op: 
                                                          (ArrayIndex
                                                            expr: (ArithWord w:{($ VSub_Name '$i')})
                                                          )
                                                        spids: [1394 1399]
                                                      )
                                                    )
                                                  } {(Lit_Other '=')} 
                                                  {
                                                    (DQ 
                                                      (BracedVarSub
                                                        token: 
                                                          <VSub_Name 
aALLO_EXCLUDED_SERVICES_DURING_STOP
                                                          >
                                                        bracket_op: 
                                                          (ArrayIndex
                                                            expr: (ArithWord w:{($ VSub_Name '$j')})
                                                          )
                                                        spids: [1405 1410]
                                                      )
                                                    )
                                                  } {(Lit_Other ']')}
                                                )
                                              terminator: <Op_Semi ';'>
                                            )
                                          ]
                                          action: [
                                            (C 
                                              {(aSERVICE_AVAILABLE) (Lit_Other '[') 
                                                ($ VSub_Name '$i') (Lit_Other ']') (Lit_Other '=') (0)
                                              }
                                            )
                                            (ControlFlow
                                              token: <ControlFlow_Break break>
                                            )
                                          ]
                                          spids: [16777215 1416]
                                        )
                                      ]
                                      spids: [16777215 1432]
                                    )
                                  ]
                                  spids: [1385 1436]
                                )
                            )
                          ]
                          spids: [16777215 1356]
                        )
                      ]
                      spids: [16777215 1440]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: 
                                        (ArithWord
                                          w: 
                                            {
                                              (BracedVarSub
                                                token: <VSub_Name aSERVICE_AVAILABLE>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: (ArithWord w:{($ VSub_Name '$i')})
                                                  )
                                                spids: [1456 1461]
                                              )
                                            }
                                        )
                                      right: (ArithWord w:{(Lit_Digits 1)})
                                    )
                                  spids: [1454 1468]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(G_DIETPI-NOTIFY)} {(-2)} 
                              {
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name aSERVICE_NAME>
                                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                                    spids: [1480 1485]
                                  )
                                )
                              }
                            )
                            (SimpleCommand
                              words: [
                                {(systemctl)}
                                {($ VSub_Name '$target_state')}
                                {
                                  (BracedVarSub
                                    token: <VSub_Name aSERVICE_NAME>
                                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                                    spids: [1494 1499]
                                  )
                                }
                              ]
                              redirects: [
                                (Redir
                                  op: <Redir_AndGreat '&>'>
                                  fd: 16777215
                                  arg_word: {(/dev/null)}
                                )
                              ]
                            )
                            (C {(Print_Status)} {($ VSub_Name '$target_state')} 
                              {
                                (BracedVarSub
                                  token: <VSub_Name aSERVICE_NAME>
                                  bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                                  spids: [1511 1516]
                                )
                              } {($ VSub_QMark '$?')}
                            )
                          ]
                          spids: [16777215 1471]
                        )
                      ]
                      spids: [16777215 1522]
                    )
                  ]
                  spids: [1317 1526]
                )
            )
            (C {(unset)} {(aALLO_EXCLUDED_SERVICES_DURING_STOP)})
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:index) op:Equal rhs:{(0)} spids:[1552])]
              spids: [1552]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:aDIETPISERVICE_FP)
                  op: Equal
                  rhs: {(ArrayLiteralPart)}
                  spids: [1556]
                )
              ]
              spids: [1556]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:aDIETPISERVICE_NAME)
                  op: Equal
                  rhs: {(ArrayLiteralPart)}
                  spids: [1561]
                )
              ]
              spids: [1561]
            )
            (Sentence
              child: 
                (C 
                  {(aDIETPISERVICE_NAME) (Lit_Other '[') ($ VSub_Name '$index') (Lit_Other ']') 
                    (Lit_Other '=') (SQ <RaspimJpeg>)
                  }
                )
              terminator: <Op_Semi ';'>
            )
            (Sentence
              child: 
                (C 
                  {(aDIETPISERVICE_FP) (Lit_Other '[') ($ VSub_Name '$index') (Lit_Other ']') 
                    (Lit_Other '=') (SQ </var/lib/dietpi/dietpi-software/services/raspimjpeg.service>)
                  }
                )
              terminator: <Op_Semi ';'>
            )
            (Sentence
              child: 
                (DParen
                  child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:index))
                  spids: [1584 1588]
                )
              terminator: <Op_Semi ';'>
            )
            (Sentence
              child: 
                (C 
                  {(aDIETPISERVICE_NAME) (Lit_Other '[') ($ VSub_Name '$index') (Lit_Other ']') 
                    (Lit_Other '=') (SQ <Deluge>)
                  }
                )
              terminator: <Op_Semi ';'>
            )
            (Sentence
              child: 
                (C 
                  {(aDIETPISERVICE_FP) (Lit_Other '[') ($ VSub_Name '$index') (Lit_Other ']') 
                    (Lit_Other '=') (SQ </var/lib/dietpi/dietpi-software/services/deluge.service>)
                  }
                )
              terminator: <Op_Semi ';'>
            )
            (Sentence
              child: 
                (DParen
                  child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:index))
                  spids: [1610 1614]
                )
              terminator: <Op_Semi ';'>
            )
            (Sentence
              child: 
                (C 
                  {(aDIETPISERVICE_NAME) (Lit_Other '[') ($ VSub_Name '$index') (Lit_Other ']') 
                    (Lit_Other '=') (SQ <'SqueezeBox Server'>)
                  }
                )
              terminator: <Op_Semi ';'>
            )
            (Sentence
              child: 
                (C 
                  {(aDIETPISERVICE_FP) (Lit_Other '[') ($ VSub_Name '$index') (Lit_Other ']') 
                    (Lit_Other '=') (SQ </var/lib/dietpi/dietpi-software/services/squeezeboxserver.service>)
                  }
                )
              terminator: <Op_Semi ';'>
            )
            (Sentence
              child: 
                (DParen
                  child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:index))
                  spids: [1636 1640]
                )
              terminator: <Op_Semi ';'>
            )
            (ForExpr
              init: 
                (BinaryAssign
                  op_id: Arith_Equal
                  left: (LhsName name:i)
                  right: (ArithWord w:{(Lit_Digits 0)})
                )
              cond: 
                (ArithBinary
                  op_id: Arith_Less
                  left: (ArithVarRef name:i)
                  right: 
                    (ArithWord
                      w: 
                        {
                          (BracedVarSub
                            token: <VSub_Name aDIETPISERVICE_NAME>
                            prefix_op: VSub_Pound
                            bracket_op: (WholeArray op_id:Lit_At)
                            spids: [1655 1661]
                          )
                        }
                    )
                )
              update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {(-f)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name aDIETPISERVICE_FP>
                                      bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                                      spids: [1680 1685]
                                    )
                                  } {(Lit_Other ']')}
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(G_DIETPI-NOTIFY)} {(-2)} 
                              {
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name aDIETPISERVICE_NAME>
                                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                                    spids: [1699 1704]
                                  )
                                )
                              }
                            )
                            (SimpleCommand
                              words: [
                                {
                                  (BracedVarSub
                                    token: <VSub_Name aDIETPISERVICE_FP>
                                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                                    spids: [1709 1714]
                                  )
                                }
                                {($ VSub_Name '$target_state')}
                              ]
                              redirects: [
                                (Redir
                                  op: <Redir_AndGreat '&>'>
                                  fd: 16777215
                                  arg_word: {(/dev/null)}
                                )
                              ]
                            )
                            (C {(Print_Status)} {($ VSub_Name '$target_state')} 
                              {
                                (BracedVarSub
                                  token: <VSub_Name aDIETPISERVICE_NAME>
                                  bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                                  spids: [1727 1732]
                                )
                              } {($ VSub_QMark '$?')}
                            )
                          ]
                          spids: [16777215 1690]
                        )
                      ]
                      spids: [16777215 1738]
                    )
                  ]
                  spids: [1670 1742]
                )
            )
            (C {(unset)} {(aDIETPISERVICE_NAME)})
            (C {(unset)} {(aDIETPISERVICE_FP)})
            (C {(echo)} {(-e)} {(DQ )})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DPipe]
                          children: [
                            (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$target_state'))} {(Lit_Other '=')} 
                              {(DQ (start))} {(Lit_Other ']')}
                            )
                            (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$target_state'))} {(Lit_Other '=')} 
                              {(DQ (restart))} {(Lit_Other ']')}
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(/DietPi/dietpi/dietpi-process_tool)} {(1)})]
                  spids: [16777215 1808]
                )
              ]
              spids: [16777215 1818]
            )
          ]
          spids: [999]
        )
      spids: [996 999]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:FP_TEMP)
          op: Equal
          rhs: {(DQ (/tmp/.dietpi-services_installed))}
          spids: [1826]
        )
      ]
      spids: [1826]
    )
    (C {(G_DIETPI-NOTIFY)} {(3)} {(DietPi-Services)} {(DQ ($ VSub_Name '$INPUT_MODE'))})
    (C {(Populate_Available_Array)})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (AndOr
                  ops: [Op_DPipe]
                  children: [
                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$INPUT_MODE'))} {(Lit_Other '=')} 
                      {(SQ <dietpi_controlled>)} {(Lit_Other ']')}
                    )
                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$INPUT_MODE'))} {(Lit_Other '=')} 
                      {(SQ <systemd_controlled>)} {(Lit_Other ']')}
                    )
                  ]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:SYSTEMD_CMD)
                  op: Equal
                  rhs: {(SQ <disable>)}
                  spids: [1915]
                )
              ]
              spids: [1915]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$INPUT_MODE'))} {(Lit_Other '=')} 
                          {(DQ (systemd_controlled))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:SYSTEMD_CMD)
                          op: Equal
                          rhs: {(SQ <enable>)}
                          spids: [1943]
                        )
                      ]
                      spids: [1943]
                    )
                  ]
                  spids: [16777215 1939]
                )
              ]
              spids: [16777215 1950]
            )
            (ForExpr
              init: 
                (BinaryAssign
                  op_id: Arith_Equal
                  left: (LhsName name:i)
                  right: (ArithWord w:{(Lit_Digits 0)})
                )
              cond: 
                (ArithBinary
                  op_id: Arith_Less
                  left: (ArithVarRef name:i)
                  right: 
                    (ArithWord
                      w: 
                        {
                          (BracedVarSub
                            token: <VSub_Name aSERVICE_NAME>
                            prefix_op: VSub_Pound
                            bracket_op: (WholeArray op_id:Lit_At)
                            spids: [1964 1970]
                          )
                        }
                    )
                )
              update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: 
                                        (ArithWord
                                          w: 
                                            {
                                              (BracedVarSub
                                                token: <VSub_Name aSERVICE_AVAILABLE>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: (ArithWord w:{($ VSub_Name '$i')})
                                                  )
                                                spids: [1991 1996]
                                              )
                                            }
                                        )
                                      right: (ArithWord w:{(Lit_Digits 1)})
                                    )
                                  spids: [1989 2003]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(G_DIETPI-NOTIFY)} {(-2)} 
                              {
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name aSERVICE_NAME>
                                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                                    spids: [2015 2020]
                                  )
                                )
                              }
                            )
                            (SimpleCommand
                              words: [
                                {(systemctl)}
                                {($ VSub_Name '$SYSTEMD_CMD')}
                                {
                                  (BracedVarSub
                                    token: <VSub_Name aSERVICE_NAME>
                                    bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                                    spids: [2029 2034]
                                  )
                                }
                              ]
                              redirects: [
                                (Redir
                                  op: <Redir_AndGreat '&>'>
                                  fd: 16777215
                                  arg_word: {(/dev/null)}
                                )
                              ]
                            )
                            (C {(Print_Status)} {($ VSub_Name '$INPUT_MODE')} 
                              {
                                (BracedVarSub
                                  token: <VSub_Name aSERVICE_NAME>
                                  bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$i')}))
                                  spids: [2046 2051]
                                )
                              } {($ VSub_QMark '$?')}
                            )
                          ]
                          spids: [16777215 2006]
                        )
                      ]
                      spids: [16777215 2057]
                    )
                  ]
                  spids: [1979 2061]
                )
            )
            (SimpleCommand
              words: [{(systemctl)} {(daemon-reload)}]
              redirects: [(Redir op:<Redir_AndGreat '&>'> fd:16777215 arg_word:{(/dev/null)})]
            )
            (C {(echo)} {(-e)} {(DQ )})
          ]
          spids: [16777215 1911]
        )
        (if_arm
          cond: [
            (Sentence
              child: 
                (AndOr
                  ops: [Op_DPipe Op_DPipe Op_DPipe]
                  children: [
                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$INPUT_MODE'))} {(Lit_Other '=')} 
                      {(DQ (enable))} {(Lit_Other ']')}
                    )
                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$INPUT_MODE'))} {(Lit_Other '=')} 
                      {(DQ (disable))} {(Lit_Other ']')}
                    )
                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$INPUT_MODE'))} {(Lit_Other '=')} 
                      {(DQ (unmask))} {(Lit_Other ']')}
                    )
                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$INPUT_MODE'))} {(Lit_Other '=')} 
                      {(DQ (mask))} {(Lit_Other ']')}
                    )
                  ]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:SYSTEMD_CMD)
                  op: Equal
                  rhs: {(SQ <mask>)}
                  spids: [2168]
                )
              ]
              spids: [2168]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DPipe]
                          children: [
                            (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$INPUT_MODE'))} {(Lit_Other '=')} 
                              {(DQ (enable))} {(Lit_Other ']')}
                            )
                            (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$INPUT_MODE'))} {(Lit_Other '=')} 
                              {(DQ (unmask))} {(Lit_Other ']')}
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:SYSTEMD_CMD)
                          op: Equal
                          rhs: {(SQ <unmask>)}
                          spids: [2212]
                        )
                      ]
                      spids: [2212]
                    )
                  ]
                  spids: [16777215 2208]
                )
              ]
              spids: [16777215 2219]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$INPUT_S2'))} {(Lit_Other '=')} 
                          {(SQ <all>)} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (AndOr
                                  ops: [Op_DPipe]
                                  children: [
                                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$INPUT_MODE'))} 
                                      {(Lit_Other '=')} {(DQ (disable))} {(Lit_Other ']')}
                                    )
                                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$INPUT_MODE'))} 
                                      {(Lit_Other '=')} {(DQ (mask))} {(Lit_Other ']')}
                                    )
                                  ]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(echo)} {(-e)} {(DQ )}) (C {(Set_Running_State)} {(stop)})]
                          spids: [16777215 2282]
                        )
                      ]
                      spids: [16777215 2300]
                    )
                    (ForExpr
                      init: 
                        (BinaryAssign
                          op_id: Arith_Equal
                          left: (LhsName name:i)
                          right: (ArithWord w:{(Lit_Digits 0)})
                        )
                      cond: 
                        (ArithBinary
                          op_id: Arith_Less
                          left: (ArithVarRef name:i)
                          right: 
                            (ArithWord
                              w: 
                                {
                                  (BracedVarSub
                                    token: <VSub_Name aSERVICE_NAME>
                                    prefix_op: VSub_Pound
                                    bracket_op: (WholeArray op_id:Lit_At)
                                    spids: [2314 2320]
                                  )
                                }
                            )
                        )
                      update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
                      body: 
                        (DoGroup
                          children: [
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DParen
                                          child: 
                                            (ArithWord
                                              w: 
                                                {
                                                  (BracedVarSub
                                                    token: <VSub_Name aSERVICE_AVAILABLE>
                                                    bracket_op: 
                                                      (ArrayIndex
                                                        expr: (ArithWord w:{($ VSub_Name '$i')})
                                                      )
                                                    spids: [2337 2342]
                                                  )
                                                }
                                            )
                                          spids: [2335 2345]
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(G_DIETPI-NOTIFY)} {(0)} 
                                      {
                                        (DQ ($ VSub_Name '$INPUT_MODE') (' ') ($ VSub_Name '$INPUT_S2') 
                                          (': ') 
                                          (BracedVarSub
                                            token: <VSub_Name aSERVICE_NAME>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: (ArithWord w:{($ VSub_Name '$i')})
                                              )
                                            spids: [2362 2367]
                                          )
                                        )
                                      }
                                    )
                                    (C {(systemctl)} {($ VSub_Name '$SYSTEMD_CMD')} 
                                      {
                                        (BracedVarSub
                                          token: <VSub_Name aSERVICE_NAME>
                                          bracket_op: 
                                            (ArrayIndex
                                              expr: (ArithWord w:{($ VSub_Name '$i')})
                                            )
                                          spids: [2375 2380]
                                        )
                                      }
                                    )
                                  ]
                                  spids: [16777215 2348]
                                )
                              ]
                              spids: [16777215 2384]
                            )
                          ]
                          spids: [2329 2388]
                        )
                    )
                  ]
                  spids: [16777215 2244]
                )
              ]
              else_action: [
                (C {(systemctl)} {(stop)} {($ VSub_Name '$INPUT_S2')})
                (C {(systemctl)} {($ VSub_Name '$SYSTEMD_CMD')} {($ VSub_Name '$INPUT_S2')})
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (DParen
                              child: 
                                (ArithBinary
                                  op_id: Arith_DEqual
                                  left: (ArithWord w:{($ VSub_QMark '$?')})
                                  right: (ArithWord w:{(Lit_Digits 0)})
                                )
                              spids: [2418 2427]
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (C {(G_DIETPI-NOTIFY)} {(0)} 
                          {(DQ ($ VSub_Name '$INPUT_MODE') (' ') ($ VSub_Name '$INPUT_S2'))}
                        )
                      ]
                      spids: [16777215 2430]
                    )
                  ]
                  else_action: [
                    (C {(G_DIETPI-NOTIFY)} {(1)} 
                      {(DQ ($ VSub_Name '$INPUT_MODE') (' ') ($ VSub_Name '$INPUT_S2'))}
                    )
                  ]
                  spids: [2446 2462]
                )
              ]
              spids: [2397 2466]
            )
            (SimpleCommand
              words: [{(systemctl)} {(daemon-reload)}]
              redirects: [(Redir op:<Redir_AndGreat '&>'> fd:16777215 arg_word:{(/dev/null)})]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          ops: [Op_DPipe]
                          children: [
                            (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$INPUT_MODE'))} {(Lit_Other '=')} 
                              {(DQ (unmask))} {(Lit_Other ']')}
                            )
                            (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$INPUT_MODE'))} {(Lit_Other '=')} 
                              {(DQ (enable))} {(Lit_Other ']')}
                            )
                          ]
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(echo)} {(-e)} {(DQ )}) (C {(Set_Running_State)} {(start)})]
                  spids: [16777215 2514]
                )
              ]
              spids: [16777215 2532]
            )
            (C {(echo)} {(-e)} {(DQ )})
          ]
          spids: [2092 2160]
        )
        (if_arm
          cond: [
            (Sentence
              child: 
                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$INPUT_MODE'))} {(Lit_Other '=')} {(DQ (status))} 
                  {(Lit_Other ']')}
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (ForExpr
              init: 
                (BinaryAssign
                  op_id: Arith_Equal
                  left: (LhsName name:i)
                  right: (ArithWord w:{(Lit_Digits 0)})
                )
              cond: 
                (ArithBinary
                  op_id: Arith_Less
                  left: (ArithVarRef name:i)
                  right: 
                    (ArithWord
                      w: 
                        {
                          (BracedVarSub
                            token: <VSub_Name aSERVICE_NAME>
                            prefix_op: VSub_Pound
                            bracket_op: (WholeArray op_id:Lit_At)
                            spids: [2584 2590]
                          )
                        }
                    )
                )
              update: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i))
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: 
                                        (ArithWord
                                          w: 
                                            {
                                              (BracedVarSub
                                                token: <VSub_Name aSERVICE_AVAILABLE>
                                                bracket_op: 
                                                  (ArrayIndex
                                                    expr: (ArithWord w:{($ VSub_Name '$i')})
                                                  )
                                                spids: [2611 2616]
                                              )
                                            }
                                        )
                                      right: (ArithWord w:{(Lit_Digits 1)})
                                    )
                                  spids: [2609 2623]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:STATUS)
                                  op: Equal
                                  rhs: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name aSERVICE_NAME>
                                          bracket_op: 
                                            (ArrayIndex
                                              expr: (ArithWord w:{($ VSub_Name '$i')})
                                            )
                                          spids: [2632 2637]
                                        ) (Lit_Other '\\') (t) 
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (Pipeline
                                                  children: [
                                                    (C {(systemctl)} {(status)} 
                                                      {
                                                        (BracedVarSub
                                                          token: <VSub_Name aSERVICE_NAME>
                                                          bracket_op: 
                                                            (ArrayIndex
                                                              expr: (ArithWord w:{($ VSub_Name '$i')})
                                                            )
                                                          spids: [2645 2650]
                                                        )
                                                      }
                                                    )
                                                    (C {(grep)} {(-m1)} {(SQ <Active>)})
                                                    (C {(cut)} {(-c12-)})
                                                  ]
                                                  negated: F
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub '$('>
                                          spids: [2640 2667]
                                        )
                                      )
                                    }
                                  spids: [2630]
                                )
                              ]
                              spids: [2630]
                            )
                            (If
                              arms: [
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DBracket
                                          expr: 
                                            (BoolBinary
                                              op_id: BoolBinary_EqualTilde
                                              left: {(DQ ($ VSub_Name '$STATUS'))}
                                              right: 
                                                {(.) (Lit_Other '*') (SQ <failed>) (.) (Lit_Other '*')}
                                            )
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [
                                    (C {(G_DIETPI-NOTIFY)} {(1)} {(DQ ($ VSub_Name '$STATUS'))})
                                    (C {(systemctl)} {(status)} 
                                      {
                                        (DQ 
                                          (BracedVarSub
                                            token: <VSub_Name aSERVICE_NAME>
                                            bracket_op: 
                                              (ArrayIndex
                                                expr: (ArithWord w:{($ VSub_Name '$i')})
                                              )
                                            spids: [2711 2716]
                                          )
                                        )
                                      } {(-l)} {(--no-pager)}
                                    )
                                  ]
                                  spids: [16777215 2693]
                                )
                                (if_arm
                                  cond: [
                                    (Sentence
                                      child: 
                                        (DBracket
                                          expr: 
                                            (BoolBinary
                                              op_id: BoolBinary_EqualTilde
                                              left: {(DQ ($ VSub_Name '$STATUS'))}
                                              right: 
                                                {(.) (Lit_Other '*') (SQ <inactive>) (.) 
                                                  (Lit_Other '*')
                                                }
                                            )
                                        )
                                      terminator: <Op_Semi ';'>
                                    )
                                  ]
                                  action: [(C {(G_DIETPI-NOTIFY)} {(2)} {(DQ ($ VSub_Name '$STATUS'))})]
                                  spids: [2725 2746]
                                )
                              ]
                              else_action: [(C {(G_DIETPI-NOTIFY)} {(0)} {(DQ ($ VSub_Name '$STATUS'))})]
                              spids: [2760 2774]
                            )
                          ]
                          spids: [16777215 2626]
                        )
                      ]
                      spids: [16777215 2778]
                    )
                  ]
                  spids: [2599 2782]
                )
            )
            (C {(echo)} {(-e)} {(DQ )})
          ]
          spids: [2553 2570]
        )
        (if_arm
          cond: [
            (Sentence
              child: 
                (AndOr
                  ops: [Op_DPipe Op_DPipe]
                  children: [
                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$INPUT_MODE'))} {(Lit_Other '=')} 
                      {(DQ (start))} {(Lit_Other ']')}
                    )
                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$INPUT_MODE'))} {(Lit_Other '=')} 
                      {(DQ (stop))} {(Lit_Other ']')}
                    )
                    (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$INPUT_MODE'))} {(Lit_Other '=')} 
                      {(DQ (restart))} {(Lit_Other ']')}
                    )
                  ]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-n)} {(DQ ($ VSub_Name '$INPUT_S2'))} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(systemctl)} {($ VSub_Name '$INPUT_MODE')} {($ VSub_Name '$INPUT_S2')}]
                      redirects: [(Redir op:<Redir_AndGreat '&>'> fd:16777215 arg_word:{(/dev/null)})]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DParen
                                  child: 
                                    (ArithBinary
                                      op_id: Arith_DEqual
                                      left: (ArithWord w:{($ VSub_QMark '$?')})
                                      right: (ArithWord w:{(Lit_Digits 0)})
                                    )
                                  spids: [2892 2901]
                                )
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [
                            (C {(G_DIETPI-NOTIFY)} {(0)} 
                              {(DQ ($ VSub_Name '$INPUT_MODE') (' ') ($ VSub_Name '$INPUT_S2'))}
                            )
                          ]
                          spids: [16777215 2904]
                        )
                      ]
                      else_action: [
                        (C {(G_DIETPI-NOTIFY)} {(1)} 
                          {(DQ ($ VSub_Name '$INPUT_MODE') (' ') ($ VSub_Name '$INPUT_S2'))}
                        )
                      ]
                      spids: [2920 2936]
                    )
                    (C {(echo)} {(-e)} {(DQ )})
                  ]
                  spids: [16777215 2875]
                )
              ]
              else_action: [
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$INPUT_MODE'))} 
                                  {(Lit_Other '=')} {(DQ (stop))} {(Lit_Other ']')}
                                )
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$INPUT_MODE'))} 
                                  {(Lit_Other '=')} {(DQ (restart))} {(Lit_Other ']')}
                                )
                              ]
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (SimpleCommand
                              words: [
                                {(grep)}
                                {(-q)}
                                {(DQ ("'maintenance' => false,"))}
                                {(/var/www/owncloud/config/config.php)}
                              ]
                              redirects: [
                                (Redir
                                  op: <Redir_AndGreat '&>'>
                                  fd: 16777215
                                  arg_word: {(/dev/null)}
                                )
                              ]
                            )
                            (C {(G_RUN_CMD)} {(occ)} {(maintenance) (Lit_Other ':') (mode)} {(--on)})
                          ]
                        )
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (SimpleCommand
                              words: [
                                {(grep)}
                                {(-q)}
                                {(DQ ("'maintenance' => false,"))}
                                {(/var/www/nextcloud/config/config.php)}
                              ]
                              redirects: [
                                (Redir
                                  op: <Redir_AndGreat '&>'>
                                  fd: 16777215
                                  arg_word: {(/dev/null)}
                                )
                              ]
                            )
                            (C {(G_RUN_CMD)} {(ncc)} {(maintenance) (Lit_Other ':') (mode)} {(--on)})
                          ]
                        )
                      ]
                      spids: [16777215 2994]
                    )
                  ]
                  spids: [16777215 3053]
                )
                (C {(Set_Running_State)} {(DQ ($ VSub_Name '$INPUT_MODE'))})
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (AndOr
                              ops: [Op_DPipe]
                              children: [
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$INPUT_MODE'))} 
                                  {(Lit_Other '=')} {(DQ (restart))} {(Lit_Other ']')}
                                )
                                (C {(Lit_Other '[')} {(DQ ($ VSub_Name '$INPUT_MODE'))} 
                                  {(Lit_Other '=')} {(DQ (start))} {(Lit_Other ']')}
                                )
                              ]
                            )
                          terminator: <Op_Semi ';'>
                        )
                      ]
                      action: [
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (SimpleCommand
                              words: [
                                {(grep)}
                                {(-q)}
                                {(DQ ("'maintenance' => true,"))}
                                {(/var/www/owncloud/config/config.php)}
                              ]
                              redirects: [
                                (Redir
                                  op: <Redir_AndGreat '&>'>
                                  fd: 16777215
                                  arg_word: {(/dev/null)}
                                )
                              ]
                            )
                            (C {(G_RUN_CMD)} {(occ)} {(maintenance) (Lit_Other ':') (mode)} {(--off)})
                          ]
                        )
                        (AndOr
                          ops: [Op_DAmp]
                          children: [
                            (SimpleCommand
                              words: [
                                {(grep)}
                                {(-q)}
                                {(DQ ("'maintenance' => true,"))}
                                {(/var/www/nextcloud/config/config.php)}
                              ]
                              redirects: [
                                (Redir
                                  op: <Redir_AndGreat '&>'>
                                  fd: 16777215
                                  arg_word: {(/dev/null)}
                                )
                              ]
                            )
                            (C {(G_RUN_CMD)} {(ncc)} {(maintenance) (Lit_Other ':') (mode)} {(--off)})
                          ]
                        )
                      ]
                      spids: [16777215 3102]
                    )
                  ]
                  spids: [16777215 3161]
                )
              ]
              spids: [2953 3165]
            )
          ]
          spids: [2803 2854]
        )
      ]
      else_action: [
        (C {(G_DIETPI-NOTIFY)} {(2)} 
          {
            (DQ ('Invalid command') (Lit_Other '\\') ('e[0m') (Lit_Other '\\') ('nAvailable commands:') 
              (Lit_Other '\\') (n) ($ VSub_Name '$AVAILABLE_OPTIONS') (Lit_Other '\\') (n)
            )
          }
        )
      ]
      spids: [3177 3198]
    )
    (C {(rm)} {(DQ ($ VSub_Name '$FP_TEMP'))})
    (C {(unset)} {(aSERVICE_NAME)})
    (C {(unset)} {(aSERVICE_AVAILABLE)})
    (ControlFlow token:<ControlFlow_Exit exit>)
  ]
  spids: [3]
)