(command.If arms: [ (if_arm cond: [(command.Sentence child:(C {(test)} {(-t)} {(1)}) terminator:<Op_Semi ';'>)] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:NUM_COLORS spids:[23]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(tput)} {(colors)})]) left_token: <Left_CommandSub '$('> spids: [24 28] ) } spids: [23] ) ] spids: [23] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DAmp] children: [ (C {(test)} {(-n)} {(DQ (${ VSub_Name NUM_COLORS))}) (C {(test)} {(${ VSub_Name NUM_COLORS)} {(-ge)} {(8)}) ] ) terminator: <Op_Semi ';'> ) ] action: [ (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:NORMAL spids:[59]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(tput)} {(sgr0)})]) left_token: <Left_CommandSub '$('> spids: [60 64] ) } spids: [59] ) ] spids: [59] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:BOLD spids:[67]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(tput)} {(bold)})]) left_token: <Left_CommandSub '$('> spids: [68 72] ) } spids: [67] ) ] spids: [67] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:UNDERLINE spids:[75]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(tput)} {(smul)})]) left_token: <Left_CommandSub '$('> spids: [76 80] ) } spids: [75] ) ] spids: [75] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:REVERSE spids:[83]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(tput)} {(smso)})]) left_token: <Left_CommandSub '$('> spids: [84 88] ) } spids: [83] ) ] spids: [83] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:BLINK spids:[91]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children:[(C {(tput)} {(blink)})]) left_token: <Left_CommandSub '$('> spids: [92 96] ) } spids: [91] ) ] spids: [91] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:BLACK spids:[99]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(tput)} {(setaf)} {(0)})] ) left_token: <Left_CommandSub '$('> spids: [100 106] ) } spids: [99] ) ] spids: [99] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:RED spids:[109]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(tput)} {(setaf)} {(1)})] ) left_token: <Left_CommandSub '$('> spids: [110 116] ) } spids: [109] ) ] spids: [109] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:GREEN spids:[119]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(tput)} {(setaf)} {(2)})] ) left_token: <Left_CommandSub '$('> spids: [120 126] ) } spids: [119] ) ] spids: [119] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:YELLOW spids:[129]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(tput)} {(setaf)} {(3)})] ) left_token: <Left_CommandSub '$('> spids: [130 136] ) } spids: [129] ) ] spids: [129] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:BLUE spids:[139]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(tput)} {(setaf)} {(4)})] ) left_token: <Left_CommandSub '$('> spids: [140 146] ) } spids: [139] ) ] spids: [139] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:MAGENTA spids:[149]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(tput)} {(setaf)} {(5)})] ) left_token: <Left_CommandSub '$('> spids: [150 156] ) } spids: [149] ) ] spids: [149] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:CYAN spids:[159]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(tput)} {(setaf)} {(6)})] ) left_token: <Left_CommandSub '$('> spids: [160 166] ) } spids: [159] ) ] spids: [159] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:WHITE spids:[169]) op: Equal rhs: { (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(tput)} {(setaf)} {(7)})] ) left_token: <Left_CommandSub '$('> spids: [170 176] ) } spids: [169] ) ] spids: [169] ) ] spids: [16777215 56] ) ] spids: [16777215 179] ) ] spids: [16777215 16] ) ] spids: [16777215 181] )