(CommandList children: [ (FuncDef name: 'kube::version::get_version_vars' body: (BraceGroup children: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (BracedVarSub token: <VSub_Name KUBE_GIT_VERSION_FILE> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{}) spids: [109 112] ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (version) (Lit_Other ':') (Lit_Other ':') (load_version_vars) } {(DQ (${ VSub_Name KUBE_GIT_VERSION_FILE))} ) (ControlFlow token:<ControlFlow_Return return>) ] spids: [16777215 117] ) ] spids: [16777215 138] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:git) op: Equal rhs: { (ArrayLiteralPart words: [{(git)} {(--work-tree)} {(DQ (${ VSub_Name KUBE_ROOT))}] ) } spids: [144] ) ] spids: [142] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (BracedVarSub token: <VSub_Name KUBE_GIT_COMMIT> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{}) spids: [165 168] ) } ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_GIT_COMMIT) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [ { (DQ (BracedVarSub token: <VSub_Name git> bracket_op: (WholeArray op_id:Lit_At) spids: [177 182] ) ) } {(rev-parse)} {(DQ ('HEAD^{commit}'))} ] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [191] ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [175 193] ) } spids: [174] ) ] spids: [174] ) ] op_id: Op_DPipe ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_z child: { (BracedVarSub token: <VSub_Name KUBE_GIT_TREE_STATE> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{}) spids: [205 208] ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:git_status) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [ { (DQ (BracedVarSub token: <VSub_Name git> bracket_op: (WholeArray op_id: Lit_At ) spids: [225 230] ) ) } {(status)} {(--porcelain)} ] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [237] ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [223 239] ) } spids: [222] ) ] spids: [222] ) (DBracket expr: (BoolUnary op_id: BoolUnary_z child: {(${ VSub_Name git_status)} ) ) ] op_id: Op_DAmp ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_GIT_TREE_STATE) op: Equal rhs: {(DQ (clean))} spids: [257] ) ] spids: [257] ) ] spids: [16777215 254] ) ] else_action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_GIT_TREE_STATE) op: Equal rhs: {(DQ (dirty))} spids: [266] ) ] spids: [266] ) ] spids: [263 272] ) ] spids: [16777215 213] ) ] spids: [16777215 275] ) (If arms: [ (if_arm cond: [ (Sentence child: (AndOr children: [ (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (BracedVarSub token: <VSub_Name KUBE_GIT_VERSION> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{}) spids: [289 292] ) } ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_GIT_VERSION) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [ { (DQ (BracedVarSub token: <VSub_Name git> bracket_op: (WholeArray op_id:Lit_At) spids: [301 306] ) ) } {(describe)} {(--tags)} {(--abbrev) (Lit_Other '=') (14)} { (DQ (${ VSub_Name KUBE_GIT_COMMIT) ('^{commit}') ) } ] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [324] ) ] ) ] ) left_token: <Left_CommandSub '$('> spids: [299 326] ) } spids: [298] ) ] spids: [298] ) ] op_id: Op_DPipe ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:DASHES_IN_VERSION) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ (${ VSub_Name KUBE_GIT_VERSION))}) (C {(sed)} {(DQ ('s/[^-]//g'))}) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [357 373] ) } spids: [356] ) ] spids: [356] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name DASHES_IN_VERSION))} right: {(DQ (---))} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_GIT_VERSION) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ (${ VSub_Name KUBE_GIT_VERSION))} ) (C {(sed)} { (DQ (s/-) (Lit_Other '\\') ('([0-9]') (Lit_Other '\\') ('{1,') (Lit_Other '\\') ('}') (Lit_Other '\\') (')-g') (Lit_Other '\\') ('([0-9a-f]') (Lit_Other '\\') ('{14') (Lit_Other '\\') ('}') (Lit_Other '\\') (')') (Lit_Other '$') (/.) (Lit_Other '\\') (1) (Lit_Other '\\') ('+') (Lit_Other '\\') (2/) ) } ) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [404 444] ) } spids: [403] ) ] spids: [403] ) ] spids: [16777215 396] ) (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name DASHES_IN_VERSION))} right: {(DQ (--))} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_GIT_VERSION) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(echo)} {(DQ (${ VSub_Name KUBE_GIT_VERSION))} ) (C {(sed)} { (DQ (s/-g) (Lit_Other '\\') ('([0-9a-f]') (Lit_Other '\\') ('{14') (Lit_Other '\\') ('}') (Lit_Other '\\') (')') (Lit_Other '$') ('/+') (Lit_Other '\\') (1/) ) } ) ] negated: False ) ] ) left_token: <Left_CommandSub '$('> spids: [475 503] ) } spids: [474] ) ] spids: [474] ) ] spids: [447 467] ) ] spids: [16777215 506] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: {(DQ (${ VSub_Name KUBE_GIT_TREE_STATE))} right: {(DQ (dirty))} ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_GIT_VERSION) op: PlusEqual rhs: {(DQ (-dirty))} spids: [543] ) ] spids: [543] ) ] spids: [16777215 528] ) ] spids: [16777215 549] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_EqualTilde left: {(DQ (${ VSub_Name KUBE_GIT_VERSION))} right: {(Lit_Other '^') (v) ('(') (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '+') (')') (EscapedLiteralPart token:<Lit_EscapedChar '\\.'>) ('(') (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '+') (')') ('(') (EscapedLiteralPart token:<Lit_EscapedChar '\\.'>) (Lit_Other '[') (0-9) (Lit_Other ']') (Lit_Other '+') (')') (Lit_Other '?') ('(') (Lit_Other '[') (-) (Lit_Other ']') (.) (Lit_Other '*') (')') (Lit_Other '?') (Lit_Other '$') } ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_GIT_MAJOR) op: Equal rhs: { (BracedVarSub token: <VSub_Name BASH_REMATCH> bracket_op: (ArrayIndex expr: (ArithWord w:{(Lit_Digits 1)}) ) spids: [618 623] ) } spids: [617] ) ] spids: [617] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_GIT_MINOR) op: Equal rhs: { (BracedVarSub token: <VSub_Name BASH_REMATCH> bracket_op: (ArrayIndex expr: (ArithWord w:{(Lit_Digits 2)}) ) spids: [627 632] ) } spids: [626] ) ] spids: [626] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (DQ (BracedVarSub token: <VSub_Name BASH_REMATCH> bracket_op: (ArrayIndex expr: (ArithWord w:{(Lit_Digits 4)}) ) spids: [642 647] ) ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_GIT_MINOR) op: PlusEqual rhs: {(DQ ('+'))} spids: [656] ) ] spids: [656] ) ] spids: [16777215 653] ) ] spids: [16777215 662] ) ] spids: [16777215 614] ) ] spids: [16777215 665] ) ] spids: [16777215 329] ) ] spids: [16777215 668] ) ] spids: [16777215 196] ) ] spids: [16777215 671] ) ] spids: [100] ) spids: [90 99] ) (FuncDef name: 'kube::version::save_version_vars' body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:version_file) op: Equal rhs: { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{}) spids: [695 698] ) } spids: [694] ) ] spids: [692] ) (AndOr children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{(${ VSub_Name version_file)}) ) (BraceGroup children: [ (C {(echo)} { (DQ ( '!!! Internal error. No file specified in kube::version::save_version_vars' ) ) } ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [713] ) ] op_id: Op_DPipe ) (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: { (DQ ("KUBE_GIT_COMMIT='") (BracedVarSub token: <VSub_Name KUBE_GIT_COMMIT> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )}) spids: [745 748] ) ("'\n") ("KUBE_GIT_TREE_STATE='") (BracedVarSub token: <VSub_Name KUBE_GIT_TREE_STATE> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )}) spids: [751 754] ) ("'\n") ("KUBE_GIT_VERSION='") (BracedVarSub token: <VSub_Name KUBE_GIT_VERSION> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )}) spids: [757 760] ) ("'\n") ("KUBE_GIT_MAJOR='") (BracedVarSub token: <VSub_Name KUBE_GIT_MAJOR> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )}) spids: [763 766] ) ("'\n") ("KUBE_GIT_MINOR='") (BracedVarSub token: <VSub_Name KUBE_GIT_MINOR> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )}) spids: [769 772] ) ("'\n") ) } do_expansion: True here_end: EOF was_filled: True spids: [734] ) (Redir op_id: Redir_Great fd: 16777215 arg_word: {(DQ (${ VSub_Name version_file))} spids: [737] ) ] ) ] spids: [689] ) spids: [679 688] ) (FuncDef name: 'kube::version::load_version_vars' body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:version_file) op: Equal rhs: { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{}) spids: [797 800] ) } spids: [796] ) ] spids: [794] ) (AndOr children: [ (DBracket expr: (BoolUnary op_id:BoolUnary_n child:{(${ VSub_Name version_file)}) ) (BraceGroup children: [ (C {(echo)} { (DQ ( '!!! Internal error. No file specified in kube::version::load_version_vars' ) ) } ) (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)}) ] spids: [815] ) ] op_id: Op_DPipe ) (C {(source)} {(DQ (${ VSub_Name version_file))}) ] spids: [791] ) spids: [781 790] ) (FuncDef name: 'kube::version::ldflag' body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:key) op: Equal rhs: {(${ VSub_Number 1)} spids: [860] ) ] spids: [858] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:val) op: Equal rhs: {(${ VSub_Number 2)} spids: [868] ) ] spids: [866] ) (C {(echo)} { (DQ ('-X ') (${ VSub_Name KUBE_GO_PACKAGE) (/pkg/version.) (${ VSub_Name key) ('=') (${ VSub_Name val) ) } ) (C {(echo)} { (DQ ('-X ') (${ VSub_Name KUBE_GO_PACKAGE) (/vendor/k8s.io/client-go/pkg/version.) (${ VSub_Name key) ('=') (${ VSub_Name val) ) } ) ] spids: [855] ) spids: [845 854] ) (FuncDef name: 'kube::version::ldflags' body: (BraceGroup children: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (version) (Lit_Other ':') (Lit_Other ':') (get_version_vars) } ) (Assignment keyword: Assign_Local pairs: [(assign_pair lhs:(LhsName name:buildDate) op:Equal rhs:{(SQ )} spids:[954])] spids: [952] ) (AndOr children: [ (DBracket expr: (BoolUnary op_id: BoolUnary_z child: { (BracedVarSub token: <VSub_Name SOURCE_DATE_EPOCH> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{}) spids: [961 964] ) } ) ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:buildDate) op: Equal rhs: {(DQ ('--date=@') (${ VSub_Name SOURCE_DATE_EPOCH))} spids: [970] ) ] spids: [970] ) ] op_id: Op_DPipe ) (Assignment keyword: Assign_Local flags: [-a] pairs: [ (assign_pair lhs: (LhsName name:ldflags) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (version) (Lit_Other ':') (Lit_Other ':') (ldflag) } {(DQ (buildDate))} { (DQ (CommandSubPart command_list: (CommandList children: [ (C {(date)} {(${ VSub_Name buildDate)} {(-u)} {(Lit_Other '+') (SQ <'%Y-%m-%dT%H:%M:%SZ'>)} ) ] ) left_token: <Left_CommandSub '$('> spids: [999 1012] ) ) } ) ] ) left_token: <Left_CommandSub '$('> spids: [985 1014] ) } ] ) } spids: [983] ) ] spids: [979] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (BracedVarSub token: <VSub_Name KUBE_GIT_COMMIT> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{}) spids: [1024 1027] ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ldflags) op: PlusEqual rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (version) (Lit_Other ':') (Lit_Other ':') (ldflag) } {(DQ (gitCommit))} {(DQ (${ VSub_Name KUBE_GIT_COMMIT))} ) ] ) left_token: <Left_CommandSub '$('> spids: [1037 1055] ) } ] ) } spids: [1035] ) ] spids: [1035] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ldflags) op: PlusEqual rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (version) (Lit_Other ':') (Lit_Other ':') (ldflag) } {(DQ (gitTreeState))} {(DQ (${ VSub_Name KUBE_GIT_TREE_STATE))} ) ] ) left_token: <Left_CommandSub '$('> spids: [1061 1079] ) } ] ) } spids: [1059] ) ] spids: [1059] ) ] spids: [16777215 1032] ) ] spids: [16777215 1083] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_n child: { (BracedVarSub token: <VSub_Name KUBE_GIT_VERSION> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{}) spids: [1093 1096] ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ldflags) op: PlusEqual rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (version) (Lit_Other ':') (Lit_Other ':') (ldflag) } {(DQ (gitVersion))} {(DQ (${ VSub_Name KUBE_GIT_VERSION))} ) ] ) left_token: <Left_CommandSub '$('> spids: [1106 1124] ) } ] ) } spids: [1104] ) ] spids: [1104] ) ] spids: [16777215 1101] ) ] spids: [16777215 1128] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalAnd left: (BoolUnary op_id: BoolUnary_n child: { (BracedVarSub token: <VSub_Name KUBE_GIT_MAJOR> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{}) spids: [1138 1141] ) } ) right: (BoolUnary op_id: BoolUnary_n child: { (BracedVarSub token: <VSub_Name KUBE_GIT_MINOR> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{}) spids: [1147 1150] ) } ) ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ldflags) op: PlusEqual rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (version) (Lit_Other ':') (Lit_Other ':') (ldflag) } {(DQ (gitMajor))} {(DQ (${ VSub_Name KUBE_GIT_MAJOR))} ) ] ) left_token: <Left_CommandSub '$('> spids: [1162 1180] ) } { (CommandSubPart command_list: (CommandList children: [ (C {(kube) (Lit_Other ':') (Lit_Other ':') (version) (Lit_Other ':') (Lit_Other ':') (ldflag) } {(DQ (gitMinor))} {(DQ (${ VSub_Name KUBE_GIT_MINOR))} ) ] ) left_token: <Left_CommandSub '$('> spids: [1183 1201] ) } ] ) } spids: [1158] ) ] spids: [1158] ) ] spids: [16777215 1155] ) ] spids: [16777215 1207] ) (C {(echo)} { (DQ (BracedVarSub token: <VSub_Name ldflags> bracket_op: (WholeArray op_id:Arith_Star) suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )}) spids: [1218 1224] ) ) } ) ] spids: [939] ) spids: [929 938] ) ] )