(command.CommandList children: [ (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} {<self>} {<extracting>} {<archive>} {<generator>} {<Id.KW_For for>} {<ratz>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'COMMAND='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'COMMAND='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'COMMAND='> name:COMMAND) op: assign_op.Equal rhs: {<sear>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'args='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'args='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'args='> name:args) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'cc='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'cc='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cc='> name:cc) op: assign_op.Equal rhs: {(DQ <'ncc -O -Y-Os'>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'cmd='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'cmd='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cmd='> name:cmd) op: assign_op.Equal rhs: {(DQ <dir>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'dyn='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dyn='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dyn='> name:dyn) op: assign_op.Equal rhs: {<-D_DLL>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'ico='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ico='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ico='> name:ico) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'opt='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'opt='> name:opt) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'out='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'out='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'out='> name:out) op: assign_op.Equal rhs: {<install.exe>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'src='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'src='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'src='> name:src) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Subshell left: <Id.Op_LParen _> child: (command.CommandList children: [ (command.Sentence child: (command.Simple blame_tok: <getopts> more_env: [] words: [{<getopts>} {(SQ <'[-][123:xyz]'>)} {<opt>} {<--xyz>}] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {<0> ($ Id.VSub_DollarName opt)}] redirects: [] do_fork: T ) ] ) right: <Id.Right_Subshell _> redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] ) right: <Id.Backtick_Right '`'> ) } ) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <0123> pattern: (pat.Words words:[{<0123>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'ARGV0='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ARGV0='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ARGV0='> name:ARGV0) op: assign_op.Equal rhs: {(DQ <'-a '> ($ Id.VSub_DollarName COMMAND))} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'USAGE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'USAGE='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USAGE='> name:USAGE) op: assign_op.Equal rhs: { (SingleQuoted left: <Id.Left_DollarSingleQuote '$\''> tokens: [ <Id.Char_Literals '\n'> <Id.Char_Literals '[-?\n'> <Id.Char_Literals '@(#)$Id: sear (AT&T Labs Research) 2011-03-04 $\n'> <Id.Char_Literals ']\n'> ] right: <Id.Right_SingleQuote '\''> ) ($ Id.VSub_DollarName USAGE_LICENSE) (SingleQuoted left: <Id.Left_DollarSingleQuote '$\''> tokens: [ <Id.Char_Literals '\n'> <Id.Char_Literals '[+NAME?sear - generate a win32 ratz self extracting archive]\n' > <Id.Char_Literals '[+DESCRIPTION?'> <Id.Char_OneChar '\\b'> <Id.Char_Literals sear> <Id.Char_OneChar '\\b'> <Id.Char_Literals ' generates a win32 self extracting archive that\n'> <Id.Char_Literals ' can be used to install win32 files and applications. ' > <Id.Char_OneChar '\\b'> <Id.Char_Literals pax> <Id.Char_OneChar '\\b'> <Id.Char_Literals '(1) is used\n'> <Id.Char_Literals ' to generate a '> <Id.Char_OneChar '\\b'> <Id.Char_Literals tgz> <Id.Char_OneChar '\\b'> <Id.Char_Literals ' ('> <Id.Char_OneChar '\\b'> <Id.Char_Literals tar> <Id.Char_OneChar '\\b'> <Id.Char_Literals '(1) '> <Id.Char_OneChar '\\b'> <Id.Char_Literals gzip> <Id.Char_OneChar '\\b'> <Id.Char_Literals '(1)) archive from the\n'> <Id.Char_Literals ' '> <Id.Char_OneChar '\\a'> <Id.Char_Literals file> <Id.Char_OneChar '\\a'> <Id.Char_Literals ' operands that is appended to the self extracting archive. If\n' > <Id.Char_Literals ' no '> <Id.Char_OneChar '\\a'> <Id.Char_Literals file> <Id.Char_OneChar '\\a'> <Id.Char_Literals ' operands are specified then the standard input is read.\n' > <Id.Char_Literals ' '> <Id.Char_OneChar '\\b'> <Id.Char_Literals pax> <Id.Char_OneChar '\\b'> <Id.Char_Literals '(1) options (like '> <Id.Char_OneChar '\\b'> <Id.Char_Literals --verbose> <Id.Char_OneChar '\\b'> <Id.Char_Literals ') may be specified after a '> <Id.Char_OneChar '\\b'> <Id.Char_Literals --> <Id.Char_OneChar '\\b'> <Id.Char_Literals '\n'> <Id.Char_Literals ' operand but before the first '> <Id.Char_OneChar '\\a'> <Id.Char_Literals file> <Id.Char_OneChar '\\a'> <Id.Char_Literals ' operand.]\n'> <Id.Char_Literals '[+?When the self extracting archive is executed it creates a temporary\n' > <Id.Char_Literals ' directory and unpacks each '> <Id.Char_OneChar '\\a'> <Id.Char_Literals file> <Id.Char_OneChar '\\a'> <Id.Char_Literals '. If '> <Id.Char_OneChar '\\b'> <Id.Char_Literals --command> <Id.Char_OneChar '\\b'> <Id.Char_Literals '='> <Id.Char_OneChar '\\a'> <Id.Char_Literals command> <Id.Char_OneChar '\\a'> <Id.Char_Literals ' was\n'> <Id.Char_Literals ' specified when the archive was generated then '> <Id.Char_OneChar '\\a'> <Id.Char_Literals command> <Id.Char_OneChar '\\a'> <Id.Char_Literals ' is executed\n'> <Id.Char_Literals ' by '> <Id.Char_OneChar '\\b'> <Id.Char_Literals CMD.EXE> <Id.Char_OneChar '\\b'> <Id.Char_Literals '. The temporary directory is then removed.]\n'> <Id.Char_Literals '[+?'> <Id.Char_OneChar '\\b'> <Id.Char_Literals .exe> <Id.Char_OneChar '\\b'> <Id.Char_Literals ' files generated by '> <Id.Char_OneChar '\\b'> <Id.Char_Literals sear> <Id.Char_OneChar '\\b'> <Id.Char_Literals '(1) are fully functional\n'> <Id.Char_Literals ' '> <Id.Char_OneChar '\\b'> <Id.Char_Literals ratz> <Id.Char_OneChar '\\b'> <Id.Char_Literals '(1) executables, so any '> <Id.Char_OneChar '\\b'> <Id.Char_Literals ratz> <Id.Char_OneChar '\\b'> <Id.Char_Literals ' option may be used on a\n'> <Id.Char_Literals ' '> <Id.Char_OneChar '\\b'> <Id.Char_Literals sear> <Id.Char_OneChar '\\b'> <Id.Char_Literals ' file. This allows '> <Id.Char_OneChar '\\b'> <Id.Char_Literals sear> <Id.Char_OneChar '\\b'> <Id.Char_Literals ' file contents to be examined and\n'> <Id.Char_Literals ' extracted without executing any embedded installation scripts.]\n' > <Id.Char_Literals '[a:args|arguments?The arguments appended to the '> <Id.Char_OneChar '\\b'> <Id.Char_Literals CMD.EXE> <Id.Char_OneChar '\\b'> <Id.Char_Literals ' command\n'> <Id.Char_Literals ' string after the runtime sear operands are appended.]:[args]\n' > <Id.Char_Literals '[b:bootstrap?Bootstrap-sepcific link.]\n'> <Id.Char_Literals '[c:cc?The C compiler command and flags are set to '> <Id.Char_OneChar '\\a'> <Id.Char_Literals cc> <Id.Char_OneChar '\\a'> <Id.Char_Literals '.]:[cc:='> ] right: <Id.Right_SingleQuote '\''> ) ($ Id.VSub_DollarName cc) (SingleQuoted left: <Id.Left_DollarSingleQuote '$\''> tokens: [ <Id.Char_Literals ']\n'> <Id.Char_Literals '[i:icon?The resource icon is set to '> <Id.Char_OneChar '\\a'> <Id.Char_Literals icon> <Id.Char_OneChar '\\a'> <Id.Char_Literals '. The default is a 32 or 64\n'> <Id.Char_Literals ' bit icon.]:[icon:=$INSTALLROOT/lib/sear/sear??.ico]\n' > <Id.Char_Literals '[m:meter?Set the '> <Id.Char_OneChar '\\b'> <Id.Char_Literals ratz> <Id.Char_OneChar '\\b'> <Id.Char_Literals '(1) '> <Id.Char_OneChar '\\b'> <Id.Char_Literals --meter> <Id.Char_OneChar '\\b'> <Id.Char_Literals ' option when the archive is\n'> <Id.Char_Literals ' extracted.]\n'> <Id.Char_Literals '[o:output?The self extracting file name is '> <Id.Char_OneChar '\\a'> <Id.Char_Literals file> <Id.Char_OneChar '\\a'> <Id.Char_Literals '.]:[file:='> ] right: <Id.Right_SingleQuote '\''> ) ($ Id.VSub_DollarName out) (SingleQuoted left: <Id.Left_DollarSingleQuote '$\''> tokens: [ <Id.Char_Literals ']\n'> <Id.Char_Literals '[r:ratz?The '> <Id.Char_OneChar '\\b'> <Id.Char_Literals ratz> <Id.Char_OneChar '\\b'> <Id.Char_Literals '(1) source file is set to\n'> <Id.Char_Literals ' '> <Id.Char_OneChar '\\a'> <Id.Char_Literals path> <Id.Char_OneChar '\\a'> <Id.Char_Literals '.]:[path:=$INSTALLROOT/lib/sear/ratz.c]\n'> <Id.Char_Literals '[x:command?The '> <Id.Char_OneChar '\\b'> <Id.Char_Literals CMD.EXE> <Id.Char_OneChar '\\b'> <Id.Char_Literals ' command string to run after the top level\n'> <Id.Char_Literals ' files have been read into the temporary directory.]:[command:=' > ] right: <Id.Right_SingleQuote '\''> ) ($ Id.VSub_DollarName cmd) (SingleQuoted left: <Id.Left_DollarSingleQuote '$\''> tokens: [ <Id.Char_Literals ']\n'> <Id.Char_Literals '[v:verbose?Set the '> <Id.Char_OneChar '\\b'> <Id.Char_Literals ratz> <Id.Char_OneChar '\\b'> <Id.Char_Literals '(1) '> <Id.Char_OneChar '\\b'> <Id.Char_Literals --verbose> <Id.Char_OneChar '\\b'> <Id.Char_Literals ' option when the archive is\n'> <Id.Char_Literals ' extracted.]\n'> <Id.Char_Literals '\n'> <Id.Char_Literals '[ -- pax-options ] [ file ] ...\n'> <Id.Char_Literals '\n'> <Id.Char_Literals '[+EXIT STATUS?]{\n'> <Id.Char_Literals '\t[+0?Success.]\n'> <Id.Char_Literals '\t[+>0?An error occurred.]\n'> <Id.Char_Literals '}\n'> <Id.Char_Literals '[+SEE ALSO?'> <Id.Char_OneChar '\\b'> <Id.Char_Literals ratz> <Id.Char_OneChar '\\b'> <Id.Char_Literals '(1), '> <Id.Char_OneChar '\\b'> <Id.Char_Literals gunzip> <Id.Char_OneChar '\\b'> <Id.Char_Literals '(1), '> <Id.Char_OneChar '\\b'> <Id.Char_Literals pax> <Id.Char_OneChar '\\b'> <Id.Char_Literals '(1), '> <Id.Char_OneChar '\\b'> <Id.Char_Literals CMD.EXE> <Id.Char_OneChar '\\b'> <Id.Char_Literals '(m$)]\n'> ] right: <Id.Right_SingleQuote '\''> ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'ARGV0='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ARGV0='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ARGV0='> name:ARGV0) op: assign_op.Equal rhs: {(DQ )} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'USAGE='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'USAGE='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'USAGE='> name:USAGE) op: assign_op.Equal rhs: {(DQ <'c:[command]i:[icon]o:[output]r:[ratz-src] [ file ] ...'>)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.ShFunction name_tok: <usage> name: usage body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'OPTIND='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'OPTIND='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'OPTIND='> name:OPTIND) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) (command.Simple blame_tok: <getopts> more_env: [] words: [ {<getopts>} {($ Id.VSub_DollarName ARGV0)} {(DQ ($ Id.VSub_DollarName USAGE))} {<OPT>} {(SQ <'-?'>)} ] redirects: [] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<2>}) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Simple blame_tok: <getopts> more_env: [] words: [ {<getopts>} {($ Id.VSub_DollarName ARGV0)} {(DQ ($ Id.VSub_DollarName USAGE))} {<OPT>} ] redirects: [] do_fork: T ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName OPT)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <a> pattern: (pat.Words words:[{<a>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'args='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'args='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'args='> name:args) op: assign_op.Equal rhs: {<-D_SEAR_ARGS> <Id.Lit_Equals '='> (DQ (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ($ Id.VSub_DollarName OPTARG) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ) } ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <b> pattern: (pat.Words words:[{<b>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'dyn='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'dyn='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'dyn='> name:dyn) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <c> pattern: (pat.Words words:[{<c>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'cc='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'cc='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cc='> name:cc) op: assign_op.Equal rhs: {($ Id.VSub_DollarName OPTARG)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <i> pattern: (pat.Words words:[{<i>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'ico='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ico='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ico='> name:ico) op: assign_op.Equal rhs: {($ Id.VSub_DollarName OPTARG)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <m> pattern: (pat.Words words:[{<m>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'opt='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'opt='> name:opt) op: assign_op.Equal rhs: {(${ Id.VSub_Name opt) <m>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <o> pattern: (pat.Words words:[{<o>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'out='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'out='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'out='> name:out) op: assign_op.Equal rhs: {($ Id.VSub_DollarName OPTARG)} ) ] redirects: [] ) (command.AndOr children: [ (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Binary op_id: Id.BoolBinary_GlobNEqual left: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name out> var_name: out suffix_op: (suffix_op.Unary op: <Id.VOp1_DPound '##'> arg_word: {<Id.Lit_Other '*'> <Id.Lit_Slash '/'>} ) right: <Id.Right_DollarBrace '}'> ) } right: {<Id.Lit_Other '*'> <.> <Id.Lit_Other '?'> <Id.Lit_Other '*'>} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'out='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'out='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'out='> name:out) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name out> var_name: out suffix_op: (suffix_op.Unary op: <Id.VOp1_Percent '%'> arg_word: {<.>} ) right: <Id.Right_DollarBrace '}'> ) <.exe> } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <r> pattern: (pat.Words words:[{<r>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'src='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'src='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'src='> name:src) op: assign_op.Equal rhs: {($ Id.VSub_DollarName OPTARG)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <x> pattern: (pat.Words words:[{<x>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'cmd='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'cmd='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cmd='> name:cmd) op: assign_op.Equal rhs: {($ Id.VSub_DollarName OPTARG)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <v> pattern: (pat.Words words:[{<v>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'opt='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'opt='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'opt='> name:opt) op: assign_op.Equal rhs: {(${ Id.VSub_Name opt) <v>} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <usage> more_env: [] words: [{<usage>}] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.Simple blame_tok: <shift> more_env: [] words: [ {<shift>} { (word_part.ArithSub left: <Id.Left_DollarDParen '$(('> anode: (arith_expr.Binary op_id: Id.Arith_Minus left: ($ Id.Lit_ArithVarLike OPTIND) right: {<Id.Lit_Digits 1>} ) right: <Id.Right_DollarDParen _> ) } ] redirects: [] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.LogicalNot child:(bool_expr.WordTest w:{($ Id.VSub_DollarName src)})) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'f='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'f='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'f='> name:f) op: assign_op.Equal rhs: {<ratz.c>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'src='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'src='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'src='> name:src) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <dirname> more_env: [] words: [ {<dirname>} {<-r>} {<'lib/'> ($ Id.VSub_DollarName COMMAND) <'/'> ($ Id.VSub_DollarName f)} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.LogicalNot child: (bool_expr.WordTest w:{($ Id.VSub_DollarName src)}) ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ ($ Id.VSub_DollarName COMMAND) <': '> ($ Id.VSub_DollarName f) <': cannot locate ratz source'> ) } ] redirects: [(Redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [609 620] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [580 590] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.LogicalNot child: (bool_expr.Unary op_id:Id.BoolUnary_f child:{($ Id.VSub_DollarName src)}) ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ ($ Id.VSub_DollarName COMMAND) <': '> ($ Id.VSub_DollarName src) <': cannot read ratz source'> ) } ] redirects: [(Redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [642 654] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.LogicalNot child:(bool_expr.WordTest w:{($ Id.VSub_DollarName ico)})) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'w='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'w='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'w='> name:w) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <uname> more_env: [] words: [{<uname>} {<-i>}] redirects: [ (Redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'w='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'w='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'w='> name:w) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name w> var_name: w suffix_op: (suffix_op.Unary op: <Id.VOp1_Percent '%'> arg_word: {<Id.Lit_Slash '/'> <Id.Lit_Other '*'>} ) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.AndOr children: [ (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.LogicalOr left: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName w)} right: {<32>} ) right: (bool_expr.Binary op_id: Id.BoolBinary_GlobDEqual left: {($ Id.VSub_DollarName w)} right: {<64>} ) ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'w='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'w='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'w='> name:w) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] ops: [<Id.Op_DPipe _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'f='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'f='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'f='> name:f) op: assign_op.Equal rhs: {<sear> ($ Id.VSub_DollarName w) <.ico>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'ico='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ico='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ico='> name:ico) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <dirname> more_env: [] words: [ {<dirname>} {<-r>} {<'lib/'> ($ Id.VSub_DollarName COMMAND) <'/'> ($ Id.VSub_DollarName f)} ] redirects: [] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.LogicalNot child: (bool_expr.WordTest w:{($ Id.VSub_DollarName ico)}) ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ ($ Id.VSub_DollarName COMMAND) <': '> ($ Id.VSub_DollarName f) <': cannot locate icon source'> ) } ] redirects: [(Redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.ControlFlow keyword: <Id.ControlFlow_Exit exit> arg_word: {<1>} ) ] spids: [749 760] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] spids: [675 685] ) (IfArm keyword: <Id.KW_Elif elif> cond: (condition.Shell commands: [ (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.LogicalNot child: (bool_expr.Unary op_id:Id.BoolUnary_f child:{($ Id.VSub_DollarName ico)}) ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} { (DQ ($ Id.VSub_DollarName COMMAND) <': '> ($ Id.VSub_DollarName ico) <': cannot read icon'> ) } ] redirects: [(Redir op:<Id.Redir_GreatAnd '>&'> loc:(redir_loc.Fd fd:1) arg:{<2>})] do_fork: T ) (command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] spids: [782 794] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.AndOr children: [ (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.WordTest w:{($ Id.VSub_DollarName opt)}) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'cc='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'cc='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cc='> name:cc) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName cc) <' -D_SEAR_OPTS='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\"'> ch: '"' ) <-> ($ Id.VSub_DollarName opt) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ) } ) ] redirects: [] ) ] ops: [<Id.Op_DAmp _>] ) (command.ShAssignment left: <Id.Lit_VarLike 'cc='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'cc='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'cc='> name:cc) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName cc) <' '> ($ Id.VSub_DollarName dyn))} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'tmp='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'tmp='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'tmp='> name:tmp) op: assign_op.Equal rhs: {<'/tmp/sear'> ($ Id.VSub_Dollar '$')} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'obj='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'obj='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'obj='> name:obj) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name src> var_name: src suffix_op: (suffix_op.Unary op: <Id.VOp1_DPound '##'> arg_word: {<Id.Lit_Other '*'> <Id.Lit_Slash '/'>} ) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'obj='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'obj='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'obj='> name:obj) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name obj> var_name: obj suffix_op: (suffix_op.Unary op:<Id.VOp1_Percent '%'> arg_word:{<.> <Id.Lit_Other '*'>}) right: <Id.Right_DollarBrace '}'> ) <.o> } ) ] redirects: [] ) (command.Simple blame_tok: <trap> more_env: [] words: [{<trap>} {(SQ <'rm -f "$obj" $tmp.*'>)} {<0>} {<1>} {<2>} {<3>}] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'res='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'res='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'res='> name:res) op: assign_op.Equal rhs: {($ Id.VSub_DollarName tmp) <.res>} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'libs='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'libs='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'libs='> name:libs) op: assign_op.Equal rhs: {<-ladvapi32>} ) ] redirects: [] ) (command.Simple blame_tok: <typeset> more_env: [] words: [ {<typeset>} {<-H>} {<Id.Lit_VarLike 'host_ico='> ($ Id.VSub_DollarName ico)} {<Id.Lit_VarLike 'host_rc='> ($ Id.VSub_DollarName tmp) <.rc>} {<Id.Lit_VarLike 'host_res='> ($ Id.VSub_DollarName tmp) <.res>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <print> more_env: [] words: [ {<print>} {<-r>} { (DQ <'sear ICON '> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name host_ico> var_name: host_ico suffix_op: (suffix_op.PatSub pat: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\')} replace: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'> ch:'\\') (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\\\'> ch: '\\' ) } replace_mode: Id.Lit_Slash slash_tok: <Id.VOp2_Slash _> ) right: <Id.Right_DollarBrace '}'> ) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ) } ] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName tmp) <.rc>} ) ] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <rc> more_env: [] words: [ {<rc>} {<-x>} {<-r>} {<-fo> (DQ ($ Id.VSub_DollarName host_res))} {(DQ ($ Id.VSub_DollarName host_rc))} ] redirects: [] do_fork: T ) ] ops: [] ) ] ) then_kw: <Id.KW_Then then> action: [(command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>})] spids: [922 941] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.AndOr children: [ (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$cc'> more_env: [] words: [ {($ Id.VSub_DollarName cc)} {<-D_SEAR_SEEK> <Id.Lit_Equals '='> <0>} {<-D_SEAR_EXEC> <Id.Lit_Equals '='> (DQ (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ($ Id.VSub_DollarName cmd) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ) } {(DQ ($ Id.VSub_DollarName args))} {<-c>} {(DQ ($ Id.VSub_DollarName src))} ] redirects: [] do_fork: T ) ] ops: [] ) (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <Id.Left_DollarBrace '${'> more_env: [] words: [ { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name cc> var_name: cc suffix_op: (suffix_op.PatSub pat: {<-Bstatic>} replace: {} replace_mode: Id.Undefined_Tok slash_tok: <Id.VOp2_Slash _> ) right: <Id.Right_DollarBrace '}'> ) } {<--mt-output> <Id.Lit_Equals '='> (DQ ($ Id.VSub_DollarName out) <.manifest>) } {<--mt-name> <Id.Lit_Equals '='> (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name out> var_name: out suffix_op: (suffix_op.Unary op: <Id.VOp1_Percent '%'> arg_word: {<.> <Id.Lit_Other '*'>} ) right: <Id.Right_DollarBrace '}'> ) ) } {<--mt-administrator>} {<-o>} {(DQ ($ Id.VSub_DollarName out))} {(DQ ($ Id.VSub_DollarName obj))} {(DQ ($ Id.VSub_DollarName res))} {($ Id.VSub_DollarName libs)} ] redirects: [] do_fork: T ) ] ops: [] ) ] ops: [<Id.Op_DPipe _>] ) ] ) then_kw: <Id.KW_Then then> action: [(command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>})] spids: [949 1025] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_f child: {(DQ ($ Id.VSub_DollarName out) <.manifest>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <mv> more_env: [] words: [ {<mv>} {(DQ ($ Id.VSub_DollarName out) <.manifest>)} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name out> var_name: out suffix_op: (suffix_op.Unary op: <Id.VOp1_Percent '%'> arg_word: {<.> <Id.Lit_Other '*'>} ) right: <Id.Right_DollarBrace '}'> ) <.manifest> ) } ] redirects: [] do_fork: T ) (command.Simple blame_tok: <ed> more_env: [] words: [ {<ed>} {<->} { (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name out> var_name: out suffix_op: (suffix_op.Unary op: <Id.VOp1_Percent '%'> arg_word: {<.> <Id.Lit_Other '*'>} ) right: <Id.Right_DollarBrace '}'> ) <.manifest> ) } ] redirects: [ (Redir op: <Id.Redir_DLessDash '<<-'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <'!'>)} here_end_tok: <Id.Undefined_Tok ''> stdin_parts: [<'/<dependency>/,/<\\/dependency>/d\n'> <'w\n'> <'q\n'>] ) ) ] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$cc'> more_env: [] words: [ {($ Id.VSub_DollarName cc)} {<--mt-input> <Id.Lit_Equals '='> (DQ (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name out> var_name: out suffix_op: (suffix_op.Unary op: <Id.VOp1_Percent '%'> arg_word: {<.> <Id.Lit_Other '*'>} ) right: <Id.Right_DollarBrace '}'> ) <.manifest> ) } {<-o>} {(DQ ($ Id.VSub_DollarName out))} {(DQ ($ Id.VSub_DollarName obj))} {(DQ ($ Id.VSub_DollarName res))} {($ Id.VSub_DollarName libs)} ] redirects: [] do_fork: T ) ] ops: [] ) ] ) then_kw: <Id.KW_Then then> action: [(command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>})] spids: [1090 1125] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'mt='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'mt='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'mt='> name:mt) op: assign_op.Equal rhs: { (DQ <'--mt-input='> (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name out> var_name: out suffix_op: (suffix_op.Unary op: <Id.VOp1_Percent '%'> arg_word: {<.> <Id.Lit_Other '*'>} ) right: <Id.Right_DollarBrace '}'> ) <'.manifest --mt-delete'> ) } ) ] redirects: [] ) ] spids: [1033 1046] ) ] else_kw: <Id.KW_Else else> else_action: [ (command.ShAssignment left: <Id.Lit_VarLike 'mt='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'mt='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'mt='> name:mt) op: assign_op.Equal rhs: (rhs_word__Empty) ) ] redirects: [] ) ] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'size='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'size='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'size='> name:size) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_DollarParen '$('> child: (command.Simple blame_tok: <wc> more_env: [] words: [{<wc>} {<-c>}] redirects: [ (Redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {(DQ ($ Id.VSub_DollarName out))} ) ] do_fork: T ) right: <Id.Eof_RParen _> ) } ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.AndOr children: [ (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$cc'> more_env: [] words: [ {($ Id.VSub_DollarName cc)} {<-D_SEAR_SEEK> <Id.Lit_Equals '='> (word_part.ArithSub left: <Id.Left_DollarDParen '$(('> anode: {($ Id.VSub_DollarName size)} right: <Id.Right_DollarDParen _> ) } {<-D_SEAR_EXEC> <Id.Lit_Equals '='> (DQ (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ($ Id.VSub_DollarName cmd) (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\"'> ch:'"') ) } {(DQ ($ Id.VSub_DollarName args))} {<-c>} {(DQ ($ Id.VSub_DollarName src))} ] redirects: [] do_fork: T ) ] ops: [] ) (command.Pipeline negated: <Id.KW_Bang '!'> children: [ (command.Simple blame_tok: <Id.VSub_DollarName '$cc'> more_env: [] words: [ {($ Id.VSub_DollarName cc)} {($ Id.VSub_DollarName mt)} {<-o>} {(DQ ($ Id.VSub_DollarName out))} {(DQ ($ Id.VSub_DollarName obj))} {(DQ ($ Id.VSub_DollarName res))} {($ Id.VSub_DollarName libs)} ] redirects: [] do_fork: T ) ] ops: [] ) ] ops: [<Id.Op_DPipe _>] ) ] ) then_kw: <Id.KW_Then then> action: [(command.ControlFlow keyword:<Id.ControlFlow_Exit exit> arg_word:{<1>})] spids: [1166 1222] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.DBracket left: <Id.KW_DLeftBracket '[['> expr: (bool_expr.Unary op_id: Id.BoolUnary_f child: {(DQ ($ Id.VSub_DollarName out) <.manifest>)} ) right: <Id.Lit_DRightBracket ']]'> redirects: [] ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <rm> more_env: [] words: [{<rm>} {<-f>} {(DQ ($ Id.VSub_DollarName out) <.manifest>)}] redirects: [] do_fork: T ) ] spids: [1230 1243] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'files='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'files='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'files='> name:files) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) (command.Simple blame_tok: <pax> more_env: [] words: [{<pax>} {<-x>} {<tgz>} {<-w>} {(DQ ($ Id.VSub_At '@'))}] redirects: [ (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {(DQ ($ Id.VSub_DollarName out))} ) ] do_fork: T ) ] )