(command.CommandList children: [ (command.ShAssignment left: <Id.Lit_VarLike 'class='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'class='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'class='> name:class) op: assign_op.Equal rhs: {(DQ <eli>)} ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'base='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'base='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'base='> name:base) op: assign_op.Equal rhs: { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <basename> more_env: [] words: [{<basename>} {($ Id.VSub_Number 0)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'no='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'no='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'no='> name:no) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-c>} {<'/dev/md'> ($ Id.VSub_DollarName no)} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} { (word_part.ArithSub left: <Id.Left_DollarDParen '$(('> anode: (arith_expr.BinaryAssign op_id: Id.Arith_PlusEqual left: ($ Id.Lit_ArithVarLike no) right: {<Id.Lit_Digits 1>} ) right: <Id.Right_DollarDParen _> ) } ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) (command.ShFunction name_tok: <for_each_geli_config> name: for_each_geli_config body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'func='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'func='> name:func) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [cipher] iterable: (for_iter.Words words: [ {<aes-xts> <Id.Lit_Colon ':'> <128>} {<aes-xts> <Id.Lit_Colon ':'> <256>} {<aes-cbc> <Id.Lit_Colon ':'> <128>} {<aes-cbc> <Id.Lit_Colon ':'> <192>} {<aes-cbc> <Id.Lit_Colon ':'> <256>} {<3des-cbc> <Id.Lit_Colon ':'> <192>} {<blowfish-cbc> <Id.Lit_Colon ':'> <128>} {<blowfish-cbc> <Id.Lit_Colon ':'> <160>} {<blowfish-cbc> <Id.Lit_Colon ':'> <192>} {<blowfish-cbc> <Id.Lit_Colon ':'> <224>} {<blowfish-cbc> <Id.Lit_Colon ':'> <256>} {<blowfish-cbc> <Id.Lit_Colon ':'> <288>} {<blowfish-cbc> <Id.Lit_Colon ':'> <320>} {<blowfish-cbc> <Id.Lit_Colon ':'> <352>} {<blowfish-cbc> <Id.Lit_Colon ':'> <384>} {<blowfish-cbc> <Id.Lit_Colon ':'> <416>} {<blowfish-cbc> <Id.Lit_Colon ':'> <448>} {<camellia-cbc> <Id.Lit_Colon ':'> <128>} {<camellia-cbc> <Id.Lit_Colon ':'> <192>} {<camellia-cbc> <Id.Lit_Colon ':'> <256>} ] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'ealgo='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ealgo='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ealgo='> name:ealgo) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name cipher> var_name: cipher suffix_op: (suffix_op.Unary op: <Id.VOp1_DPercent '%%'> arg_word: {<':'> <Id.Lit_Other '*'>} ) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'keylen='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'keylen='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'keylen='> name:keylen) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name cipher> var_name: cipher suffix_op: (suffix_op.Unary op: <Id.VOp1_DPound '##'> arg_word: {<Id.Lit_Other '*'> <':'>} ) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [aalgo] iterable: (for_iter.Words words: [ {<'hmac/md5'>} {<'hmac/sha1'>} {<'hmac/ripemd160'>} {<'hmac/sha256'>} {<'hmac/sha384'>} {<'hmac/sha512'>} ] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ForEach keyword: <Id.KW_For for> iter_names: [secsize] iterable: (for_iter.Words words: [{<512>} {<1024>} {<2048>} {<4096>} {<8192>}] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <Id.Left_DollarBrace '${'> more_env: [] words: [ {(${ Id.VSub_Name func)} {($ Id.VSub_DollarName cipher)} {($ Id.VSub_DollarName aalgo)} {($ Id.VSub_DollarName secsize)} ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <for_each_geli_config_nointegrity> name: for_each_geli_config_nointegrity body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'func='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'func='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'func='> name:func) op: assign_op.Equal rhs: {($ Id.VSub_Number 1)} ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [cipher] iterable: (for_iter.Words words: [ {<aes-xts> <Id.Lit_Colon ':'> <128>} {<aes-xts> <Id.Lit_Colon ':'> <256>} {<aes-cbc> <Id.Lit_Colon ':'> <128>} {<aes-cbc> <Id.Lit_Colon ':'> <192>} {<aes-cbc> <Id.Lit_Colon ':'> <256>} {<3des-cbc> <Id.Lit_Colon ':'> <192>} {<blowfish-cbc> <Id.Lit_Colon ':'> <128>} {<blowfish-cbc> <Id.Lit_Colon ':'> <160>} {<blowfish-cbc> <Id.Lit_Colon ':'> <192>} {<blowfish-cbc> <Id.Lit_Colon ':'> <224>} {<blowfish-cbc> <Id.Lit_Colon ':'> <256>} {<blowfish-cbc> <Id.Lit_Colon ':'> <288>} {<blowfish-cbc> <Id.Lit_Colon ':'> <320>} {<blowfish-cbc> <Id.Lit_Colon ':'> <352>} {<blowfish-cbc> <Id.Lit_Colon ':'> <384>} {<blowfish-cbc> <Id.Lit_Colon ':'> <416>} {<blowfish-cbc> <Id.Lit_Colon ':'> <448>} {<camellia-cbc> <Id.Lit_Colon ':'> <128>} {<camellia-cbc> <Id.Lit_Colon ':'> <192>} {<camellia-cbc> <Id.Lit_Colon ':'> <256>} ] ) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.ShAssignment left: <Id.Lit_VarLike 'ealgo='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'ealgo='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'ealgo='> name:ealgo) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name cipher> var_name: cipher suffix_op: (suffix_op.Unary op: <Id.VOp1_DPercent '%%'> arg_word: {<':'> <Id.Lit_Other '*'>} ) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.ShAssignment left: <Id.Lit_VarLike 'keylen='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'keylen='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'keylen='> name:keylen) op: assign_op.Equal rhs: { (BracedVarSub left: <Id.Left_DollarBrace '${'> token: <Id.VSub_Name cipher> var_name: cipher suffix_op: (suffix_op.Unary op: <Id.VOp1_DPound '##'> arg_word: {<Id.Lit_Other '*'> <':'>} ) right: <Id.Right_DollarBrace '}'> ) } ) ] redirects: [] ) (command.ForEach keyword: <Id.KW_For for> iter_names: [secsize] iterable: (for_iter.Words words:[{<512>} {<1024>} {<2048>} {<4096>} {<8192>}]) semi_tok: <Id.Op_Semi _> body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <Id.Left_DollarBrace '${'> more_env: [] words: [ {(${ Id.VSub_Name func)} {($ Id.VSub_DollarName cipher)} {($ Id.VSub_DollarName aalgo)} {($ Id.VSub_DollarName secsize)} ] redirects: [] do_fork: T ) ] right: <Id.KW_Done done> ) redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.ShFunction name_tok: <geli_test_cleanup> name: geli_test_cleanup body: (BraceGroup left: <Id.Lit_LBrace '{'> children: [ (command.AndOr children: [ (command.Simple blame_tok: <Id.Lit_LBracket '['> more_env: [] words: [ {<Id.Lit_LBracket '['>} {<-c>} {<'/dev/md'> (${ Id.VSub_Name no) <.eli>} {<Id.Lit_RBracket ']'>} ] redirects: [] do_fork: T ) (command.Simple blame_tok: <geli> more_env: [] words: [{<geli>} {<detach>} {<md> (${ Id.VSub_Name no) <.eli>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) (command.Simple blame_tok: <mdconfig> more_env: [] words: [{<mdconfig>} {<-d>} {<-u>} {($ Id.VSub_DollarName no)}] redirects: [] do_fork: T ) ] redirects: [] right: <Id.Lit_RBrace '}'> ) ) (command.Simple blame_tok: <trap> more_env: [] words: [{<trap>} {<geli_test_cleanup>} {<ABRT>} {<EXIT>} {<INT>} {<TERM>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <.> more_env: [] words: [ {<.>} { (CommandSub left_token: <Id.Left_Backtick '`'> child: (command.Simple blame_tok: <dirname> more_env: [] words: [{<dirname>} {($ Id.VSub_Number 0)}] redirects: [] do_fork: T ) right: <Id.Backtick_Right '`'> ) <'/../geom_subr.sh'> } ] redirects: [] do_fork: T ) ] )