(BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'INPUT='> name:INPUT) op: assign_op.Equal rhs: {<-1>} spids: [71] ) ] redirects: [] ) (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_Number 1)} 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.Name left:<Id.Lit_VarLike 'INPUT='> name:INPUT) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} spids: [99] ) ] redirects: [] ) ] spids: [75 95] ) ] else_action: [] redirects: [] ) (C {<.>} {<'/DietPi/dietpi/func/dietpi-globals'>}) (C {<G_CHECK_ROOT_USER>}) (C {<export>} {<Id.Lit_VarLike 'G_PROGRAM_NAME='> (SQ <DietPi-Autostart>)}) (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-AutoStart>)} spids: [145] ) ] 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: {($ Id.VSub_DollarName WHIP_BACKTITLE)} spids: [151] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'CHOICE='> name:CHOICE) op: assign_op.Equal rhs: {<0>} spids: [155] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTION='> name:OPTION) op: assign_op.Equal rhs: {<0>} spids: [159] ) ] 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: [163] ) ] redirects: [] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'AUTO_START_INDEX='> name:AUTO_START_INDEX) op: assign_op.Equal rhs: {<0>} spids: [168] ) ] redirects: [] ) (command.ShFunction name: Apply_Boot_Index body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.Simple words: [{<systemctl>} {<disable>} {<lightdm.service>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<systemctl>} {<disable>} {<amiberry.service>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (command.Simple words: [{<systemctl>} {<disable>} {<amiberry-sdl2.service>}] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] more_env: [] do_fork: T ) (C {<sed>} {<-i>} {(SQ <'/^boot_delay=0/d'>)} {<'/DietPi/config.txt'>}) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<-f>} {<'/boot/cmdline.txt'>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<sed>} {<-i>} {(SQ <'s/logo.nologo//'>)} {<'/boot/cmdline.txt'>}) (C {<sed>} {<-i>} {(SQ <'s/loglevel=3//'>)} {<'/boot/cmdline.txt'>}) (C {<sed>} {<-i>} {(SQ <'s/console=tty3/console=tty1/'>)} {<'/boot/cmdline.txt'>}) ] spids: [235 246] ) ] else_action: [] redirects: [] ) (command.Simple words: [{<rm>} {<'/etc/systemd/system/dietpi-autostart_custom.service'>}] 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/getty'> <Id.Lit_Splice '@tty1'> <'.service.d/autologin.conf'>} ] 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_DEqual left: {($ Id.VSub_DollarName AUTO_START_INDEX)} right: {<Id.Lit_Digits 14>} ) 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: 373 stdin_parts: [ <'[Unit]\n'> < 'Description=DietPi autostart (Custom /var/lib/dietpi/dietpi-autostart/custom.sh)\n' > < 'After=dietpi-boot.service dietpi-ramdisk.service dietpi-ramlog.service rc-local.service\n' > <'Requires=dietpi-boot.service dietpi-ramdisk.service\n'> <'\n'> <'[Service]\n'> <'Type=idle\n'> < 'ExecStartPre=/bin/bash echo -e \'Starting DietPi-Autostart (Custom) script\'\n' > < 'ExecStart=/bin/bash -c /var/lib/dietpi/dietpi-autostart/custom.sh\n' > <'StandardOutput=tty\n'> <'RemainAfterExit=yes\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-autostart_custom.service'>} ) ] more_env: [] do_fork: T ) (C {<systemctl>} {<enable>} {<dietpi-autostart_custom.service>}) ] spids: [330 344] ) (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 AUTO_START_INDEX)} right: {<Id.Lit_Digits 6>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName AUTO_START_INDEX)} right: {<Id.Lit_Digits 12>} ) ) 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 AUTO_START_INDEX)} right: {<Id.Lit_Digits 6>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<systemctl>} {<enable>} {<amiberry.service>})] spids: [417 431] ) ] else_action: [(C {<systemctl>} {<enable>} {<amiberry-sdl2.service>})] 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: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<cat>} {<'/DietPi/config.txt'>}) (C {<grep>} {<-ci>} {<-m1>} {(SQ <'^boot_delay=0'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<echo>} {<-e>} {(DQ <'boot_delay=0'> <Id.Lit_BadBackslash '\\'> <n>)} ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {<'/DietPi/config.txt'>} ) ] more_env: [] do_fork: T ) ] spids: [467 495] ) ] 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: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<cat>} {<'/boot/cmdline.txt'>}) (C {<grep>} {<-ci>} {<-m1>} {(SQ <' logo.nologo'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<sed>} {<-i>} {(SQ <'s/rootwait/rootwait logo.nologo/'>)} {<'/boot/cmdline.txt'>} ) ] spids: [519 547] ) ] 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: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<cat>} {<'/boot/cmdline.txt'>}) (C {<grep>} {<-ci>} {<-m1>} {(SQ <' loglevel=3'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<sed>} {<-i>} {(SQ <'s/rootwait/rootwait loglevel=3/'>)} {<'/boot/cmdline.txt'>} ) ] spids: [567 595] ) ] 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: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (command.Pipeline children: [ (C {<cat>} {<'/boot/cmdline.txt'>}) (C {<grep>} {<-ci>} {<-m1>} {(SQ <' console=tty3'>)}) ] negated: F stderr_indices: [] ) right: <Id.Eof_RParen _> ) } ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<sed>} {<-i>} {(SQ <'s/console=tty1/console=tty3/'>)} {<'/boot/cmdline.txt'>} ) ] spids: [615 643] ) ] else_action: [] redirects: [] ) ] spids: [387 409] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_Great left: {($ Id.VSub_DollarName AUTO_START_INDEX)} right: {<Id.Lit_Digits 0>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<mkdir>} {<-p>} {<'/etc/systemd/system/getty'> <Id.Lit_Splice '@tty1'> <.service.d>} ] redirects: [ (redir op: <Id.Redir_AndGreat '&>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) ] 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: 716 stdin_parts: [ <'[Service]\n'> <'ExecStart=\n'> <'ExecStart=-/sbin/agetty --autologin root %I '> ($ Id.VSub_DollarName TERM) <'\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/etc/systemd/system/getty'> <Id.Lit_Splice '@tty1'> <'.service.d/autologin.conf'> } ) ] more_env: [] do_fork: T ) ] spids: [667 681] ) ] 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_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_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: {($ Id.VSub_DollarName AUTO_START_INDEX)} right: {<Id.Lit_Digits 6>} ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName AUTO_START_INDEX)} right: {<Id.Lit_Digits 8>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName AUTO_START_INDEX)} right: {<Id.Lit_Digits 12>} ) ) right: (arith_expr.Binary op_id: Id.Arith_DEqual left: {($ Id.VSub_DollarName AUTO_START_INDEX)} right: {<Id.Lit_Digits 13>} ) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<sed>} {<-i>} {(SQ <'/framebuffer_width=/c\\framebuffer_width=854'>)} {<'/DietPi/config.txt'>} ) (C {<sed>} {<-i>} {(SQ <'/framebuffer_height=/c\\framebuffer_height=480'>)} {<'/DietPi/config.txt'>} ) ] spids: [745 783] ) ] else_action: [] redirects: [] ) ] spids: [727 741] ) ] else_action: [] redirects: [] ) (command.Simple words: [{<echo>} {<-e>} {(DQ ($ Id.VSub_DollarName AUTO_START_INDEX))}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/DietPi/dietpi/.dietpi-autostart_index'>} ) ] more_env: [] do_fork: T ) (C {<systemctl>} {<daemon-reload>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name: Menu_Main body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name left: <Id.Lit_VarLike 'AUTO_START_INDEX='> name: AUTO_START_INDEX ) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_DollarParen '$('> child: (C {<cat>} {<'/DietPi/dietpi/.dietpi-autostart_index'>}) right: <Id.Eof_RParen _> ) } spids: [861] ) ] redirects: [] ) (C {<local>} {<Id.Lit_VarLike 'option_name='> (sh_array_literal left: <Id.Op_LParen _> words: [ {(SQ <0>)} {(SQ <'Console: Manual login (default)'>)} {(SQ <7>)} {(SQ <'Console: Automatic login'>)} {(SQ <6>)} {(SQ <'AmiBerry SDL1: Fast boot'>)} {(SQ <8>)} {(SQ <'AmiBerry SDL1: Standard boot'>)} {(SQ <12>)} {(SQ <'AmiBerry SDL2: Fast boot'>)} {(SQ <13>)} {(SQ <'AmiBerry SDL2: Standard boot'>)} {(SQ <10>)} {(SQ <'CAVA Spectrum'>)} {(SQ <11>)} {(SQ <'Chromium: Without desktop'>)} {(SQ <14>)} {(SQ <'Custom: /var/lib/dietpi/dietpi-autostart/custom.sh'>)} {(SQ <2>)} {(SQ <'Desktops: Automatic login (recommended)'>)} {(SQ <16>)} {(SQ <'Desktops: LightDM login prompt'>)} {(SQ <5>)} {(SQ <DietPi-Cloudshell>)} {(SQ <9>)} {(SQ <'DXX-Rebith: Descent 1/2'>)} {(SQ <15>)} {(SQ <JRiver>)} {(SQ <1>)} {(SQ <Kodi>)} {(SQ <4>)} {(SQ <OpenTyrian>)} {(SQ <3>)} {(SQ <RetroPie>)} ] ) } ) (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 <'Current AutoStart Option: '> ($ Id.VSub_DollarName AUTO_START_INDEX) <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> <'nNB: If your choice is not '> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <'Console:'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') < ', please ensure required software is installed (or selected for install) in DietPi-Software.' > ) } {<--cancel-button>} {(DQ <Back>)} {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<--default-item>} {(DQ ($ Id.VSub_DollarName AUTO_START_INDEX))} {<20>} {<75>} {<9>} { (DQ (braced_var_sub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name option_name> var_name: option_name bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At) right: <Id.Right_DollarBrace '}'> ) ) } ] 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: [1033] ) ] 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: [1102] ) ] redirects: [] ) (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 'AUTO_START_INDEX='> name: AUTO_START_INDEX ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName OPTION)} spids: [1129] ) ] redirects: [] ) (C {<Apply_Boot_Index>}) (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 OPTION)} right: {<Id.Lit_Digits 6>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<whiptail>} {<--title>} {(DQ <'AmiBerry: (Fast boot)'>)} {<--msgbox>} { (DQ <'AmiBerry: (Fast boot):'> <Id.Lit_BadBackslash '\\'> <'nA highly optimized and tweaked boot mode.'> <Id.Lit_BadBackslash '\\'> <'nThis mode allows for a < 2.5 second boot on a RPi 3, into AmiBerry.'> <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> < 'nIf you experience boot issues with this mode, please try (Standard Boot)' > ) } {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<14>} {<70>} ) ] spids: [1142 1156] ) ] 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 OPTION)} right: {<Id.Lit_Digits 14>} ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-f>} {<'/var/lib/dietpi/dietpi-autostart/custom.sh'>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (C {<mkdir>} {<-p>} {<'/var/lib/dietpi/dietpi-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: 1277 stdin_parts: [ <'#!/bin/bash\n'> <'#---Examples---\n'> <'\n'> <'# - Chromium\n'> <'#xinit chromium\n'> <'\n'> <'# - LXDE\n'> <'#startx\n'> <'\n'> <'# - Print hello\n'> <'#echo -e '> <Id.Right_DoubleQuote '"'> <Hello> <Id.Right_DoubleQuote '"'> <'\n'> <'\n'> <'#---Put your code below this line---\n'> <'\n'> ] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/var/lib/dietpi/dietpi-autostart/custom.sh'>} ) ] more_env: [] do_fork: T ) (C {<chmod>} {<Id.Lit_Other '+'> <x>} {<'/var/lib/dietpi/dietpi-autostart/custom.sh'>} ) (C {<whiptail>} {<--title>} {(DQ <'Custom: /var/lib/dietpi/dietpi-autostart/custom.sh'>)} {<--msgbox>} { (DQ <'A template script has been created:'> <Id.Lit_BadBackslash '\\'> <'n - /var/lib/dietpi/dietpi-autostart/custom.sh'> <Id.Lit_BadBackslash '\\'> <n> <Id.Lit_BadBackslash '\\'> < 'nPlease edit this file and enter the required commands you wish to launch. DietPi will then execute this script during boot.' > ) } {<--backtitle>} {(DQ ($ Id.VSub_DollarName WHIP_BACKTITLE))} {<14>} {<70>} ) ] spids: [1224 1237] ) ] else_action: [] redirects: [] ) ] spids: [1202 1216] ) ] else_action: [] redirects: [] ) ] spids: [1107 1121] ) ] else_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: [1342] ) ] redirects: [] ) ] redirects: [] ) (C {<unset>} {<option_name>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (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 INPUT)} right: (arith_expr.Unary op_id:Id.Node_UnaryMinus child:{<Id.Lit_Digits 1>}) ) redirects: [] ) terminator: <Id.Op_Semi _> ) ] ) action: [ (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: [1423 1437] ) ] else_action: [] redirects: [] ) ] ) redirects: [] ) ] spids: [1377 1392] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.DParen child: (arith_expr.Binary op_id: Id.Arith_GreatEqual left: {($ Id.VSub_DollarName INPUT)} 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 'AUTO_START_INDEX='> name: AUTO_START_INDEX ) op: assign_op.Equal rhs: {($ Id.VSub_DollarName INPUT)} spids: [1472] ) ] redirects: [] ) (C {<Apply_Boot_Index>}) ] spids: [1454 1468] ) ] else_action: [] redirects: [] ) (command.ControlFlow token:<Id.ControlFlow_Exit exit>) ] redirects: [] right: <Id.Lit_RBrace '}'> )