(CommandList children: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:PATH) op: Equal rhs: {(/bin) (Lit_Other ':') (/sbin) (Lit_Other ':') (/usr/bin) (Lit_Other ':') (/usr/sbin)} spids: [144] ) ] spids: [144] ) terminator: <Op_Semi ';'> ) (C {(export)} {(PATH)}) (FuncDef name: do_purge body: (BraceGroup children: [ (SimpleCommand words: [{(echo)} {(DQ ('purge ') ($ VSub_At '$@'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[182])] ) (SimpleCommand words: [{(echo)} {(DQ ('not implemented yet') (Lit_Other '\\') (n))}] redirects: [(Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[194])] ) ] spids: [172] ) spids: [168 171] ) (FuncDef name: uncompress_page body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:pname) op:Equal spids:[219])] spids: [217] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:fname) op:Equal spids:[224])] spids: [222] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:sect) op:Equal spids:[229])] spids: [227] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:ext) op:Equal spids:[234])] spids: [232] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pname) op: Equal rhs: {($ VSub_Number '$1')} spids: [242] ) ] spids: [242] ) (Sentence child: (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(SQ <.>)} spids:[246])] spids: [246] ) terminator: <Op_Semi ';'> ) (C {(set)} {($ VSub_Name '$pname')}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-lt)} {(3)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {(DQ (' \t'))} spids: [280] ) ] spids: [280] ) terminator: <Op_Semi ';'> ) (Sentence child: (SimpleCommand words: [{(echo)} {(ignoring)} {($ VSub_Name '$pname')}] redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[293])] ) terminator: <Op_Semi ';'> ) (Sentence child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) terminator: <Op_Semi ';'> ) ] spids: [16777215 276] ) ] spids: [16777215 306] ) (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fname) op: Equal rhs: {($ VSub_Number '$1')} spids: [313] ) ] spids: [313] ) terminator: <Op_Semi ';'> ) (C {(shift)}) (While cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-gt)} {(2)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fname) op: Equal rhs: {($ VSub_Name '$fname') (.) ($ VSub_Number '$1')} spids: [338] ) ] spids: [338] ) (C {(shift)}) ] spids: [335 347] ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sect) op: Equal rhs: {($ VSub_Number '$1')} spids: [350] ) ] spids: [350] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ext) op: Equal rhs: {($ VSub_Number '$2')} spids: [354] ) ] spids: [354] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(DQ (' \t'))} spids:[359])] spids: [359] ) (Case to_match: {(DQ ($ VSub_Name '$ext'))} arms: [ (case_arm pat_list: [{(gz)} {(Z)}] action: [ (BraceGroup children: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {(DQ (' \t'))} spids: [383] ) ] spids: [383] ) terminator: <Op_Semi ';'> ) (C {(set)} { (CommandSubPart command_list: (CommandList children: [(C {(file)} {($ VSub_Name '$pname')})] ) left_token: <Left_Backtick '`'> spids: [392 396] ) } ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Number '$2')} {(KW_Bang '!') (Lit_Other '=')} {(DQ (gzip))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(echo)} {(moving)} {(hard)} {(link)} {($ VSub_Name '$pname')}] redirects: [ (Redir op_id: Redir_GreatAnd fd: 1 arg_word: {(2)} spids: [430] ) ] ) (C {(mv)} {($ VSub_Name '$pname')} {($ VSub_Name '$fname') (.) ($ VSub_Name '$ext')} ) ] spids: [16777215 416] ) ] else_action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Number '$2')} {(KW_Bang '!') (Lit_Other '=')} {(DQ (symbolic))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(echo)} {(gunzipping)} {(page)} {($ VSub_Name '$pname')}] redirects: [ (Redir op_id: Redir_GreatAnd fd: 1 arg_word: {(2)} spids: [477] ) ] ) (AndOr ops: [Op_DPipe] children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:temp) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(mktemp)} {(-t)} {(manager)})] ) left_token: <Left_Backtick '`'> spids: [482 488] ) } spids: [481] ) ] spids: [481] ) (ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] ) (SimpleCommand words: [{(gunzip)} {(-c)} {($ VSub_Name '$pname')}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {($ VSub_Name '$temp')} spids: [503] ) ] ) (C {(chmod)} {(u) (Lit_Other '+') (w)} {($ VSub_Name '$pname')}) (C {(cp)} {($ VSub_Name '$temp')} {($ VSub_Name '$pname')}) (C {(chmod)} {(444)} {($ VSub_Name '$pname')}) (C {(mv)} {($ VSub_Name '$pname')} {($ VSub_Name '$fname') (.) ($ VSub_Name '$sect')} ) (C {(rm)} {(-f)} {($ VSub_Name '$temp')}) ] spids: [16777215 466] ) ] else_action: [ (SimpleCommand words: [{(echo)} {(skipping)} {(symlink)} {($ VSub_Name '$pname')}] redirects: [ (Redir op_id: Redir_GreatAnd fd: 1 arg_word: {(2)} spids: [570] ) ] ) ] spids: [547 574] ) ] spids: [446 577] ) ] spids: [379] ) ] spids: [374 377 580 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {(DQ (' \t'))} spids: [589] ) ] spids: [589] ) (SimpleCommand words: [{(echo)} {(skipping)} {(file)} {($ VSub_Name '$pname')}] redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[603])] ) ] spids: [586] ) ] spids: [583 584 609 16777215] ) ] spids: [365 371 612] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(DQ (' \t'))} spids:[619])] spids: [619] ) ] spids: [214] ) spids: [210 213] ) (FuncDef name: do_uncompress body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[646])] spids: [644] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:dir) op:Equal spids:[651])] spids: [649] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:workdir) op:Equal spids:[656])] spids: [654] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:workdir) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(pwd)})]) left_token: <Left_Backtick '`'> spids: [661 663] ) } spids: [660] ) ] spids: [660] ) (While cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(KW_Bang '!') (Lit_Other '=')} {(0)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-d)} {($ VSub_Number '$1')} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dir) op: Equal rhs: {($ VSub_Number '$1')} spids: [699] ) ] spids: [699] ) (C {(cd)} {($ VSub_Name '$dir')}) (ForEach iter_name: i iter_words: [{(Lit_Other '*')}] do_arg_iter: F body: (DoGroup children: [ (Case to_match: {($ VSub_Name '$i')} arms: [ (case_arm pat_list: [{(Lit_Other '*') (cat) (Lit_Other '?')}] spids: [728 731 733 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-d)} {($ VSub_Name '$i')} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(do_uncompress)} {($ VSub_Name '$i')}) ] spids: [16777215 757] ) ] else_action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-e)} {($ VSub_Name '$i')} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(uncompress_page)} {($ VSub_Name '$i')}) ] spids: [16777215 781] ) ] spids: [16777215 789] ) ] spids: [766 792] ) ] spids: [742] ) ] spids: [739 740 796 16777215] ) ] spids: [721 725 799] ) ] spids: [718 802] ) spids: [713 716] ) (C {(cd)} {($ VSub_Name '$workdir')}) ] spids: [16777215 696] ) ] else_action: [ (SimpleCommand words: [{(echo)} {(DQ ('directory ') ($ VSub_Number '$1') (' not found'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[821])] ) ] spids: [810 825] ) (C {(shift)}) ] spids: [681 831] ) ) ] spids: [641] ) spids: [637 640] ) (FuncDef name: so_purge_page body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:so_entries) op:Equal spids:[854])] spids: [852] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:lines) op:Equal spids:[859])] spids: [857] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:fname) op:Equal spids:[864])] spids: [862] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:so_entries) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(grep)} {(DQ ('^') (Lit_Other '\\') (.so))} {($ VSub_Number '$1')}) (C {(wc)} {(-l)}) ] negated: F ) ] ) left_token: <Left_Backtick '`'> spids: [869 885] ) } spids: [868] ) ] spids: [868] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$so_entries')} {(-eq)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) terminator: <Op_Semi ';'> ) ] spids: [16777215 902] ) ] spids: [16777215 910] ) (SimpleCommand words: [{(echo)} {($ VSub_Number '$1')} {(contains)} {(a)} {(.so)} {(entry)}] redirects: [(Redir op_id:Redir_GreatAnd fd:2 arg_word:{(1)} spids:[930])] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:lines) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [{(wc)} {(-l)}] redirects: [ (Redir op_id: Redir_Less fd: 16777215 arg_word: {($ VSub_Number '$1')} spids: [946] ) ] ) ] ) left_token: <Left_Backtick '`'> spids: [941 949] ) } spids: [940] ) ] spids: [940] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$lines')} {(-eq)} {(1)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fname) op: Equal rhs: {($ VSub_Number '$1')} spids: [978] ) ] spids: [978] ) terminator: <Op_Semi ';'> ) (C {(echo)} {(replacing)} {($ VSub_Name '$fname')} {(with)} {(a)} {(hard)} {(link)}) (Sentence child: (C {(set)} { (CommandSubPart command_list: (CommandList children: [(C {(cat)} {($ VSub_Name '$fname')})] ) left_token: <Left_Backtick '`'> spids: [1000 1004] ) } ) terminator: <Op_Semi ';'> ) (C {(rm)} {(-f)} {($ VSub_Name '$fname')}) (C {(ln)} {(../) ($ VSub_Number '$2')} {($ VSub_Name '$fname')}) ] spids: [16777215 975] ) ] else_action: [ (SimpleCommand words: [{(echo)} {(inlining)} {(page)} {($ VSub_Name '$fname')}] redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[1034])] ) (AndOr ops: [Op_DPipe] children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:temp) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(mktemp)} {(-t)} {(manager)})] ) left_token: <Left_Backtick '`'> spids: [1039 1045] ) } spids: [1038] ) ] spids: [1038] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] ) (Pipeline children: [ (C {(cat)} {($ VSub_Name '$fname')}) (Subshell child: (CommandList children: [ (Sentence child: (C {(cd)} {(..)}) terminator: <Op_Semi ';'> ) (C {(soelim)}) ] ) redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {($ VSub_Name '$temp')} spids: [1073] ) ] spids: [1062 1071] ) ] negated: F ) (C {(chmod)} {(u) (Lit_Other '+') (w)} {($ VSub_Name '$fname')}) (C {(cp)} {($ VSub_Name '$temp')} {($ VSub_Name '$fname')}) (C {(chmod)} {(444)} {($ VSub_Name '$fname')}) (C {(rm)} {(-f)} {($ VSub_Name '$temp')}) ] spids: [1023 1108] ) ] spids: [849] ) spids: [845 848] ) (FuncDef name: remove_so body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:pname) op:Equal spids:[1137])] spids: [1135] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:fname) op:Equal spids:[1142])] spids: [1140] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:sect) op:Equal spids:[1147])] spids: [1145] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pname) op: Equal rhs: {($ VSub_Number '$1')} spids: [1155] ) ] spids: [1155] ) (Sentence child: (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(SQ <.>)} spids:[1159])] spids: [1159] ) terminator: <Op_Semi ';'> ) (C {(set)} {($ VSub_Name '$pname')}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-lt)} {(2)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {(DQ (' \t'))} spids: [1189] ) ] spids: [1189] ) terminator: <Op_Semi ';'> ) (Sentence child: (SimpleCommand words: [{(echo)} {(ignoring)} {($ VSub_Name '$pname')}] redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[1202])] ) terminator: <Op_Semi ';'> ) (Sentence child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) terminator: <Op_Semi ';'> ) ] spids: [16777215 1185] ) ] spids: [16777215 1215] ) (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fname) op: Equal rhs: {($ VSub_Number '$1')} spids: [1222] ) ] spids: [1222] ) terminator: <Op_Semi ';'> ) (C {(shift)}) (While cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-gt)} {(1)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fname) op: Equal rhs: {($ VSub_Name '$fname') (.) ($ VSub_Number '$1')} spids: [1247] ) ] spids: [1247] ) (C {(shift)}) ] spids: [1244 1256] ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sect) op: Equal rhs: {($ VSub_Number '$1')} spids: [1259] ) ] spids: [1259] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(DQ (' \t'))} spids:[1264])] spids: [1264] ) (Case to_match: {(DQ ($ VSub_Name '$sect'))} arms: [ (case_arm pat_list: [{(gz)}] action: [ (BraceGroup children: [ (Sentence child: (SimpleCommand words: [{(echo)} {(file)} {($ VSub_Name '$pname')} {(already)} {(gzipped)}] redirects: [ (Redir op_id: Redir_GreatAnd fd: 1 arg_word: {(2)} spids: [1294] ) ] ) terminator: <Op_Semi ';'> ) ] spids: [1282] ) ] spids: [1279 1280 1301 16777215] ) (case_arm pat_list: [{(Z)}] action: [ (BraceGroup children: [ (Sentence child: (SimpleCommand words: [ {(echo)} {(file)} {($ VSub_Name '$pname')} {(already)} {(compressed)} ] redirects: [ (Redir op_id: Redir_GreatAnd fd: 1 arg_word: {(2)} spids: [1319] ) ] ) terminator: <Op_Semi ';'> ) ] spids: [1307] ) ] spids: [1304 1305 1326 16777215] ) (case_arm pat_list: [{(Lit_Other '[') (12345678ln) (Lit_Other ']') (Lit_Other '*')}] action: [ (BraceGroup children: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {(DQ (' \t'))} spids: [1337] ) ] spids: [1337] ) terminator: <Op_Semi ';'> ) (C {(set)} { (CommandSubPart command_list: (CommandList children: [(C {(file)} {($ VSub_Name '$pname')})] ) left_token: <Left_Backtick '`'> spids: [1346 1350] ) } ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Number '$2')} {(Lit_Other '=')} {(DQ (gzip))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(echo)} {(moving)} {(hard)} {(link)} {($ VSub_Name '$pname')}] redirects: [ (Redir op_id: Redir_GreatAnd fd: 1 arg_word: {(2)} spids: [1383] ) ] ) (C {(mv)} {($ VSub_Name '$pname')} {($ VSub_Name '$pname') (.gz)}) ] spids: [16777215 1369] ) ] else_action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Number '$2')} {(KW_Bang '!') (Lit_Other '=')} {(DQ (symbolic))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [ {(echo)} {(DQ ("removing .so's in page ") ($ VSub_Name '$pname'))} ] redirects: [ (Redir op_id: Redir_GreatAnd fd: 1 arg_word: {(2)} spids: [1428] ) ] ) (C {(so_purge_page)} {($ VSub_Name '$pname')}) ] spids: [16777215 1418] ) ] else_action: [ (SimpleCommand words: [{(echo)} {(skipping)} {(symlink)} {($ VSub_Name '$pname')}] redirects: [ (Redir op_id: Redir_GreatAnd fd: 1 arg_word: {(2)} spids: [1460] ) ] ) ] spids: [1437 1464] ) ] spids: [1398 1467] ) ] spids: [1334] ) ] spids: [1329 1333 1470 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {(DQ (' \t'))} spids: [1479] ) ] spids: [1479] ) (SimpleCommand words: [{(echo)} {(skipping)} {(file)} {($ VSub_Name '$pname')}] redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[1493])] ) ] spids: [1476] ) ] spids: [1473 1474 1499 16777215] ) ] spids: [1270 1276 1502] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(DQ (' \t'))} spids:[1509])] spids: [1509] ) ] spids: [1132] ) spids: [1128 1131] ) (FuncDef name: compress_page body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:pname) op:Equal spids:[1539])] spids: [1537] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:fname) op:Equal spids:[1544])] spids: [1542] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:sect) op:Equal spids:[1549])] spids: [1547] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:pname) op: Equal rhs: {($ VSub_Number '$1')} spids: [1557] ) ] spids: [1557] ) (Sentence child: (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(SQ <.>)} spids:[1561])] spids: [1561] ) terminator: <Op_Semi ';'> ) (C {(set)} {($ VSub_Name '$pname')}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-lt)} {(2)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {(DQ (' \t'))} spids: [1591] ) ] spids: [1591] ) terminator: <Op_Semi ';'> ) (Sentence child: (SimpleCommand words: [{(echo)} {(ignoring)} {($ VSub_Name '$pname')}] redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[1604])] ) terminator: <Op_Semi ';'> ) (Sentence child: (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)}) terminator: <Op_Semi ';'> ) ] spids: [16777215 1587] ) ] spids: [16777215 1617] ) (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fname) op: Equal rhs: {($ VSub_Number '$1')} spids: [1624] ) ] spids: [1624] ) terminator: <Op_Semi ';'> ) (C {(shift)}) (While cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-gt)} {(1)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:fname) op: Equal rhs: {($ VSub_Name '$fname') (.) ($ VSub_Number '$1')} spids: [1649] ) ] spids: [1649] ) (C {(shift)}) ] spids: [1646 1658] ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:sect) op: Equal rhs: {($ VSub_Number '$1')} spids: [1661] ) ] spids: [1661] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(DQ (' \t'))} spids:[1666])] spids: [1666] ) (Case to_match: {(DQ ($ VSub_Name '$sect'))} arms: [ (case_arm pat_list: [{(gz)}] action: [ (BraceGroup children: [ (Sentence child: (SimpleCommand words: [{(echo)} {(file)} {($ VSub_Name '$pname')} {(already)} {(gzipped)}] redirects: [ (Redir op_id: Redir_GreatAnd fd: 1 arg_word: {(2)} spids: [1696] ) ] ) terminator: <Op_Semi ';'> ) ] spids: [1684] ) ] spids: [1681 1682 1703 16777215] ) (case_arm pat_list: [{(Z)}] action: [ (BraceGroup children: [ (Sentence child: (SimpleCommand words: [ {(echo)} {(file)} {($ VSub_Name '$pname')} {(already)} {(compressed)} ] redirects: [ (Redir op_id: Redir_GreatAnd fd: 1 arg_word: {(2)} spids: [1721] ) ] ) terminator: <Op_Semi ';'> ) ] spids: [1709] ) ] spids: [1706 1707 1728 16777215] ) (case_arm pat_list: [{(Lit_Other '[') (12345678ln) (Lit_Other ']') (Lit_Other '*')}] action: [ (BraceGroup children: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {(DQ (' \t'))} spids: [1739] ) ] spids: [1739] ) terminator: <Op_Semi ';'> ) (C {(set)} { (CommandSubPart command_list: (CommandList children: [(C {(file)} {($ VSub_Name '$pname')})] ) left_token: <Left_Backtick '`'> spids: [1748 1752] ) } ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Number '$2')} {(Lit_Other '=')} {(DQ (gzip))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(echo)} {(moving)} {(hard)} {(link)} {($ VSub_Name '$pname')}] redirects: [ (Redir op_id: Redir_GreatAnd fd: 1 arg_word: {(2)} spids: [1785] ) ] ) (C {(mv)} {($ VSub_Name '$pname')} {($ VSub_Name '$pname') (.gz)}) ] spids: [16777215 1771] ) ] else_action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Number '$2')} {(KW_Bang '!') (Lit_Other '=')} {(DQ (symbolic))} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(echo)} {(gzipping)} {(page)} {($ VSub_Name '$pname')}] redirects: [ (Redir op_id: Redir_GreatAnd fd: 1 arg_word: {(2)} spids: [1831] ) ] ) (AndOr ops: [Op_DPipe] children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:temp) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(mktemp)} {(-t)} {(manager)})] ) left_token: <Left_Backtick '`'> spids: [1836 1842] ) } spids: [1835] ) ] spids: [1835] ) (ControlFlow token: <ControlFlow_Exit exit> arg_word: {(1)} ) ] ) (Pipeline children: [ (C {(cat)} {($ VSub_Name '$pname')}) (Subshell child: (CommandList children: [ (Sentence child: (C {(cd)} {(..)}) terminator: <Op_Semi ';'> ) (C {(soelim)}) ] ) spids: [1859 1868] ) (SimpleCommand words: [{(gzip)} {(-c)} {(--)}] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {($ VSub_Name '$temp')} spids: [1877] ) ] ) ] negated: F ) (C {(chmod)} {(u) (Lit_Other '+') (w)} {($ VSub_Name '$pname')}) (C {(cp)} {($ VSub_Name '$temp')} {($ VSub_Name '$pname')}) (C {(chmod)} {(444)} {($ VSub_Name '$pname')}) (C {(mv)} {($ VSub_Name '$pname')} {($ VSub_Name '$pname') (.gz)}) (C {(rm)} {(-f)} {($ VSub_Name '$temp')}) ] spids: [16777215 1820] ) ] else_action: [ (SimpleCommand words: [{(echo)} {(skipping)} {(symlink)} {($ VSub_Name '$pname')}] redirects: [ (Redir op_id: Redir_GreatAnd fd: 1 arg_word: {(2)} spids: [1943] ) ] ) ] spids: [1920 1947] ) ] spids: [1800 1950] ) ] spids: [1736] ) ] spids: [1731 1735 1953 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {(DQ (' \t'))} spids: [1962] ) ] spids: [1962] ) (SimpleCommand words: [{(echo)} {(skipping)} {(file)} {($ VSub_Name '$pname')}] redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[1976])] ) ] spids: [1959] ) ] spids: [1956 1957 1982 16777215] ) ] spids: [1672 1678 1985] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(DQ (' \t'))} spids:[1992])] spids: [1992] ) ] spids: [1534] ) spids: [1530 1533] ) (FuncDef name: do_compress_so body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:i) op:Equal spids:[2018])] spids: [2016] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:dir) op:Equal spids:[2023])] spids: [2021] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:workdir) op:Equal spids:[2028])] spids: [2026] ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:what) op:Equal spids:[2033])] spids: [2031] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:what) op: Equal rhs: {($ VSub_Number '$1')} spids: [2037] ) ] spids: [2037] ) (C {(shift)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:workdir) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(pwd)})]) left_token: <Left_Backtick '`'> spids: [2045 2047] ) } spids: [2044] ) ] spids: [2044] ) (While cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(KW_Bang '!') (Lit_Other '=')} {(0)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] body: (DoGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-d)} {($ VSub_Number '$1')} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:dir) op: Equal rhs: {($ VSub_Number '$1')} spids: [2083] ) ] spids: [2083] ) (C {(cd)} {($ VSub_Name '$dir')}) (ForEach iter_name: i iter_words: [{(Lit_Other '*')}] do_arg_iter: F body: (DoGroup children: [ (Case to_match: {($ VSub_Name '$i')} arms: [ (case_arm pat_list: [{(Lit_Other '*') (cat) (Lit_Other '?')}] spids: [2112 2115 2117 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-d)} {($ VSub_Name '$i')} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(do_compress_so)} {($ VSub_Name '$what')} {($ VSub_Name '$i')} ) ] spids: [16777215 2141] ) ] else_action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-e)} {($ VSub_Name '$i')} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {($ VSub_Name '$what')} {($ VSub_Name '$i')} ) ] spids: [16777215 2168] ) ] spids: [16777215 2176] ) ] spids: [2152 2179] ) ] spids: [2126] ) ] spids: [2123 2124 2183 16777215] ) ] spids: [2105 2109 2186] ) ] spids: [2102 2189] ) spids: [2097 2100] ) (C {(cd)} {($ VSub_Name '$workdir')}) ] spids: [16777215 2080] ) ] else_action: [ (SimpleCommand words: [{(echo)} {(DQ ('directory ') ($ VSub_Number '$1') (' not found'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[2208])] ) ] spids: [2197 2212] ) (C {(shift)}) ] spids: [2065 2218] ) ) ] spids: [2013] ) spids: [2009 2012] ) (FuncDef name: ctl_usage body: (BraceGroup children: [ (SimpleCommand words: [{(echo)} {(DQ ('usage: ') ($ VSub_Number '$1') (' -compress <path> ... '))}] redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[2247])] ) (SimpleCommand words: [{(echo)} {(DQ (' ') ($ VSub_Number '$1') (' -uncompress <path> ... '))}] redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[2259])] ) (SimpleCommand words: [{(echo)} {(DQ (' ') ($ VSub_Number '$1') (' -purge <days> <path> ... '))}] redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[2271])] ) (SimpleCommand words: [{(echo)} {(DQ (' ') ($ VSub_Number '$1') (' -purge expire <path> ... '))}] redirects: [(Redir op_id:Redir_GreatAnd fd:1 arg_word:{(2)} spids:[2283])] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [2236] ) spids: [2232 2235] ) (FuncDef name: do_compress body: (BraceGroup children: [ (C {(do_compress_so)} {(remove_so)} {(DQ ($ VSub_At '$@'))}) (C {(do_compress_so)} {(compress_page)} {(DQ ($ VSub_At '$@'))}) ] spids: [2307] ) spids: [2303 2306] ) (Sentence child: (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-lt)} {(2)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Sentence child: (C {(ctl_usage)} {($ VSub_Number '$0')}) terminator: <Op_Semi ';'> ) ] spids: [16777215 2361] ) ] spids: [16777215 2369] ) terminator: <Op_Semi ';'> ) (Case to_match: {(DQ ($ VSub_Number '$1'))} arms: [ (case_arm pat_list: [{(-compress)}] action: [ (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>) (C {(do_compress)} {(DQ ($ VSub_At '$@'))}) ] spids: [2383 2384 2396 16777215] ) (case_arm pat_list: [{(-uncompress)}] action: [ (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>) (C {(do_uncompress)} {(DQ ($ VSub_At '$@'))}) ] spids: [2399 2400 2412 16777215] ) (case_arm pat_list: [{(-purge)}] action: [ (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>) (C {(do_purge)} {(DQ ($ VSub_At '$@'))}) ] spids: [2415 2416 2428 16777215] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(C {(ctl_usage)} {($ VSub_Number '$0')})] spids: [2431 2432 2438 16777215] ) ] spids: [2374 2380 2440] ) ] )