(CommandList children: [ (FuncDef name: sort_list body: (BraceGroup children: [ (AndOr ops: [Op_DAmp] children: [ (DParen child: (ArithBinary op_id: Arith_NEqual left: (ArithWord w:{($ VSub_Pound '$#')}) right: (ArithWord w:{(Lit_Digits 2)}) ) spids: [24 31] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] ) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [ (assign_pair lhs: (LhsName name:left) op: Equal rhs: {($ VSub_Number '$1')} spids: [44] ) ] spids: [40] ) (AndOr ops: [Op_DPipe Op_DAmp] children: [ (DParen child: (ArithBinary op_id: Arith_Less left: (ArithVarRef name:left) right: (ArithWord w:{(Lit_Digits 0)}) ) spids: [48 55] ) (DParen child: (ArithBinary op_id: Arith_DEqual left: (ArithWord w:{(Lit_Digits 0)}) right: (ArithWord w: { (BracedVarSub token: <VSub_Name list> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [65 71] ) } ) ) spids: [59 73] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(2)}) ] ) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [ (assign_pair lhs: (LhsName name:right) op: Equal rhs: {($ VSub_Number '$2')} spids: [86] ) ] spids: [82] ) (AndOr ops: [Op_DAmp] children: [ (DParen child: (ArithBinary op_id: Arith_GreatEqual left: (ArithVarRef name:right) right: (ArithWord w: { (BracedVarSub token: <VSub_Name list> prefix_op: VSub_Pound bracket_op: (WholeArray op_id:Lit_At) spids: [95 101] ) } ) ) spids: [90 103] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(3)}) ] ) (Sentence child: (Assignment keyword: Assign_Typeset flags: [-i] pairs: [ (assign_pair lhs: (LhsName name:i) op: Equal rhs: {($ VSub_Name '$left')} spids: [116] ) ] spids: [112] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_Typeset flags: [-i] pairs: [ (assign_pair lhs: (LhsName name:j) op: Equal rhs: {($ VSub_Name '$right')} spids: [124] ) ] spids: [120] ) (Sentence child: (Assignment keyword: Assign_Typeset flags: [-i] pairs: [(assign_pair lhs:(LhsName name:mid) op:Equal spids:[132])] spids: [128] ) terminator: <Op_Semi ';'> ) (DParen child: (BinaryAssign op_id: Arith_Equal left: (LhsName name:mid) right: (ArithBinary op_id: Arith_Slash left: (ArithBinary op_id: Arith_Plus left: (ArithVarRef name:left) right: (ArithVarRef name:right) ) right: (ArithWord w:{(Lit_Digits 2)}) ) ) spids: [135 149] ) (Sentence child: (Assignment keyword: Assign_Typeset pairs: [(assign_pair lhs:(LhsName name:partition_item) op:Equal spids:[154])] spids: [152] ) terminator: <Op_Semi ';'> ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:partition_item) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name list> bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$mid')})) spids: [159 164] ) ) } spids: [157] ) ] spids: [157] ) (Assignment keyword: Assign_Typeset pairs: [(assign_pair lhs:(LhsName name:temp) op:Equal spids:[170])] spids: [168] ) (WhileUntil keyword: <KW_While while> cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_Great left: (ArithVarRef name:j) right: (ArithVarRef name:i) ) spids: [175 182] ) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:item) op: Equal rhs: { (BracedVarSub token: <VSub_Name list> bracket_op: (ArrayIndex expr:(ArithVarRef name:i)) spids: [190 195] ) } spids: [189] ) ] spids: [189] ) (WhileUntil keyword: <KW_While while> cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: Redir_Less left: { (DQ (BracedVarSub token: <VSub_Name list> bracket_op: (ArrayIndex expr: (ArithWord w:{($ VSub_Name '$i')}) ) spids: [203 208] ) ) } right: {(DQ ($ VSub_Name '$partition_item'))} ) ) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (DParen child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i)) spids: [224 228] ) ] spids: [221 231] ) ) (WhileUntil keyword: <KW_While while> cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: Redir_Great left: { (DQ (BracedVarSub token: <VSub_Name list> bracket_op: (ArrayIndex expr: (ArithWord w:{($ VSub_Name '$j')}) ) spids: [239 244] ) ) } right: {(DQ ($ VSub_Name '$partition_item'))} ) ) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (DParen child: (UnaryAssign op_id:Node_PostDMinus child:(LhsName name:j)) spids: [260 264] ) ] spids: [257 267] ) ) (If arms: [ (if_arm cond: [ (Sentence child: (DParen child: (ArithBinary op_id: Arith_LessEqual left: (ArithVarRef name:i) right: (ArithVarRef name:j) ) spids: [272 279] ) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:temp) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name list> bracket_op: (ArrayIndex expr: (ArithWord w:{($ VSub_Name '$i')}) ) spids: [288 293] ) ) } spids: [286] ) ] spids: [286] ) terminator: <Op_Semi ';'> ) (Sentence child: (C {(list) (Lit_Other '[') ($ VSub_Name '$i') (Lit_Other ']') (Lit_Other '=') (DQ (BracedVarSub token: <VSub_Name list> bracket_op: (ArrayIndex expr:(ArithWord w:{($ VSub_Name '$j')})) spids: [303 308] ) ) } ) terminator: <Op_Semi ';'> ) (C {(list) (Lit_Other '[') ($ VSub_Name '$j') (Lit_Other ']') (Lit_Other '=') (DQ ($ VSub_Name '$temp')) } ) (DParen child: (UnaryAssign op_id:Node_PostDPlus child:(LhsName name:i)) spids: [322 326] ) (DParen child: (UnaryAssign op_id:Node_PostDMinus child:(LhsName name:j)) spids: [329 333] ) ] spids: [16777215 283] ) ] spids: [16777215 336] ) ] spids: [186 339] ) ) (AndOr ops: [Op_DAmp] children: [ (DParen child: (ArithBinary op_id: Arith_Less left: (ArithVarRef name:left) right: (ArithVarRef name:j) ) spids: [342 349] ) (C {(sort_list)} {($ VSub_Name '$left')} {($ VSub_Name '$j')}) ] ) (AndOr ops: [Op_DAmp] children: [ (DParen child: (ArithBinary op_id: Arith_Great left: (ArithVarRef name:right) right: (ArithVarRef name:i) ) spids: [361 368] ) (C {(sort_list)} {($ VSub_Name '$i')} {($ VSub_Name '$right')}) ] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) ] spids: [21] ) spids: [17 20] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {($ VSub_Number '$0')} right: {(Lit_Other '*') (sorting.sh)} ) ) terminator: <Op_Semi ';'> ) ] action: [ (AndOr ops: [Op_DAmp] children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{($ VSub_Name '$ZSH_VERSION')}) ) (C {(setopt)} {(ksharrays)}) ] ) (Assignment keyword: Assign_Typeset flags: [-a] pairs: [(assign_pair lhs:(LhsName name:list) op:Equal spids:[424])] spids: [420] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:list) op: Equal rhs: {(ArrayLiteralPart)} spids: [427] ) ] spids: [427] ) (C {(sort_list)} {(-1)} {(0)}) (C {(Assign_Typeset typeset)} {(-p)} {(list)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:list) op: Equal rhs: {(ArrayLiteralPart words:[{(SQ <one>)}])} spids: [447] ) ] spids: [447] ) (C {(Assign_Typeset typeset)} {(-p)} {(list)}) (C {(sort_list)} {(0)} {(0)}) (C {(Assign_Typeset typeset)} {(-p)} {(list)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:list) op: Equal rhs: {(ArrayLiteralPart words:[{(SQ <one>)} {(SQ <two>)} {(SQ <three>)}])} spids: [477] ) ] spids: [477] ) (C {(sort_list)} {(0)} {(2)}) (C {(Assign_Typeset typeset)} {(-p)} {(list)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:list) op: Equal rhs: {(ArrayLiteralPart words:[{(4)} {(3)} {(2)} {(1)}])} spids: [507] ) ] spids: [507] ) (C {(sort_list)} {(0)} {(3)}) (C {(Assign_Typeset typeset)} {(-p)} {(list)}) ] spids: [16777215 401] ) ] spids: [16777215 532] ) ] )