(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KOALEPHANT_LIB_VERSION) op: Equal rhs: {(DQ (2.0.0))} spids: [19] ) ] spids: [19] ) (Assignment keyword: Assign_Readonly pairs: [(assign_pair lhs:(LhsName name:KOALEPHANT_LIB_VERSION) op:Equal spids:[26])] spids: [24] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KOALEPHANT_LIB_PATH) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name KOALEPHANT_LIB_PATH> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {(PREFIX) (Lit_Slash /) (LIBRARY_PATH)} ) spids: [34 40] ) ) } spids: [32] ) ] spids: [32] ) (Assignment keyword: Assign_Readonly pairs: [(assign_pair lhs:(LhsName name:KOALEPHANT_LIB_PATH) op:Equal spids:[45])] spids: [43] ) (FuncDef name: k_tool_name body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} { (DQ (BracedVarSub token: <VSub_Name KOALEPHANT_TOOL_NAME> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(EmptyPart)}) spids: [86 89] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(printf)} {(DQ ('%s'))} {(DQ (${ VSub_Name KOALEPHANT_TOOL_NAME))})] spids: [16777215 95] ) ] else_action: [(C {(k_fs_basename)} {(DQ (${ VSub_Number 0))} {(DQ (.sh))})] spids: [111 127] ) ] spids: [76] ) spids: [72 75] ) (FuncDef name: k_tool_version body: (BraceGroup children: [ (C {(printf)} {(DQ ('%s'))} { (DQ (BracedVarSub token: <VSub_Name KOALEPHANT_TOOL_VERSION> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(1.0.0)}) spids: [167 171] ) ) } ) ] spids: [157] ) spids: [153 156] ) (FuncDef name: k_tool_year body: (BraceGroup children: [ (C {(printf)} {(DQ ('%s'))} { (DQ (BracedVarSub token: <VSub_Name KOALEPHANT_TOOL_YEAR> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: { (CommandSubPart command_list: (CommandList children: [(C {(date)} {(Lit_Other '+') (Lit_Other '%') (Y)})] ) left_token: <Left_CommandSub '$('> spids: [215 221] ) } ) spids: [212 222] ) ) } ) ] spids: [202] ) spids: [198 201] ) (FuncDef name: k_tool_owner body: (BraceGroup children: [ (C {(printf)} {(DQ ('%s'))} { (DQ (BracedVarSub token: <VSub_Name KOALEPHANT_TOOL_OWNER> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{('Koalephant Co., Ltd')}) spids: [263 267] ) ) } ) ] spids: [253] ) spids: [249 252] ) (FuncDef name: k_tool_description body: (BraceGroup children: [ (C {(printf)} {(DQ ('%s'))} { (DQ (BracedVarSub token: <VSub_Name KOALEPHANT_TOOL_DESCRIPTION> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(EmptyPart)}) spids: [308 311] ) ) } ) ] spids: [298] ) spids: [294 297] ) (FuncDef name: k_tool_options body: (BraceGroup children: [ (C {(printf)} {(DQ ('%s'))} { (DQ (BracedVarSub token: <VSub_Name KOALEPHANT_TOOL_OPTIONS> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(EmptyPart)}) spids: [352 355] ) ) } ) ] spids: [342] ) spids: [338 341] ) (FuncDef name: k_tool_options_arguments body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(k_tool_options)})]) left_token: <Left_CommandSub '$('> spids: [400 402] ) ) } {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(printf)} {(DQ (' %s'))} { (DQ (BracedVarSub token: <VSub_Name KOALEPHANT_TOOL_OPTIONS_ARGUMENTS> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{('[options]')}) spids: [418 422] ) ) } ) ] spids: [16777215 408] ) ] spids: [16777215 426] ) ] spids: [390] ) spids: [386 389] ) (FuncDef name: k_tool_arguments body: (BraceGroup children: [ (C {(printf)} {(DQ (' %s'))} { (DQ (BracedVarSub token: <VSub_Name KOALEPHANT_TOOL_ARGUMENTS> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(EmptyPart)}) spids: [466 469] ) ) } ) ] spids: [456] ) spids: [452 455] ) (FuncDef name: k_tool_usage body: (BraceGroup children: [ (C {(printf)} {(DQ ('Usage: %s%s%s') (Lit_Other '\\') (n))} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(k_tool_name)})]) left_token: <Left_CommandSub '$('> spids: [506 508] ) ) } { (DQ (CommandSubPart command_list: (CommandList children:[(C {(k_tool_options_arguments)})]) left_token: <Left_CommandSub '$('> spids: [512 514] ) ) } { (DQ (CommandSubPart command_list: (CommandList children:[(C {(k_tool_arguments)})]) left_token: <Left_CommandSub '$('> spids: [518 520] ) ) } ) ] spids: [494] ) spids: [490 493] ) (FuncDef name: k_version body: (BraceGroup children: [ (C {(printf)} { (DQ ('%s version %s ') (Lit_Other '\\') ('nCopyright (c) %s, %s') (Lit_Other '\\') (n)) } { (DQ (CommandSubPart command_list: (CommandList children:[(C {(k_tool_name)})]) left_token: <Left_CommandSub '$('> spids: [559 561] ) ) } { (DQ (CommandSubPart command_list: (CommandList children:[(C {(k_tool_version)})]) left_token: <Left_CommandSub '$('> spids: [565 567] ) ) } { (DQ (CommandSubPart command_list: (CommandList children:[(C {(k_tool_year)})]) left_token: <Left_CommandSub '$('> spids: [571 573] ) ) } { (DQ (CommandSubPart command_list: (CommandList children:[(C {(k_tool_owner)})]) left_token: <Left_CommandSub '$('> spids: [577 579] ) ) } ) ] spids: [545] ) spids: [541 544] ) (FuncDef name: k_usage body: (BraceGroup children: [ (C {(printf)} {(DQ ('%s') (Lit_Other '\\') (n))} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(k_tool_usage)})]) left_token: <Left_CommandSub '$('> spids: [616 618] ) ) } ) (C {(printf)} {(DQ ('%s') (Lit_Other '\\') (n) (Lit_Other '\\') (n))} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(k_tool_description)})]) left_token: <Left_CommandSub '$('> spids: [633 635] ) ) } ) (C {(printf)} {(DQ ('%s') (Lit_Other '\\') (n))} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(k_tool_options)})]) left_token: <Left_CommandSub '$('> spids: [648 650] ) ) } ) ] spids: [604] ) spids: [600 603] ) (FuncDef name: k_require_root body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(id)} {(-u)})]) left_token: <Left_CommandSub '$('> spids: [698 702] ) ) } {(-ne)} {(0)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(-n)} {(DQ (${ VSub_Number 1))} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(k_log_err)} {(DQ (${ VSub_Number 1))})] spids: [16777215 730] ) ] spids: [16777215 742] ) (C {(k_log_err)} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(k_tool_name)})]) left_token: <Left_CommandSub '$('> spids: [748 750] ) (' must be run as root') ) } ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [16777215 712] ) ] spids: [16777215 760] ) ] spids: [690] ) spids: [686 689] ) (FuncDef name: k_option_requires_arg body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-n)} { (DQ (BracedVarSub token: <VSub_Number 2> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(EmptyPart)}) spids: [812 815] ) ) } {(Lit_Other ']')} ) (Pipeline children: [ (C {(k_string_starts_with)} {(DQ (-))} {(DQ (${ VSub_Number 2))}) ] negated: T ) ] ) terminator: <Op_Semi ';'> ) ] action: [(C {(printf)} {(SQ <'%s'>)} {(DQ (${ VSub_Number 2))})] spids: [16777215 837] ) ] else_action: [ (C {(k_log_err)} {(DQ ('Error, ') (${ VSub_Number 1) (' requires an argument'))}) (C {(k_usage)}) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [853 875] ) ] spids: [802] ) spids: [798 801] ) (FuncDef name: k_option_optional_arg body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:tool) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [913] ) ] spids: [911] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-n)} { (DQ (BracedVarSub token: <VSub_Number 2> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(EmptyPart)}) spids: [926 929] ) ) } {(Lit_Other ']')} ) (Pipeline children: [ (C {(k_string_starts_with)} {(DQ (-))} {(DQ (${ VSub_Number 2))}) ] negated: T ) ] ) terminator: <Op_Semi ';'> ) ] action: [(C {(printf)} {(SQ <'%s'>)} {(DQ (${ VSub_Number 2))})] spids: [16777215 951] ) ] spids: [16777215 967] ) ] spids: [908] ) spids: [904 907] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KOALEPHANT_LOG_LEVEL_EMERG) op: Equal rhs: {(1)} spids: [975] ) ] spids: [975] ) (Assignment keyword: Assign_Readonly pairs: [(assign_pair lhs:(LhsName name:KOALEPHANT_LOG_LEVEL_EMERG) op:Equal spids:[980])] spids: [978] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KOALEPHANT_LOG_LEVEL_ALERT) op: Equal rhs: {(2)} spids: [986] ) ] spids: [986] ) (Assignment keyword: Assign_Readonly pairs: [(assign_pair lhs:(LhsName name:KOALEPHANT_LOG_LEVEL_ALERT) op:Equal spids:[991])] spids: [989] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KOALEPHANT_LOG_LEVEL_CRIT) op: Equal rhs: {(3)} spids: [997] ) ] spids: [997] ) (Assignment keyword: Assign_Readonly pairs: [(assign_pair lhs:(LhsName name:KOALEPHANT_LOG_LEVEL_CRIT) op:Equal spids:[1002])] spids: [1000] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KOALEPHANT_LOG_LEVEL_ERR) op: Equal rhs: {(4)} spids: [1008] ) ] spids: [1008] ) (Assignment keyword: Assign_Readonly pairs: [(assign_pair lhs:(LhsName name:KOALEPHANT_LOG_LEVEL_ERR) op:Equal spids:[1013])] spids: [1011] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KOALEPHANT_LOG_LEVEL_WARNING) op: Equal rhs: {(5)} spids: [1019] ) ] spids: [1019] ) (Assignment keyword: Assign_Readonly pairs: [(assign_pair lhs:(LhsName name:KOALEPHANT_LOG_LEVEL_WARNING) op:Equal spids:[1024])] spids: [1022] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KOALEPHANT_LOG_LEVEL_NOTICE) op: Equal rhs: {(6)} spids: [1030] ) ] spids: [1030] ) (Assignment keyword: Assign_Readonly pairs: [(assign_pair lhs:(LhsName name:KOALEPHANT_LOG_LEVEL_NOTICE) op:Equal spids:[1035])] spids: [1033] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KOALEPHANT_LOG_LEVEL_INFO) op: Equal rhs: {(7)} spids: [1041] ) ] spids: [1041] ) (Assignment keyword: Assign_Readonly pairs: [(assign_pair lhs:(LhsName name:KOALEPHANT_LOG_LEVEL_INFO) op:Equal spids:[1046])] spids: [1044] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KOALEPHANT_LOG_LEVEL_DEBUG) op: Equal rhs: {(8)} spids: [1052] ) ] spids: [1052] ) (Assignment keyword: Assign_Readonly pairs: [(assign_pair lhs:(LhsName name:KOALEPHANT_LOG_LEVEL_DEBUG) op:Equal spids:[1057])] spids: [1055] ) (FuncDef name: k_log_level_valid body: (BraceGroup children: [ (AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(-ge)} {(${ VSub_Name KOALEPHANT_LOG_LEVEL_EMERG)} {(Lit_Other ']')} ) (C {(Lit_Other '[')} {(DQ ($ VSub_Number '$1'))} {(-le)} {(${ VSub_Name KOALEPHANT_LOG_LEVEL_DEBUG)} {(Lit_Other ']')} ) ] ) ] spids: [1076] ) spids: [1072 1075] ) (FuncDef name: k_log_level body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Pound '$#')} {(-eq)} {(1)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [(C {(k_log_level_valid)} {(DQ ($ VSub_Number '$1'))})] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(printf)} {(DQ ('%s'))} {(DQ ('Invalid log level specified'))}] redirects: [ (Redir op_id: Redir_GreatAnd fd: 16777215 arg_word: {(2)} spids: [1183] ) ] ) (ControlFlow token: <ControlFlow_Return return> arg_word: {(1)} ) ] spids: [16777215 1170] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KOALEPHANT_LOG_LEVEL_ACTIVE) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [1195] ) ] spids: [1195] ) ] spids: [1192 1201] ) ] spids: [16777215 1156] ) ] spids: [16777215 1204] ) (C {(printf)} {(SQ <'%d'>)} { (DQ (BracedVarSub token: <VSub_Name KOALEPHANT_LOG_LEVEL_ACTIVE> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {($ VSub_Name '$KOALEPHANT_LOG_LEVEL_ERR')} ) spids: [1215 1219] ) ) } ) ] spids: [1140] ) spids: [1136 1139] ) (FuncDef name: k_log_level_name body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (Pipeline children: [(C {(k_log_level_valid)} {(DQ ($ VSub_Number '$1'))})] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(printf)} {(DQ ('%s'))} {(DQ ('Invalid log level specified'))}] redirects: [ (Redir op_id: Redir_GreatAnd fd: 16777215 arg_word: {(2)} spids: [1259] ) ] ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [16777215 1246] ) ] spids: [16777215 1268] ) (Case to_match: {(DQ (${ VSub_Number 1))} arms: [ (case_arm pat_list: [{(${ VSub_Name KOALEPHANT_LOG_LEVEL_EMERG)}] action: [(C {(printf)} {(DQ ('%s'))} {(DQ (emerg))})] spids: [1282 1285 1299 16777215] ) (case_arm pat_list: [{(${ VSub_Name KOALEPHANT_LOG_LEVEL_ALERT)}] action: [(C {(printf)} {(DQ ('%s'))} {(DQ (alert))})] spids: [1303 1306 1320 16777215] ) (case_arm pat_list: [{(${ VSub_Name KOALEPHANT_LOG_LEVEL_CRIT)}] action: [(C {(printf)} {(DQ ('%s'))} {(DQ (crit))})] spids: [1324 1327 1341 16777215] ) (case_arm pat_list: [{(${ VSub_Name KOALEPHANT_LOG_LEVEL_ERR)}] action: [(C {(printf)} {(DQ ('%s'))} {(DQ (err))})] spids: [1345 1348 1362 16777215] ) (case_arm pat_list: [{(${ VSub_Name KOALEPHANT_LOG_LEVEL_WARNING)}] action: [(C {(printf)} {(DQ ('%s'))} {(DQ (warning))})] spids: [1366 1369 1383 16777215] ) (case_arm pat_list: [{(${ VSub_Name KOALEPHANT_LOG_LEVEL_NOTICE)}] action: [(C {(printf)} {(DQ ('%s'))} {(DQ (notice))})] spids: [1387 1390 1404 16777215] ) (case_arm pat_list: [{(${ VSub_Name KOALEPHANT_LOG_LEVEL_INFO)}] action: [(C {(printf)} {(DQ ('%s'))} {(DQ (info))})] spids: [1408 1411 1425 16777215] ) (case_arm pat_list: [{(${ VSub_Name KOALEPHANT_LOG_LEVEL_DEBUG)}] action: [(C {(printf)} {(DQ ('%s'))} {(DQ (debug))})] spids: [1429 1432 1446 16777215] ) ] spids: [1271 1279 1449] ) ] spids: [1232] ) spids: [1228 1231] ) (FuncDef name: k_log_syslog body: (BraceGroup children: [ (C {(k_bool_test)} { (DQ (BracedVarSub token: <VSub_Name KOALEPHANT_LOG_SYSLOG> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(EmptyPart)}) spids: [1485 1488] ) ) } ) ] spids: [1479] ) spids: [1475 1478] ) (FuncDef name: k_log_message body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:level) op: Equal rhs: {(DQ ($ VSub_Number '$1'))} spids: [1515] ) ] spids: [1513] ) (C {(shift)}) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:message) op: Equal rhs: {(DQ ($ VSub_Star '$*'))} spids: [1526] ) ] spids: [1524] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr ops: [Op_DAmp] children: [ (C {(k_log_level_valid)} {(DQ ($ VSub_Name '$level'))}) (C {(Lit_Other '[')} { (CommandSubPart command_list: (CommandList children:[(C {(k_log_level)})]) left_token: <Left_CommandSub '$('> spids: [1545 1547] ) } {(-ge)} {(DQ (${ VSub_Name level))} {(Lit_Other ']')} ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (SimpleCommand words: [{(printf)} {(DQ ('%s') (Lit_Other '\\') (n))} {(DQ ($ VSub_At '$@'))}] redirects: [ (Redir op_id: Redir_GreatAnd fd: 16777215 arg_word: {(2)} spids: [1575] ) ] ) (If arms: [ (if_arm cond: [(Sentence child:(C {(k_log_syslog)}) terminator:<Op_Semi ';'>)] action: [ (C {(/usr/bin/logger)} {(--tag)} { (DQ (CommandSubPart command_list: (CommandList children:[(C {(k_tool_name)})]) left_token: <Left_CommandSub '$('> spids: [1592 1594] ) ) } {(--id)} {($ VSub_Dollar '$$')} {(--priority)} { (DQ (user.) (CommandSubPart command_list: (CommandList children: [(C {(k_log_level_name)} {(DQ (${ VSub_Name level))})] ) left_token: <Left_CommandSub '$('> spids: [1605 1613] ) ) } {(--)} {(DQ ($ VSub_At '$@'))} ) ] spids: [16777215 1584] ) ] spids: [16777215 1623] ) ] spids: [16777215 1560] ) ] spids: [16777215 1626] ) ] spids: [1510] ) spids: [1506 1509] ) (FuncDef name: k_log_emerg body: (BraceGroup children: [ (C {(k_log_message)} {(${ VSub_Name KOALEPHANT_LOG_LEVEL_EMERG)} {(DQ ($ VSub_At '$@'))}) ] spids: [1647] ) spids: [1643 1646] ) (FuncDef name: k_log_alert body: (BraceGroup children: [ (C {(k_log_message)} {(${ VSub_Name KOALEPHANT_LOG_LEVEL_ALERT)} {(DQ ($ VSub_At '$@'))}) ] spids: [1679] ) spids: [1675 1678] ) (FuncDef name: k_log_crit body: (BraceGroup children: [ (C {(k_log_message)} {(${ VSub_Name KOALEPHANT_LOG_LEVEL_CRIT)} {(DQ ($ VSub_At '$@'))}) ] spids: [1711] ) spids: [1707 1710] ) (FuncDef name: k_log_err body: (BraceGroup children: [ (C {(k_log_message)} {(${ VSub_Name KOALEPHANT_LOG_LEVEL_ERR)} {(DQ ($ VSub_At '$@'))}) ] spids: [1743] ) spids: [1739 1742] ) (FuncDef name: k_log_warning body: (BraceGroup children: [ (C {(k_log_message)} {(${ VSub_Name KOALEPHANT_LOG_LEVEL_WARNING)} {(DQ ($ VSub_At '$@'))}) ] spids: [1775] ) spids: [1771 1774] ) (FuncDef name: k_log_notice body: (BraceGroup children: [ (C {(k_log_message)} {(${ VSub_Name KOALEPHANT_LOG_LEVEL_NOTICE)} {(DQ ($ VSub_At '$@'))}) ] spids: [1807] ) spids: [1803 1806] ) (FuncDef name: k_log_info body: (BraceGroup children: [ (C {(k_log_message)} {(${ VSub_Name KOALEPHANT_LOG_LEVEL_INFO)} {(DQ ($ VSub_At '$@'))}) ] spids: [1839] ) spids: [1835 1838] ) (FuncDef name: k_log_debug body: (BraceGroup children: [ (C {(k_log_message)} {(${ VSub_Name KOALEPHANT_LOG_LEVEL_DEBUG)} {(DQ ($ VSub_At '$@'))}) ] spids: [1871] ) spids: [1867 1870] ) ] )