(CommandList
  children: [
    (C {(set)} {(-o)} {(errexit)})
    (C {(set)} {(-o)} {(nounset)})
    (C {(set)} {(-o)} {(pipefail)})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_ROOT)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (AndOr
                        children: [
                          (C {(cd)} 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(dirname)} {(DQ (${ VSub_Name BASH_SOURCE))})]
                                  )
                                left_token: <Left_CommandSub "$(">
                                spids: [71 79]
                              ) (/..)
                            }
                          )
                          (C {(pwd)})
                        ]
                        op_id: Op_DAmp
                      )
                    ]
                  )
                left_token: <Left_CommandSub "$(">
                spids: [68 85]
              )
            }
          spids: [67]
        )
      ]
      spids: [67]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:DEFAULT_KUBECONFIG)
          op: Equal
          rhs: 
            {
              (DQ 
                (BracedVarSub
                  token: <VSub_Name HOME>
                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(.)})
                  spids: [90 94]
                ) (/.kube/config)
              )
            }
          spids: [88]
        )
      ]
      spids: [88]
    )
    (C {(source)} {(DQ (${ VSub_Name KUBE_ROOT) (/hack/lib/util.sh))})
    (C {(source)} {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/lib/logging.sh))})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_RELEASE_VERSION_REGEX)
          op: Equal
          rhs: 
            {
              (DQ ("^v(0|[1-9][0-9]*)") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) 
                (".(0|[1-9][0-9]*)") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (".(0|[1-9][0-9]*)(-([a-zA-Z0-9]+)") 
                (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (".(0|[1-9][0-9]*))?") (Lit_Other "$")
              )
            }
          spids: [129]
        )
      ]
      spids: [129]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_RELEASE_VERSION_DASHED_REGEX)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"v(0|[1-9][0-9]*)-(0|[1-9][0-9]*)-(0|[1-9][0-9]*)(-([a-zA-Z0-9]+)-(0|[1-9][0-9]*))?"
                )
              )
            }
          spids: [141]
        )
      ]
      spids: [141]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_CI_VERSION_REGEX)
          op: Equal
          rhs: 
            {
              (DQ ("^v(0|[1-9][0-9]*)") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) 
                (".(0|[1-9][0-9]*)") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (".(0|[1-9][0-9]*)-([a-zA-Z0-9]+)") 
                (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (".(0|[1-9][0-9]*)(") (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) (".(0|[1-9][0-9]*)") 
                (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) ("+[-0-9a-z]*)?") (Lit_Other "$")
              )
            }
          spids: [159]
        )
      ]
      spids: [159]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:KUBE_CI_VERSION_DASHED_REGEX)
          op: Equal
          rhs: 
            {
              (DQ 
                (
"^v(0|[1-9][0-9]*)-(0|[1-9][0-9]*)-(0|[1-9][0-9]*)-([a-zA-Z0-9]+)-(0|[1-9][0-9]*)(-(0|[1-9][0-9]*)"
                ) (EscapedLiteralPart token:<Lit_EscapedChar "\\\\">) ("+[-0-9a-z]*)?")
              )
            }
          spids: [175]
        )
      ]
      spids: [175]
    )
    (FuncDef
      name: create-kubeconfig
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBECONFIG)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name KUBECONFIG>
                        suffix_op: 
                          (StringUnary
                            op_id: VTest_ColonHyphen
                            arg_word: {($ VSub_Name "$DEFAULT_KUBECONFIG")}
                          )
                        spids: [253 257]
                      )
                    }
                  spids: [252]
                )
              ]
              spids: [252]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:kubectl)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/kubectl.sh))}
                  spids: [262]
                )
              ]
              spids: [260]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:SECONDARY_KUBECONFIG)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name SECONDARY_KUBECONFIG>
                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                        spids: [272 275]
                      )
                    }
                  spids: [271]
                )
              ]
              spids: [271]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:OVERRIDE_CONTEXT)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name OVERRIDE_CONTEXT>
                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                        spids: [279 282]
                      )
                    }
                  spids: [278]
                )
              ]
              spids: [278]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobNEqual
                              left: {(DQ ($ VSub_Name "$OVERRIDE_CONTEXT"))}
                              right: {(DQ )}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:CONTEXT)
                          op: Equal
                          rhs: {($ VSub_Name "$OVERRIDE_CONTEXT")}
                          spids: [304]
                        )
                      ]
                      spids: [304]
                    )
                  ]
                  spids: [-1 301]
                )
              ]
              spids: [-1 308]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:OLD_IFS)
                  op: Equal
                  rhs: {($ VSub_Name "$IFS")}
                  spids: [316]
                )
              ]
              spids: [316]
            )
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:IFS) op:Equal rhs:{(SQ <":">)} spids:[320])]
              spids: [320]
            )
            (ForEach
              iter_name: cfg
              iter_words: [{(${ VSub_Name KUBECONFIG)}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (LogicalNot
                                      child: 
                                        (BoolUnary
                                          op_id: BoolUnary_e
                                          child: {(DQ (${ VSub_Name cfg))}
                                        )
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (C {(mkdir)} {(-p)} 
                              {
                                (DQ 
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [(C {(dirname)} {(DQ (${ VSub_Name cfg))})]
                                      )
                                    left_token: <Left_CommandSub "$(">
                                    spids: [366 374]
                                  )
                                )
                              }
                            )
                            (C {(touch)} {(DQ (${ VSub_Name cfg))})
                          ]
                          spids: [-1 358]
                        )
                      ]
                      spids: [-1 387]
                    )
                  ]
                  spids: [338 390]
                )
              spids: [331 336]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:IFS)
                  op: Equal
                  rhs: {($ VSub_Name "$OLD_IFS")}
                  spids: [393]
                )
              ]
              spids: [393]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:cluster_args)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {
                            (DQ ("--server=") 
                              (BracedVarSub
                                token: <VSub_Name KUBE_SERVER>
                                suffix_op: 
                                  (StringUnary
                                    op_id: VTest_ColonHyphen
                                    arg_word: 
                                      {("https:") (Lit_Slash /) (Lit_Slash /) 
                                        (${ VSub_Name KUBE_MASTER_IP)
                                      }
                                  )
                                spids: [406 415]
                              )
                            )
                          }
                        ]
                      )
                    }
                  spids: [400]
                )
              ]
              spids: [398]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_z
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name CA_CERT>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [429 432]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:cluster_args)
                          op: PlusEqual
                          rhs: {(ArrayLiteralPart words:[{(DQ ("--insecure-skip-tls-verify=true"))}])}
                          spids: [441]
                        )
                      ]
                      spids: [441]
                    )
                  ]
                  spids: [-1 438]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:cluster_args)
                      op: PlusEqual
                      rhs: 
                        {
                          (ArrayLiteralPart
                            words: [
                              {(DQ ("--certificate-authority=") (${ VSub_Name CA_CERT))}
                              {(DQ ("--embed-certs=true"))}
                            ]
                          )
                        }
                      spids: [452]
                    )
                  ]
                  spids: [452]
                )
              ]
              spids: [449 472]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:user_args)
                  op: Equal
                  rhs: {(ArrayLiteralPart)}
                  spids: [478]
                )
              ]
              spids: [476]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalNot
                              child: 
                                (BoolUnary
                                  op_id: BoolUnary_z
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name KUBE_BEARER_TOKEN>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [492 495]
                                        )
                                      )
                                    }
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:user_args)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [{(DQ ("--token=") (${ VSub_Name KUBE_BEARER_TOKEN))}]
                              )
                            }
                          spids: [504]
                        )
                      ]
                      spids: [504]
                    )
                  ]
                  spids: [-1 501]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalAnd
                              left: 
                                (LogicalNot
                                  child: 
                                    (BoolUnary
                                      op_id: BoolUnary_z
                                      child: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name KUBE_USER>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                              spids: [528 531]
                                            )
                                          )
                                        }
                                    )
                                )
                              right: 
                                (LogicalNot
                                  child: 
                                    (BoolUnary
                                      op_id: BoolUnary_z
                                      child: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name KUBE_PASSWORD>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                              spids: [541 544]
                                            )
                                          )
                                        }
                                    )
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:user_args)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(DQ ("--username=") (${ VSub_Name KUBE_USER))}
                                  {(DQ ("--password=") (${ VSub_Name KUBE_PASSWORD))}
                                ]
                              )
                            }
                          spids: [553]
                        )
                      ]
                      spids: [553]
                    )
                  ]
                  spids: [519 550]
                )
              ]
              spids: [-1 576]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalAnd
                              left: 
                                (LogicalNot
                                  child: 
                                    (BoolUnary
                                      op_id: BoolUnary_z
                                      child: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name KUBE_CERT>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                              spids: [588 591]
                                            )
                                          )
                                        }
                                    )
                                )
                              right: 
                                (LogicalNot
                                  child: 
                                    (BoolUnary
                                      op_id: BoolUnary_z
                                      child: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name KUBE_KEY>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                              spids: [601 604]
                                            )
                                          )
                                        }
                                    )
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:user_args)
                          op: PlusEqual
                          rhs: 
                            {
                              (ArrayLiteralPart
                                words: [
                                  {(DQ ("--client-certificate=") (${ VSub_Name KUBE_CERT))}
                                  {(DQ ("--client-key=") (${ VSub_Name KUBE_KEY))}
                                  {(DQ ("--embed-certs=true"))}
                                ]
                              )
                            }
                          spids: [613]
                        )
                      ]
                      spids: [613]
                    )
                  ]
                  spids: [-1 610]
                )
              ]
              spids: [-1 641]
            )
            (SimpleCommand
              words: [
                {(DQ (${ VSub_Name kubectl))}
                {(config)}
                {(set-cluster)}
                {(DQ (${ VSub_Name CONTEXT))}
                {
                  (DQ 
                    (BracedVarSub
                      token: <VSub_Name cluster_args>
                      bracket_op: (WholeArray op_id:Lit_At)
                      spids: [669 674]
                    )
                  )
                }
              ]
              more_env: [(env_pair name:KUBECONFIG val:{(DQ (${ VSub_Name KUBECONFIG))} spids:[645])]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name user_args>
                                      bracket_op: (WholeArray op_id:Lit_At)
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [685 691]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [
                        {(DQ (${ VSub_Name kubectl))}
                        {(config)}
                        {(set-credentials)}
                        {(DQ (${ VSub_Name CONTEXT))}
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Name user_args>
                              bracket_op: (WholeArray op_id:Lit_At)
                              spids: [724 729]
                            )
                          )
                        }
                      ]
                      more_env: [
                        (env_pair
                          name: KUBECONFIG
                          val: {(DQ (${ VSub_Name KUBECONFIG))}
                          spids: [700]
                        )
                      ]
                    )
                  ]
                  spids: [-1 697]
                )
              ]
              spids: [-1 733]
            )
            (SimpleCommand
              words: [
                {(DQ (${ VSub_Name kubectl))}
                {(config)}
                {(set-context)}
                {(DQ (${ VSub_Name CONTEXT))}
                {(--cluster) (Lit_Other "=") (DQ (${ VSub_Name CONTEXT))}
                {(--user) (Lit_Other "=") (DQ (${ VSub_Name CONTEXT))}
              ]
              more_env: [(env_pair name:KUBECONFIG val:{(DQ (${ VSub_Name KUBECONFIG))} spids:[736])]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobNEqual
                              left: {(DQ (${ VSub_Name SECONDARY_KUBECONFIG))}
                              right: {(DQ (true))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [
                        {(DQ (${ VSub_Name kubectl))}
                        {(config)}
                        {(use-context)}
                        {(DQ (${ VSub_Name CONTEXT))}
                        {(--cluster) (Lit_Other "=") (DQ (${ VSub_Name CONTEXT))}
                      ]
                      more_env: [
                        (env_pair
                          name: KUBECONFIG
                          val: {(DQ (${ VSub_Name KUBECONFIG))}
                          spids: [798]
                        )
                      ]
                    )
                  ]
                  spids: [-1 795]
                )
              ]
              spids: [-1 830]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalAnd
                              left: 
                                (LogicalNot
                                  child: 
                                    (BoolUnary
                                      op_id: BoolUnary_z
                                      child: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name KUBE_BEARER_TOKEN>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                              spids: [855 858]
                                            )
                                          )
                                        }
                                    )
                                )
                              right: 
                                (LogicalAnd
                                  left: 
                                    (LogicalNot
                                      child: 
                                        (BoolUnary
                                          op_id: BoolUnary_z
                                          child: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Name KUBE_USER>
                                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                                  spids: [868 871]
                                                )
                                              )
                                            }
                                        )
                                    )
                                  right: 
                                    (LogicalNot
                                      child: 
                                        (BoolUnary
                                          op_id: BoolUnary_z
                                          child: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Name KUBE_PASSWORD>
                                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                                  spids: [881 884]
                                                )
                                              )
                                            }
                                        )
                                    )
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [
                        {(DQ (${ VSub_Name kubectl))}
                        {(config)}
                        {(set-credentials)}
                        {(DQ (${ VSub_Name CONTEXT) (-basic-auth))}
                        {(DQ ("--username=") (${ VSub_Name KUBE_USER))}
                        {(DQ ("--password=") (${ VSub_Name KUBE_PASSWORD))}
                      ]
                      more_env: [
                        (env_pair
                          name: KUBECONFIG
                          val: {(DQ (${ VSub_Name KUBECONFIG))}
                          spids: [893]
                        )
                      ]
                    )
                  ]
                  spids: [-1 890]
                )
              ]
              spids: [-1 932]
            )
            (C {(echo)} 
              {(DQ ("Wrote config for ") (${ VSub_Name CONTEXT) (" to ") (${ VSub_Name KUBECONFIG))}
            )
          ]
          spids: [249]
        )
      spids: [243 248]
    )
    (FuncDef
      name: clear-kubeconfig
      body: 
        (BraceGroup
          children: [
            (C {(export)} 
              {(Lit_VarLike "KUBECONFIG=") 
                (BracedVarSub
                  token: <VSub_Name KUBECONFIG>
                  suffix_op: 
                    (StringUnary
                      op_id: VTest_ColonHyphen
                      arg_word: {($ VSub_Name "$DEFAULT_KUBECONFIG")}
                    )
                  spids: [982 986]
                )
              }
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:OVERRIDE_CONTEXT)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name OVERRIDE_CONTEXT>
                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                        spids: [990 993]
                      )
                    }
                  spids: [989]
                )
              ]
              spids: [989]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobNEqual
                              left: {(DQ ($ VSub_Name "$OVERRIDE_CONTEXT"))}
                              right: {(DQ )}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:CONTEXT)
                          op: Equal
                          rhs: {($ VSub_Name "$OVERRIDE_CONTEXT")}
                          spids: [1015]
                        )
                      ]
                      spids: [1015]
                    )
                  ]
                  spids: [-1 1012]
                )
              ]
              spids: [-1 1019]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:kubectl)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/kubectl.sh))}
                  spids: [1025]
                )
              ]
              spids: [1023]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:cc)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(DQ (${ VSub_Name kubectl))} {(config)} {(view)} {(-o)} 
                                {(Lit_VarLike "jsonpath=") (SQ <"{.current-context}">)}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [1041 1058]
                      )
                    }
                  spids: [1040]
                )
              ]
              spids: [1038]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {(DQ (${ VSub_Name cc))}
                              right: {(DQ (${ VSub_Name CONTEXT))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(DQ (${ VSub_Name kubectl))} {(config)} {(unset)} {(current-context)})]
                  spids: [-1 1082]
                )
              ]
              spids: [-1 1098]
            )
            (C {(DQ (${ VSub_Name kubectl))} {(config)} {(unset)} 
              {(DQ (clusters.) (${ VSub_Name CONTEXT))}
            )
            (C {(DQ (${ VSub_Name kubectl))} {(config)} {(unset)} {(DQ (users.) (${ VSub_Name CONTEXT))})
            (C {(DQ (${ VSub_Name kubectl))} {(config)} {(unset)} 
              {(DQ (users.) (${ VSub_Name CONTEXT) (-basic-auth))}
            )
            (C {(DQ (${ VSub_Name kubectl))} {(config)} {(unset)} 
              {(DQ (contexts.) (${ VSub_Name CONTEXT))}
            )
            (C {(echo)} 
              {
                (DQ ("Cleared config for ") (${ VSub_Name CONTEXT) (" from ") (${ VSub_Name KUBECONFIG))
              }
            )
          ]
          spids: [976]
        )
      spids: [970 975]
    )
    (FuncDef
      name: create-kubeconfig-for-federation
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name FEDERATION>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [1211 1214]
                                    )
                                  )
                                }
                              right: {(DQ (true))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ("creating kubeconfig for federation secret"))})
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:kubectl)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/kubectl.sh))}
                          spids: [1238]
                        )
                      ]
                      spids: [1236]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:cc)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(DQ (${ VSub_Name kubectl))} {(config)} {(view)} {(-o)} 
                                        {(Lit_VarLike "jsonpath=") (SQ <"{.current-context}">)}
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub "$(">
                                spids: [1250 1267]
                              )
                            }
                          spids: [1249]
                        )
                      ]
                      spids: [1247]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:KUBECONFIG_DIR)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(dirname)} 
                                        {
                                          (BracedVarSub
                                            token: <VSub_Name KUBECONFIG>
                                            suffix_op: 
                                              (StringUnary
                                                op_id: VTest_ColonHyphen
                                                arg_word: {($ VSub_Name "$DEFAULT_KUBECONFIG")}
                                              )
                                            spids: [1274 1278]
                                          )
                                        }
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub "$(">
                                spids: [1271 1279]
                              )
                            }
                          spids: [1270]
                        )
                      ]
                      spids: [1270]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:KUBECONFIG_PATH)
                          op: Equal
                          rhs: 
                            {
                              (DQ (${ VSub_Name KUBECONFIG_DIR) (/federation/kubernetes-apiserver/) 
                                (${ VSub_Name cc)
                              )
                            }
                          spids: [1282]
                        )
                      ]
                      spids: [1282]
                    )
                    (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name KUBECONFIG_PATH))})
                    (SimpleCommand
                      words: [{(DQ (${ VSub_Name kubectl))} {(config)} {(view)} {(--minify)} {(--flatten)}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(DQ (${ VSub_Name KUBECONFIG_PATH) (/kubeconfig))}
                          spids: [1319]
                        )
                      ]
                    )
                  ]
                  spids: [-1 1226]
                )
              ]
              spids: [-1 1329]
            )
          ]
          spids: [1203]
        )
      spids: [1197 1202]
    )
    (FuncDef
      name: tear_down_alive_resources
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:kubectl)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/kubectl.sh))}
                  spids: [1345]
                )
              ]
              spids: [1343]
            )
            (AndOr
              children: [
                (C {(DQ (${ VSub_Name kubectl))} {(delete)} {(deployments)} {(--all)})
                (C {(true)})
              ]
              op_id: Op_DPipe
            )
            (AndOr
              children: [(C {(DQ (${ VSub_Name kubectl))} {(delete)} {(rc)} {(--all)}) (C {(true)})]
              op_id: Op_DPipe
            )
            (AndOr
              children: [(C {(DQ (${ VSub_Name kubectl))} {(delete)} {(pods)} {(--all)}) (C {(true)})]
              op_id: Op_DPipe
            )
            (AndOr
              children: [(C {(DQ (${ VSub_Name kubectl))} {(delete)} {(svc)} {(--all)}) (C {(true)})]
              op_id: Op_DPipe
            )
            (AndOr
              children: [(C {(DQ (${ VSub_Name kubectl))} {(delete)} {(pvc)} {(--all)}) (C {(true)})]
              op_id: Op_DPipe
            )
          ]
          spids: [1340]
        )
      spids: [1334 1339]
    )
    (FuncDef
      name: get-kubeconfig-basicauth
      body: 
        (BraceGroup
          children: [
            (C {(export)} 
              {(Lit_VarLike "KUBECONFIG=") 
                (BracedVarSub
                  token: <VSub_Name KUBECONFIG>
                  suffix_op: 
                    (StringUnary
                      op_id: VTest_ColonHyphen
                      arg_word: {($ VSub_Name "$DEFAULT_KUBECONFIG")}
                    )
                  spids: [1486 1490]
                )
              }
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:cc)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/kubectl.sh))} {(config)} 
                                {(view)} {(-o)} {(Lit_VarLike "jsonpath=") (DQ ("{.current-context}"))}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [1497 1515]
                      )
                    }
                  spids: [1496]
                )
              ]
              spids: [1494]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalNot
                              child: 
                                (BoolUnary
                                  op_id: BoolUnary_z
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name KUBE_CONTEXT>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [1527 1530]
                                        )
                                      )
                                    }
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:cc)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name KUBE_CONTEXT))}
                          spids: [1539]
                        )
                      ]
                      spids: [1539]
                    )
                  ]
                  spids: [-1 1536]
                )
              ]
              spids: [-1 1547]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:user)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/kubectl.sh))} {(config)} 
                                {(view)} {(-o)} 
                                {(Lit_VarLike "jsonpath=") 
                                  (DQ ("{.contexts[?(@.name == ") 
                                    (EscapedLiteralPart
                                      token: <Lit_EscapedChar "\\\"">
                                    ) (${ VSub_Name cc) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (")].context.user}")
                                  )
                                }
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [1553 1577]
                      )
                    }
                  spids: [1552]
                )
              ]
              spids: [1550]
            )
            (C {(get-kubeconfig-user-basicauth)} {(DQ (${ VSub_Name user))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalOr
                              left: 
                                (BoolUnary
                                  op_id: BoolUnary_z
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name KUBE_USER>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [1597 1600]
                                        )
                                      )
                                    }
                                )
                              right: 
                                (BoolUnary
                                  op_id: BoolUnary_z
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name KUBE_PASSWORD>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [1608 1611]
                                        )
                                      )
                                    }
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(get-kubeconfig-user-basicauth)} {(DQ (${ VSub_Name user) (-basic-auth))})
                  ]
                  spids: [-1 1617]
                )
              ]
              spids: [-1 1650]
            )
          ]
          spids: [1480]
        )
      spids: [1474 1479]
    )
    (FuncDef
      name: get-kubeconfig-user-basicauth
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_USER)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/kubectl.sh))} {(config)} 
                                {(view)} {(-o)} 
                                {(Lit_VarLike "jsonpath=") 
                                  (DQ ("{.users[?(@.name == ") 
                                    (EscapedLiteralPart
                                      token: <Lit_EscapedChar "\\\"">
                                    ) ($ VSub_Number "$1") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (")].user.username}")
                                  )
                                }
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [1695 1717]
                      )
                    }
                  spids: [1694]
                )
              ]
              spids: [1694]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_PASSWORD)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/kubectl.sh))} {(config)} 
                                {(view)} {(-o)} 
                                {(Lit_VarLike "jsonpath=") 
                                  (DQ ("{.users[?(@.name == ") 
                                    (EscapedLiteralPart
                                      token: <Lit_EscapedChar "\\\"">
                                    ) ($ VSub_Number "$1") (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (")].user.password}")
                                  )
                                }
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [1721 1743]
                      )
                    }
                  spids: [1720]
                )
              ]
              spids: [1720]
            )
          ]
          spids: [1691]
        )
      spids: [1685 1690]
    )
    (FuncDef
      name: gen-kube-basicauth
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [(assign_pair lhs:(LhsName name:KUBE_USER) op:Equal rhs:{(admin)} spids:[1770])]
              spids: [1770]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_PASSWORD)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(python)} {(-c)} 
                                {
                                  (SQ 
                                    <
"import string,random; print(\"\".join(random.SystemRandom().choice(string.ascii_letters + string.digits) for _ in range(16)))"
                                    >
                                  )
                                }
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [1775 1783]
                      )
                    }
                  spids: [1774]
                )
              ]
              spids: [1774]
            )
          ]
          spids: [1767]
        )
      spids: [1761 1766]
    )
    (FuncDef
      name: get-kubeconfig-bearertoken
      body: 
        (BraceGroup
          children: [
            (C {(export)} 
              {(Lit_VarLike "KUBECONFIG=") 
                (BracedVarSub
                  token: <VSub_Name KUBECONFIG>
                  suffix_op: 
                    (StringUnary
                      op_id: VTest_ColonHyphen
                      arg_word: {($ VSub_Name "$DEFAULT_KUBECONFIG")}
                    )
                  spids: [1830 1834]
                )
              }
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:cc)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/kubectl.sh))} {(config)} 
                                {(view)} {(-o)} {(Lit_VarLike "jsonpath=") (DQ ("{.current-context}"))}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [1841 1859]
                      )
                    }
                  spids: [1840]
                )
              ]
              spids: [1838]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalNot
                              child: 
                                (BoolUnary
                                  op_id: BoolUnary_z
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name KUBE_CONTEXT>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [1871 1874]
                                        )
                                      )
                                    }
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:cc)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name KUBE_CONTEXT))}
                          spids: [1883]
                        )
                      ]
                      spids: [1883]
                    )
                  ]
                  spids: [-1 1880]
                )
              ]
              spids: [-1 1891]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:user)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/kubectl.sh))} {(config)} 
                                {(view)} {(-o)} 
                                {(Lit_VarLike "jsonpath=") 
                                  (DQ ("{.contexts[?(@.name == ") 
                                    (EscapedLiteralPart
                                      token: <Lit_EscapedChar "\\\"">
                                    ) (${ VSub_Name cc) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (")].context.user}")
                                  )
                                }
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [1897 1921]
                      )
                    }
                  spids: [1896]
                )
              ]
              spids: [1894]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_BEARER_TOKEN)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/kubectl.sh))} {(config)} 
                                {(view)} {(-o)} 
                                {(Lit_VarLike "jsonpath=") 
                                  (DQ ("{.users[?(@.name == ") 
                                    (EscapedLiteralPart
                                      token: <Lit_EscapedChar "\\\"">
                                    ) (${ VSub_Name user) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (")].user.token}")
                                  )
                                }
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [1925 1949]
                      )
                    }
                  spids: [1924]
                )
              ]
              spids: [1924]
            )
          ]
          spids: [1824]
        )
      spids: [1818 1823]
    )
    (FuncDef
      name: gen-kube-bearertoken
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_BEARER_TOKEN)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (SimpleCommand
                                    words: [
                                      {(dd)}
                                      {(Lit_VarLike "if=") (/dev/urandom)}
                                      {(Lit_VarLike "bs=") (128)}
                                      {(Lit_VarLike "count=") (1)}
                                    ]
                                    redirects: [
                                      (Redir
                                        op_id: Redir_Great
                                        fd: 2
                                        arg_word: {(/dev/null)}
                                        spids: [1988]
                                      )
                                    ]
                                  )
                                  (C {(base64)})
                                  (C {(tr)} {(-d)} {(DQ ("=+/"))})
                                  (SimpleCommand
                                    words: [
                                      {(dd)}
                                      {(Lit_VarLike "bs=") (32)}
                                      {(Lit_VarLike "count=") (1)}
                                    ]
                                    redirects: [
                                      (Redir
                                        op_id: Redir_Great
                                        fd: 2
                                        arg_word: {(/dev/null)}
                                        spids: [2015]
                                      )
                                    ]
                                  )
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [1976 2017]
                      )
                    }
                  spids: [1975]
                )
              ]
              spids: [1975]
            )
          ]
          spids: [1972]
        )
      spids: [1966 1971]
    )
    (FuncDef
      name: gen-uid
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_UID)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(python)} {(-c)} {(SQ <"import uuid; print(uuid.uuid1().fields[0])">)})
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [2048 2056]
                      )
                    }
                  spids: [2047]
                )
              ]
              spids: [2047]
            )
          ]
          spids: [2044]
        )
      spids: [2040 2043]
    )
    (FuncDef
      name: load-or-gen-kube-basicauth
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalNot
                              child: 
                                (BoolUnary
                                  op_id: BoolUnary_z
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name KUBE_CONTEXT>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [2080 2083]
                                        )
                                      )
                                    }
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(get-kubeconfig-basicauth)})]
                  spids: [-1 2089]
                )
              ]
              spids: [-1 2095]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalOr
                              left: 
                                (BoolUnary
                                  op_id: BoolUnary_z
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name KUBE_USER>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [2106 2109]
                                        )
                                      )
                                    }
                                )
                              right: 
                                (BoolUnary
                                  op_id: BoolUnary_z
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name KUBE_PASSWORD>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [2117 2120]
                                        )
                                      )
                                    }
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(gen-kube-basicauth)})]
                  spids: [-1 2126]
                )
              ]
              spids: [-1 2132]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Pipeline
                          children: [
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_EqualTilde
                                  left: {(DQ (${ VSub_Name KUBE_USER))}
                                  right: 
                                    {(Lit_Other "^") (Lit_Other "[") (-._) (Lit_Other "@") (a-zA-Z0-9) 
                                      (Lit_Other "]") (Lit_Other "+") (Lit_Other "$")
                                    }
                                )
                            )
                          ]
                          negated: True
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(echo)} {(DQ ("Bad KUBE_USER string."))}) (C {(exit)} {(1)})]
                  spids: [-1 2166]
                )
              ]
              spids: [-1 2181]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Pipeline
                          children: [
                            (DBracket
                              expr: 
                                (BoolBinary
                                  op_id: BoolBinary_EqualTilde
                                  left: {(DQ (${ VSub_Name KUBE_PASSWORD))}
                                  right: 
                                    {(Lit_Other "^") (Lit_Other "[") (-._) (Lit_Other "@") 
                                      (Lit_Pound "#") (Lit_Other "%") (/a-zA-Z0-9) (Lit_Other "]") (Lit_Other "+") (Lit_Other "$")
                                    }
                                )
                            )
                          ]
                          negated: True
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(echo)} {(DQ ("Bad KUBE_PASSWORD string."))}) (C {(exit)} {(1)})]
                  spids: [-1 2212]
                )
              ]
              spids: [-1 2227]
            )
          ]
          spids: [2068]
        )
      spids: [2062 2067]
    )
    (FuncDef
      name: load-or-gen-kube-bearertoken
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalNot
                              child: 
                                (BoolUnary
                                  op_id: BoolUnary_z
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name KUBE_CONTEXT>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [2250 2253]
                                        )
                                      )
                                    }
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(get-kubeconfig-bearertoken)})]
                  spids: [-1 2259]
                )
              ]
              spids: [-1 2265]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_z
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name KUBE_BEARER_TOKEN>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [2275 2278]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(gen-kube-bearertoken)})]
                  spids: [-1 2284]
                )
              ]
              spids: [-1 2290]
            )
          ]
          spids: [2238]
        )
      spids: [2232 2237]
    )
    (FuncDef
      name: detect-master-from-kubeconfig
      body: 
        (BraceGroup
          children: [
            (C {(export)} 
              {(Lit_VarLike "KUBECONFIG=") 
                (BracedVarSub
                  token: <VSub_Name KUBECONFIG>
                  suffix_op: 
                    (StringUnary
                      op_id: VTest_ColonHyphen
                      arg_word: {($ VSub_Name "$DEFAULT_KUBECONFIG")}
                    )
                  spids: [2340 2344]
                )
              }
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:cc)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/kubectl.sh))} {(config)} 
                                {(view)} {(-o)} {(Lit_VarLike "jsonpath=") (DQ ("{.current-context}"))}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [2351 2369]
                      )
                    }
                  spids: [2350]
                )
              ]
              spids: [2348]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalNot
                              child: 
                                (BoolUnary
                                  op_id: BoolUnary_z
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name KUBE_CONTEXT>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [2381 2384]
                                        )
                                      )
                                    }
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:cc)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name KUBE_CONTEXT))}
                          spids: [2393]
                        )
                      ]
                      spids: [2393]
                    )
                  ]
                  spids: [-1 2390]
                )
              ]
              spids: [-1 2401]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:cluster)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/kubectl.sh))} {(config)} 
                                {(view)} {(-o)} 
                                {(Lit_VarLike "jsonpath=") 
                                  (DQ ("{.contexts[?(@.name == ") 
                                    (EscapedLiteralPart
                                      token: <Lit_EscapedChar "\\\"">
                                    ) (${ VSub_Name cc) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (")].context.cluster}")
                                  )
                                }
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [2407 2431]
                      )
                    }
                  spids: [2406]
                )
              ]
              spids: [2404]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_MASTER_URL)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/kubectl.sh))} {(config)} 
                                {(view)} {(-o)} 
                                {(Lit_VarLike "jsonpath=") 
                                  (DQ ("{.clusters[?(@.name == ") 
                                    (EscapedLiteralPart
                                      token: <Lit_EscapedChar "\\\"">
                                    ) (${ VSub_Name cluster) (EscapedLiteralPart token:<Lit_EscapedChar "\\\"">) (")].cluster.server}")
                                  )
                                }
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [2435 2459]
                      )
                    }
                  spids: [2434]
                )
              ]
              spids: [2434]
            )
          ]
          spids: [2334]
        )
      spids: [2328 2333]
    )
    (FuncDef
      name: set_binary_version
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_EqualTilde
                              left: {(DQ (${ VSub_Number 1))}
                              right: {(DQ (/))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(read)} {(-a)} {(path)}]
                      redirects: [
                        (Redir
                          op_id: Redir_TLess
                          fd: -1
                          arg_word: {(DQ (${ VSub_Number 1))}
                          spids: [2539]
                        )
                      ]
                      more_env: [(env_pair name:IFS val:{(SQ </>)} spids:[2528])]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name path>
                                              bracket_op: 
                                                (ArrayIndex
                                                  expr: (ArithWord w:{(Lit_Digits 0)})
                                                )
                                              spids: [2553 2558]
                                            )
                                          )
                                        }
                                      right: {(DQ (release))}
                                    )
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:KUBE_VERSION)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(gsutil)} {(cat)} 
                                                {
                                                  (DQ ("gs://kubernetes-release/") (${ VSub_Number 1) 
                                                    (.txt)
                                                  )
                                                }
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub "$(">
                                        spids: [2574 2586]
                                      )
                                    }
                                  spids: [2573]
                                )
                              ]
                              spids: [2573]
                            )
                          ]
                          spids: [-1 2570]
                        )
                      ]
                      else_action: [
                        (Assignment
                          keyword: Assign_None
                          pairs: [
                            (assign_pair
                              lhs: (LhsName name:KUBE_VERSION)
                              op: Equal
                              rhs: 
                                {
                                  (CommandSubPart
                                    command_list: 
                                      (CommandList
                                        children: [
                                          (C {(gsutil)} {(cat)} 
                                            {
                                              (DQ ("gs://kubernetes-release-dev/") (${ VSub_Number 1) 
                                                (.txt)
                                              )
                                            }
                                          )
                                        ]
                                      )
                                    left_token: <Left_CommandSub "$(">
                                    spids: [2593 2605]
                                  )
                                }
                              spids: [2592]
                            )
                          ]
                          spids: [2592]
                        )
                      ]
                      spids: [2589 2608]
                    )
                  ]
                  spids: [-1 2525]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:KUBE_VERSION)
                      op: Equal
                      rhs: {(${ VSub_Number 1)}
                      spids: [2614]
                    )
                  ]
                  spids: [2614]
                )
              ]
              spids: [2611 2620]
            )
          ]
          spids: [2503]
        )
      spids: [2497 2502]
    )
    (FuncDef
      name: tars_from_version
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:sha1sum) op:Equal rhs:{(DQ )} spids:[2678])]
              spids: [2676]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (SimpleCommand
                          words: [{(which)} {(sha1sum)}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: -1
                              arg_word: {(/dev/null)}
                              spids: [2689]
                            )
                            (Redir
                              op_id: Redir_GreatAnd
                              fd: 2
                              arg_word: {(1)}
                              spids: [2692]
                            )
                          ]
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:sha1sum)
                          op: Equal
                          rhs: {(DQ (sha1sum))}
                          spids: [2699]
                        )
                      ]
                      spids: [2699]
                    )
                  ]
                  spids: [-1 2696]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:sha1sum)
                      op: Equal
                      rhs: {(DQ ("shasum -a1"))}
                      spids: [2708]
                    )
                  ]
                  spids: [2708]
                )
              ]
              spids: [2705 2714]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_z
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name KUBE_VERSION>
                                      suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(SQ )})
                                      spids: [2725 2728]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(find-release-tars)}) (C {(upload-server-tars)})]
                  spids: [-1 2734]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_EqualTilde
                              left: {(${ VSub_Name KUBE_VERSION)}
                              right: {(${ VSub_Name KUBE_RELEASE_VERSION_REGEX)}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:SERVER_BINARY_TAR_URL)
                          op: Equal
                          rhs: 
                            {
                              (DQ ("https://storage.googleapis.com/kubernetes-release/release/") 
                                (${ VSub_Name KUBE_VERSION) (/kubernetes-server-linux-amd64.tar.gz)
                              )
                            }
                          spids: [2763]
                        )
                      ]
                      spids: [2763]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:SALT_TAR_URL)
                          op: Equal
                          rhs: 
                            {
                              (DQ ("https://storage.googleapis.com/kubernetes-release/release/") 
                                (${ VSub_Name KUBE_VERSION) (/kubernetes-salt.tar.gz)
                              )
                            }
                          spids: [2773]
                        )
                      ]
                      spids: [2773]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:KUBE_MANIFESTS_TAR_URL)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name SERVER_BINARY_TAR_URL>
                                  suffix_op: 
                                    (PatSub
                                      pat: {(server-linux-amd64)}
                                      replace: {(manifests)}
                                      do_all: False
                                      do_prefix: False
                                      do_suffix: False
                                    )
                                  spids: [2789 2795]
                                )
                              )
                            }
                          spids: [2787]
                        )
                      ]
                      spids: [2787]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:KUBE_MANIFESTS_TAR_HASH)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(curl)} {(${ VSub_Name KUBE_MANIFESTS_TAR_URL)} 
                                            {(--silent)} {(--show-error)}
                                          )
                                          (C {(${ VSub_Name sha1sum)})
                                          (C {(awk)} {(SQ <"{print $1}">)})
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub "$(">
                                spids: [2800 2824]
                              )
                            }
                          spids: [2799]
                        )
                      ]
                      spids: [2799]
                    )
                  ]
                  spids: [2743 2760]
                )
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_EqualTilde
                              left: {(${ VSub_Name KUBE_VERSION)}
                              right: {(${ VSub_Name KUBE_CI_VERSION_REGEX)}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:SERVER_BINARY_TAR_URL)
                          op: Equal
                          rhs: 
                            {
                              (DQ ("https://storage.googleapis.com/kubernetes-release-dev/ci/") 
                                (${ VSub_Name KUBE_VERSION) (/kubernetes-server-linux-amd64.tar.gz)
                              )
                            }
                          spids: [2847]
                        )
                      ]
                      spids: [2847]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:SALT_TAR_URL)
                          op: Equal
                          rhs: 
                            {
                              (DQ ("https://storage.googleapis.com/kubernetes-release-dev/ci/") 
                                (${ VSub_Name KUBE_VERSION) (/kubernetes-salt.tar.gz)
                              )
                            }
                          spids: [2857]
                        )
                      ]
                      spids: [2857]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:KUBE_MANIFESTS_TAR_URL)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (BracedVarSub
                                  token: <VSub_Name SERVER_BINARY_TAR_URL>
                                  suffix_op: 
                                    (PatSub
                                      pat: {(server-linux-amd64)}
                                      replace: {(manifests)}
                                      do_all: False
                                      do_prefix: False
                                      do_suffix: False
                                    )
                                  spids: [2873 2879]
                                )
                              )
                            }
                          spids: [2871]
                        )
                      ]
                      spids: [2871]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:KUBE_MANIFESTS_TAR_HASH)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (Pipeline
                                        children: [
                                          (C {(curl)} {(${ VSub_Name KUBE_MANIFESTS_TAR_URL)} 
                                            {(--silent)} {(--show-error)}
                                          )
                                          (C {(${ VSub_Name sha1sum)})
                                          (C {(awk)} {(SQ <"{print $1}">)})
                                        ]
                                        negated: False
                                      )
                                    ]
                                  )
                                left_token: <Left_CommandSub "$(">
                                spids: [2884 2908]
                              )
                            }
                          spids: [2883]
                        )
                      ]
                      spids: [2883]
                    )
                  ]
                  spids: [2827 2844]
                )
              ]
              else_action: [
                (SimpleCommand
                  words: [{(echo)} {(DQ ("Version doesn't match regexp"))}]
                  redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[2920])]
                )
                (C {(exit)} {(1)})
              ]
              spids: [2911 2929]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Pipeline
                          children: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:SERVER_BINARY_TAR_HASH)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(curl)} {(-Ss)} {(--fail)} 
                                                {(DQ (${ VSub_Name SERVER_BINARY_TAR_URL) (.sha1))}
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub "$(">
                                        spids: [2937 2950]
                                      )
                                    }
                                  spids: [2936]
                                )
                              ]
                              spids: [2936]
                            )
                          ]
                          negated: True
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(echo)} {(DQ ("Failure trying to curl release .sha1"))})]
                  spids: [-1 2953]
                )
              ]
              spids: [-1 2963]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Pipeline
                          children: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:SALT_TAR_HASH)
                                  op: Equal
                                  rhs: 
                                    {
                                      (CommandSubPart
                                        command_list: 
                                          (CommandList
                                            children: [
                                              (C {(curl)} {(-Ss)} {(--fail)} 
                                                {(DQ (${ VSub_Name SALT_TAR_URL) (.sha1))}
                                              )
                                            ]
                                          )
                                        left_token: <Left_CommandSub "$(">
                                        spids: [2971 2984]
                                      )
                                    }
                                  spids: [2970]
                                )
                              ]
                              spids: [2970]
                            )
                          ]
                          negated: True
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(echo)} {(DQ ("Failure trying to curl Salt tar .sha1"))})]
                  spids: [-1 2987]
                )
              ]
              spids: [-1 2997]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Pipeline
                          children: [
                            (SimpleCommand
                              words: [
                                {(curl)}
                                {(-Ss)}
                                {(--head)}
                                {(DQ (${ VSub_Name SERVER_BINARY_TAR_URL))}
                              ]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: -1
                                  arg_word: {(/dev/null)}
                                  spids: [3017]
                                )
                              ]
                            )
                          ]
                          negated: True
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [
                        {(echo)}
                        {(DQ ("Can't find release at ") (${ VSub_Name SERVER_BINARY_TAR_URL))}
                      ]
                      redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[3033])]
                    )
                    (C {(exit)} {(1)})
                  ]
                  spids: [-1 3021]
                )
              ]
              spids: [-1 3042]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Pipeline
                          children: [
                            (SimpleCommand
                              words: [{(curl)} {(-Ss)} {(--head)} {(DQ (${ VSub_Name SALT_TAR_URL))}]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: -1
                                  arg_word: {(/dev/null)}
                                  spids: [3061]
                                )
                              ]
                            )
                          ]
                          negated: True
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(echo)} {(DQ ("Can't find Salt tar at ") (${ VSub_Name SALT_TAR_URL))}]
                      redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[3077])]
                    )
                    (C {(exit)} {(1)})
                  ]
                  spids: [-1 3065]
                )
              ]
              spids: [-1 3086]
            )
          ]
          spids: [2673]
        )
      spids: [2667 2672]
    )
    (FuncDef
      name: find-tar
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:tarball)
                  op: Equal
                  rhs: {($ VSub_Number "$1")}
                  spids: [3128]
                )
              ]
              spids: [3124]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:locations)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {(DQ (${ VSub_Name KUBE_ROOT) (/server/) (${ VSub_Name tarball))}
                          {
                            (DQ (${ VSub_Name KUBE_ROOT) (/_output/release-tars/) 
                              (${ VSub_Name tarball)
                            )
                          }
                          {
                            (DQ (${ VSub_Name KUBE_ROOT) (/bazel-bin/build/release-tars/) 
                              (${ VSub_Name tarball)
                            )
                          }
                        ]
                      )
                    }
                  spids: [3132]
                )
              ]
              spids: [3132]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:location)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (Subshell
                                    child: 
                                      (AndOr
                                        children: [
                                          (SimpleCommand
                                            words: [
                                              {(ls)}
                                              {(-t)}
                                              {
                                                (DQ 
                                                  (BracedVarSub
                                                    token: <VSub_Name locations>
                                                    bracket_op: (WholeArray op_id:Lit_At)
                                                    spids: [3181 3186]
                                                  )
                                                )
                                              }
                                            ]
                                            redirects: [
                                              (Redir
                                                op_id: Redir_Great
                                                fd: 2
                                                arg_word: {(/dev/null)}
                                                spids: [3189]
                                              )
                                            ]
                                          )
                                          (C {(true)})
                                        ]
                                        op_id: Op_DPipe
                                      )
                                    spids: [3175 3195]
                                  )
                                  (C {(head)} {(-1)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [3173 3203]
                      )
                    }
                  spids: [3172]
                )
              ]
              spids: [3172]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalNot
                              child: (BoolUnary op_id:BoolUnary_f child:{(DQ (${ VSub_Name location))})
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(echo)} {(DQ ("!!! Cannot find ") (${ VSub_Name tarball))}]
                      redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[3236])]
                    )
                    (C {(exit)} {(1)})
                  ]
                  spids: [-1 3224]
                )
              ]
              spids: [-1 3245]
            )
            (C {(echo)} {(DQ (${ VSub_Name location))})
          ]
          spids: [3121]
        )
      spids: [3115 3120]
    )
    (FuncDef
      name: find-release-tars
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:SERVER_BINARY_TAR)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(find-tar)} {(kubernetes-server-linux-amd64.tar.gz)})]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [3293 3297]
                      )
                    }
                  spids: [3292]
                )
              ]
              spids: [3292]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:SALT_TAR)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(find-tar)} {(kubernetes-salt.tar.gz)})]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [3301 3305]
                      )
                    }
                  spids: [3300]
                )
              ]
              spids: [3300]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_MANIFESTS_TAR)
                  op: Equal
                  rhs: {(SQ )}
                  spids: [3313]
                )
              ]
              spids: [3313]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (DBracket
                              expr: 
                                (LogicalOr
                                  left: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name MASTER_OS_DISTRIBUTION>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                              spids: [3321 3324]
                                            )
                                          )
                                        }
                                      right: {(DQ (trusty))}
                                    )
                                  right: 
                                    (LogicalOr
                                      left: 
                                        (BoolBinary
                                          op_id: BoolBinary_GlobDEqual
                                          left: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Name MASTER_OS_DISTRIBUTION>
                                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                                  spids: [3336 3339]
                                                )
                                              )
                                            }
                                          right: {(DQ (gci))}
                                        )
                                      right: 
                                        (LogicalOr
                                          left: 
                                            (BoolBinary
                                              op_id: BoolBinary_GlobDEqual
                                              left: 
                                                {
                                                  (DQ 
                                                    (BracedVarSub
                                                      token: <VSub_Name MASTER_OS_DISTRIBUTION>
                                                      suffix_op: 
                                                        (StringUnary
                                                          op_id: VTest_ColonHyphen
                                                          arg_word: {(SQ )}
                                                        )
                                                      spids: [3351 3354]
                                                    )
                                                  )
                                                }
                                              right: {(DQ (container-linux))}
                                            )
                                          right: 
                                            (BoolBinary
                                              op_id: BoolBinary_GlobDEqual
                                              left: 
                                                {
                                                  (DQ 
                                                    (BracedVarSub
                                                      token: <VSub_Name MASTER_OS_DISTRIBUTION>
                                                      suffix_op: 
                                                        (StringUnary
                                                          op_id: VTest_ColonHyphen
                                                          arg_word: {(SQ )}
                                                        )
                                                      spids: [3366 3369]
                                                    )
                                                  )
                                                }
                                              right: {(DQ (ubuntu))}
                                            )
                                        )
                                    )
                                )
                            )
                            (DBracket
                              expr: 
                                (LogicalOr
                                  left: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: 
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name NODE_OS_DISTRIBUTION>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                              spids: [3387 3390]
                                            )
                                          )
                                        }
                                      right: {(DQ (trusty))}
                                    )
                                  right: 
                                    (LogicalOr
                                      left: 
                                        (BoolBinary
                                          op_id: BoolBinary_GlobDEqual
                                          left: 
                                            {
                                              (DQ 
                                                (BracedVarSub
                                                  token: <VSub_Name NODE_OS_DISTRIBUTION>
                                                  suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                                  spids: [3402 3405]
                                                )
                                              )
                                            }
                                          right: {(DQ (gci))}
                                        )
                                      right: 
                                        (LogicalOr
                                          left: 
                                            (BoolBinary
                                              op_id: BoolBinary_GlobDEqual
                                              left: 
                                                {
                                                  (DQ 
                                                    (BracedVarSub
                                                      token: <VSub_Name NODE_OS_DISTRIBUTION>
                                                      suffix_op: 
                                                        (StringUnary
                                                          op_id: VTest_ColonHyphen
                                                          arg_word: {(SQ )}
                                                        )
                                                      spids: [3417 3420]
                                                    )
                                                  )
                                                }
                                              right: {(DQ (container-linux))}
                                            )
                                          right: 
                                            (BoolBinary
                                              op_id: BoolBinary_GlobDEqual
                                              left: 
                                                {
                                                  (DQ 
                                                    (BracedVarSub
                                                      token: <VSub_Name NODE_OS_DISTRIBUTION>
                                                      suffix_op: 
                                                        (StringUnary
                                                          op_id: VTest_ColonHyphen
                                                          arg_word: {(SQ )}
                                                        )
                                                      spids: [3432 3435]
                                                    )
                                                  )
                                                }
                                              right: {(DQ (ubuntu))}
                                            )
                                        )
                                    )
                                )
                            )
                          ]
                          op_id: Op_DPipe
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:KUBE_MANIFESTS_TAR)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(find-tar)} {(kubernetes-manifests.tar.gz)})]
                                  )
                                left_token: <Left_CommandSub "$(">
                                spids: [3452 3456]
                              )
                            }
                          spids: [3451]
                        )
                      ]
                      spids: [3451]
                    )
                  ]
                  spids: [-1 3448]
                )
              ]
              spids: [-1 3459]
            )
          ]
          spids: [3289]
        )
      spids: [3283 3288]
    )
    (FuncDef
      name: find-release-version
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_GIT_VERSION)
                  op: Equal
                  rhs: {(DQ )}
                  spids: [3491]
                )
              ]
              spids: [3491]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_f
                              child: {(DQ (${ VSub_Name KUBE_ROOT) (/version))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:KUBE_GIT_VERSION)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [(C {(cat)} {(${ VSub_Name KUBE_ROOT) (/version)})]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [3517 3524]
                                )
                              )
                            }
                          spids: [3515]
                        )
                      ]
                      spids: [3515]
                    )
                  ]
                  spids: [-1 3512]
                )
              ]
              spids: [-1 3528]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_f
                              child: 
                                {
                                  (DQ (${ VSub_Name KUBE_ROOT) 
                                    (/_output/release-stage/full/kubernetes/version)
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:KUBE_GIT_VERSION)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(cat)} 
                                          {(${ VSub_Name KUBE_ROOT) 
                                            (/_output/release-stage/full/kubernetes/version)
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [3552 3559]
                                )
                              )
                            }
                          spids: [3550]
                        )
                      ]
                      spids: [3550]
                    )
                  ]
                  spids: [-1 3547]
                )
              ]
              spids: [-1 3563]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_z
                              child: {(DQ (${ VSub_Name KUBE_GIT_VERSION))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(echo)} {(DQ ("!!! Cannot find release version"))}) (C {(exit)} {(1)})]
                  spids: [-1 3582]
                )
              ]
              spids: [-1 3597]
            )
          ]
          spids: [3488]
        )
      spids: [3482 3487]
    )
    (FuncDef
      name: stage-images
      body: 
        (BraceGroup
          children: [
            (C {(find-release-version)})
            (C {(find-release-tars)})
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_IMAGE_TAG)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (Pipeline
                                  children: [
                                    (C {(echo)} {(DQ ) (DQ (${ VSub_Name KUBE_GIT_VERSION)) (DQ )})
                                    (C {(sed)} {(SQ <"s/+/-/g">)})
                                  ]
                                  negated: False
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [3620 3640]
                        )
                      )
                    }
                  spids: [3618]
                )
              ]
              spids: [3618]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:docker_wrapped_binaries)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {(DQ (kube-apiserver))}
                          {(DQ (kube-controller-manager))}
                          {(DQ (kube-scheduler))}
                          {(DQ (kube-proxy))}
                        ]
                      )
                    }
                  spids: [3647]
                )
              ]
              spids: [3645]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:docker_cmd)
                  op: Equal
                  rhs: {(ArrayLiteralPart words:[{(DQ (docker))}])}
                  spids: [3677]
                )
              ]
              spids: [3675]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {(DQ (${ VSub_Name KUBE_DOCKER_REGISTRY))}
                              right: {(DQ (gcr.io/)) (Lit_Other "*")}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:docker_push_cmd)
                          op: Equal
                          rhs: {(ArrayLiteralPart words:[{(DQ (gcloud))}{(DQ (docker))}])}
                          spids: [3711]
                        )
                      ]
                      spids: [3709]
                    )
                  ]
                  spids: [-1 3706]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:docker_push_cmd)
                      op: Equal
                      rhs: 
                        {
                          (ArrayLiteralPart
                            words: [
                              {
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name docker_cmd>
                                    bracket_op: (WholeArray op_id:Lit_At)
                                    spids: [3731 3736]
                                  )
                                )
                              }
                            ]
                          )
                        }
                      spids: [3728]
                    )
                  ]
                  spids: [3726]
                )
              ]
              spids: [3723 3741]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:temp_dir)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [(C {(mktemp)} {(-d)} {(-t)} {(SQ <kube-server-XXXX>)})]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [3749 3759]
                        )
                      )
                    }
                  spids: [3747]
                )
              ]
              spids: [3745]
            )
            (Sentence
              child: 
                (C {(tar)} {(xzfv)} {(DQ (${ VSub_Name SERVER_BINARY_TAR))} {(-C)} 
                  {(DQ (${ VSub_Name temp_dir))}
                )
              terminator: <Op_Amp "&">
            )
            (SimpleCommand
              redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[3783])]
            )
            (ForEach
              iter_name: binary
              iter_words: [
                {
                  (DQ 
                    (BracedVarSub
                      token: <VSub_Name docker_wrapped_binaries>
                      bracket_op: (WholeArray op_id:Lit_At)
                      spids: [3796 3801]
                    )
                  )
                }
              ]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:docker_tag)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(cat)} 
                                          {(${ VSub_Name temp_dir) (/kubernetes/server/bin/) 
                                            (${ VSub_Name binary) (.docker_tag)
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [3812 3823]
                                )
                              )
                            }
                          spids: [3810]
                        )
                      ]
                      spids: [3808]
                    )
                    (Sentence
                      child: 
                        (Subshell
                          child: 
                            (CommandList
                              children: [
                                (C 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name docker_cmd>
                                        bracket_op: (WholeArray op_id:Lit_At)
                                        spids: [3831 3836]
                                      )
                                    )
                                  } {(load)} {(-i)} {(DQ (${ VSub_Name temp_dir) (/kubernetes/server/bin/) (${ VSub_Name binary) (.tar))}
                                )
                                (AndOr
                                  children: [
                                    (SimpleCommand
                                      words: [
                                        {
                                          (DQ 
                                            (BracedVarSub
                                              token: <VSub_Name docker_cmd>
                                              bracket_op: (WholeArray op_id:Lit_At)
                                              spids: [3856 3861]
                                            )
                                          )
                                        }
                                        {(rmi)}
                                        {
                                          (DQ (${ VSub_Name KUBE_DOCKER_REGISTRY) (/) 
                                            (${ VSub_Name binary) (":") (${ VSub_Name KUBE_IMAGE_TAG)
                                          )
                                        }
                                      ]
                                      redirects: [
                                        (Redir
                                          op_id: Redir_Great
                                          fd: 2
                                          arg_word: {(/dev/null)}
                                          spids: [3880]
                                        )
                                      ]
                                    )
                                    (C {(true)})
                                  ]
                                  op_id: Op_DPipe
                                )
                                (C 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name docker_cmd>
                                        bracket_op: (WholeArray op_id:Lit_At)
                                        spids: [3889 3894]
                                      )
                                    )
                                  } {(tag)} {(DQ (gcr.io/google_containers/) (${ VSub_Name binary) (":") (${ VSub_Name docker_tag))} 
                                  {
                                    (DQ (${ VSub_Name KUBE_DOCKER_REGISTRY) (/) (${ VSub_Name binary) 
                                      (":") (${ VSub_Name KUBE_IMAGE_TAG)
                                    )
                                  }
                                )
                                (C 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name docker_push_cmd>
                                        bracket_op: (WholeArray op_id:Lit_At)
                                        spids: [3926 3931]
                                      )
                                    )
                                  } {(push)} 
                                  {
                                    (DQ (${ VSub_Name KUBE_DOCKER_REGISTRY) (/) (${ VSub_Name binary) 
                                      (":") (${ VSub_Name KUBE_IMAGE_TAG)
                                    )
                                  }
                                )
                              ]
                            )
                          spids: [3827 3951]
                        )
                      terminator: <Op_Amp "&">
                    )
                    (Sentence
                      child: 
                        (SimpleCommand
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: -1
                              arg_word: 
                                {(DQ (${ VSub_Name temp_dir) (/) (${ VSub_Name binary) (-push.log))}
                              spids: [3954]
                            )
                          ]
                        )
                      terminator: <Op_Amp "&">
                    )
                  ]
                  spids: [3805 3970]
                )
              spids: [3794 3803]
            )
            (AndOr
              children: [
                (C 
                  {(kube) (Lit_Other ":") (Lit_Other ":") (util) (Lit_Other ":") (Lit_Other ":") 
                    (wait-for-jobs)
                  }
                )
                (BraceGroup
                  children: [
                    (C 
                      {(kube) (Lit_Other ":") (Lit_Other ":") (log) (Lit_Other ":") (Lit_Other ":") 
                        (error)
                      } {(DQ ("unable to push images. See ") (${ VSub_Name temp_dir) ("/*.log for more info."))}
                    )
                    (ControlFlow token:<ControlFlow_Return return> arg_word:{(1)})
                  ]
                  spids: [3984]
                )
              ]
              op_id: Op_DPipe
            )
            (C {(rm)} {(-rf)} {(DQ (${ VSub_Name temp_dir))})
            (ControlFlow token:<ControlFlow_Return return> arg_word:{(0)})
          ]
          spids: [3608]
        )
      spids: [3602 3607]
    )
    (FuncDef
      name: yaml-quote
      body: 
        (BraceGroup
          children: [
            (C {(echo)} 
              {
                (DQ ("'") 
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (Pipeline
                            children: [
                              (C {(echo)} 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_At "@">
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [4061 4064]
                                    )
                                  )
                                }
                              )
                              (C {(sed)} {(-e)} {(DQ ("s/'/''/g"))})
                            ]
                            negated: False
                          )
                        ]
                      )
                    left_token: <Left_CommandSub "$(">
                    spids: [4057 4076]
                  ) ("'")
                )
              }
            )
          ]
          spids: [4050]
        )
      spids: [4046 4049]
    )
    (FuncDef
      name: build-runtime-config
      body: (BraceGroup children:[(C {(Lit_Other ":")})] spids:[4095])
      spids: [4089 4094]
    )
    (FuncDef
      name: write-cluster-name
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {(DQ (${ VSub_Name KUBE_TEMP) (/cluster-name.txt))}
                  spids: [4125]
                )
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: {(DQ (${ VSub_Name CLUSTER_NAME) ("\n"))}
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [4133]
                )
              ]
            )
          ]
          spids: [4120]
        )
      spids: [4116 4119]
    )
    (FuncDef
      name: write-master-env
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalAnd
                              left: 
                                (BoolBinary
                                  op_id: BoolBinary_GlobDEqual
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name REGISTER_MASTER_KUBELET>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [4164 4167]
                                        )
                                      )
                                    }
                                  right: {(DQ (true))}
                                )
                              right: 
                                (BoolUnary
                                  op_id: BoolUnary_z
                                  child: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name KUBELET_APISERVER>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                          spids: [4181 4184]
                                        )
                                      )
                                    }
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:KUBELET_APISERVER)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name MASTER_NAME))}
                          spids: [4193]
                        )
                      ]
                      spids: [4193]
                    )
                  ]
                  spids: [-1 4190]
                )
              ]
              spids: [-1 4201]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_z
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name KUBERNETES_MASTER_NAME>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [4211 4214]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:KUBERNETES_MASTER_NAME)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name MASTER_NAME))}
                          spids: [4223]
                        )
                      ]
                      spids: [4223]
                    )
                  ]
                  spids: [-1 4220]
                )
              ]
              spids: [-1 4231]
            )
            (C {(build-kube-env)} {(true)} {(DQ (${ VSub_Name KUBE_TEMP) (/master-kube-env.yaml))})
            (C {(build-kube-master-certs)} {(DQ (${ VSub_Name KUBE_TEMP) (/kube-master-certs.yaml))})
          ]
          spids: [4148]
        )
      spids: [4144 4147]
    )
    (FuncDef
      name: write-node-env
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_z
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name KUBERNETES_MASTER_NAME>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [4273 4276]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:KUBERNETES_MASTER_NAME)
                          op: Equal
                          rhs: {(DQ (${ VSub_Name MASTER_NAME))}
                          spids: [4285]
                        )
                      ]
                      spids: [4285]
                    )
                  ]
                  spids: [-1 4282]
                )
              ]
              spids: [-1 4293]
            )
            (C {(build-kube-env)} {(false)} {(DQ (${ VSub_Name KUBE_TEMP) (/node-kube-env.yaml))})
          ]
          spids: [4263]
        )
      spids: [4259 4262]
    )
    (FuncDef
      name: build-kube-master-certs
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:file)
                  op: Equal
                  rhs: {($ VSub_Number "$1")}
                  spids: [4320]
                )
              ]
              spids: [4318]
            )
            (C {(rm)} {(-f)} {(${ VSub_Name file)})
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {($ VSub_Name "$file")}
                  spids: [4335]
                )
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {
                      (DQ ("KUBEAPISERVER_CERT: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name KUBEAPISERVER_CERT_BASE64>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [4345 4348]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4342 4349]
                        ) ("\n") ("KUBEAPISERVER_KEY: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name KUBEAPISERVER_KEY_BASE64>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [4355 4358]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4352 4359]
                        ) ("\n") ("CA_KEY: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name CA_KEY_BASE64>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [4365 4368]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4362 4369]
                        ) ("\n") ("AGGREGATOR_CA_KEY: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name AGGREGATOR_CA_KEY_BASE64>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [4375 4378]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4372 4379]
                        ) ("\n") ("REQUESTHEADER_CA_CERT: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name REQUESTHEADER_CA_CERT_BASE64>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [4385 4388]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4382 4389]
                        ) ("\n") ("PROXY_CLIENT_CERT: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name PROXY_CLIENT_CERT_BASE64>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [4395 4398]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4392 4399]
                        ) ("\n") ("PROXY_CLIENT_KEY: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name PROXY_CLIENT_KEY_BASE64>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [4405 4408]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4402 4409]
                        ) ("\n")
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [4338]
                )
              ]
            )
          ]
          spids: [4315]
        )
      spids: [4311 4314]
    )
    (FuncDef
      name: build-kube-env
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:master)
                  op: Equal
                  rhs: {($ VSub_Number "$1")}
                  spids: [4426]
                )
              ]
              spids: [4424]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:file)
                  op: Equal
                  rhs: {($ VSub_Number "$2")}
                  spids: [4432]
                )
              ]
              spids: [4430]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:server_binary_tar_url)
                  op: Equal
                  rhs: {($ VSub_Name "$SERVER_BINARY_TAR_URL")}
                  spids: [4439]
                )
              ]
              spids: [4437]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:salt_tar_url)
                  op: Equal
                  rhs: {($ VSub_Name "$SALT_TAR_URL")}
                  spids: [4445]
                )
              ]
              spids: [4443]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:kube_manifests_tar_url)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (BracedVarSub
                          token: <VSub_Name KUBE_MANIFESTS_TAR_URL>
                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                          spids: [4453 4456]
                        )
                      )
                    }
                  spids: [4451]
                )
              ]
              spids: [4449]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (DBracket
                              expr: 
                                (LogicalAnd
                                  left: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: {(DQ (${ VSub_Name master))}
                                      right: {(DQ (true))}
                                    )
                                  right: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: {(DQ (${ VSub_Name MASTER_OS_DISTRIBUTION))}
                                      right: {(DQ (container-linux))}
                                    )
                                )
                            )
                            (AndOr
                              children: [
                                (DBracket
                                  expr: 
                                    (LogicalAnd
                                      left: 
                                        (BoolBinary
                                          op_id: BoolBinary_GlobDEqual
                                          left: {(DQ (${ VSub_Name master))}
                                          right: {(DQ (false))}
                                        )
                                      right: 
                                        (BoolBinary
                                          op_id: BoolBinary_GlobDEqual
                                          left: {(DQ (${ VSub_Name NODE_OS_DISTRIBUTION))}
                                          right: {(DQ (container-linux))}
                                        )
                                    )
                                )
                                (AndOr
                                  children: [
                                    (DBracket
                                      expr: 
                                        (LogicalAnd
                                          left: 
                                            (BoolBinary
                                              op_id: BoolBinary_GlobDEqual
                                              left: {(DQ (${ VSub_Name master))}
                                              right: {(DQ (true))}
                                            )
                                          right: 
                                            (BoolBinary
                                              op_id: BoolBinary_GlobDEqual
                                              left: {(DQ (${ VSub_Name MASTER_OS_DISTRIBUTION))}
                                              right: {(DQ (ubuntu))}
                                            )
                                        )
                                    )
                                    (DBracket
                                      expr: 
                                        (LogicalAnd
                                          left: 
                                            (BoolBinary
                                              op_id: BoolBinary_GlobDEqual
                                              left: {(DQ (${ VSub_Name master))}
                                              right: {(DQ (false))}
                                            )
                                          right: 
                                            (BoolBinary
                                              op_id: BoolBinary_GlobDEqual
                                              left: {(DQ (${ VSub_Name NODE_OS_DISTRIBUTION))}
                                              right: {(DQ (ubuntu))}
                                            )
                                        )
                                    )
                                  ]
                                  op_id: Op_DPipe
                                )
                              ]
                              op_id: Op_DPipe
                            )
                          ]
                          op_id: Op_DPipe
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:server_binary_tar_url)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(split_csv)} {(DQ (${ VSub_Name SERVER_BINARY_TAR_URL))})
                                    ]
                                  )
                                left_token: <Left_CommandSub "$(">
                                spids: [4604 4612]
                              )
                            }
                          spids: [4603]
                        )
                      ]
                      spids: [4603]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:salt_tar_url)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(split_csv)} {(DQ (${ VSub_Name SALT_TAR_URL))})]
                                  )
                                left_token: <Left_CommandSub "$(">
                                spids: [4616 4624]
                              )
                            }
                          spids: [4615]
                        )
                      ]
                      spids: [4615]
                    )
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:kube_manifests_tar_url)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [
                                      (C {(split_csv)} {(DQ (${ VSub_Name KUBE_MANIFESTS_TAR_URL))})
                                    ]
                                  )
                                left_token: <Left_CommandSub "$(">
                                spids: [4628 4636]
                              )
                            }
                          spids: [4627]
                        )
                      ]
                      spids: [4627]
                    )
                  ]
                  spids: [-1 4596]
                )
              ]
              spids: [-1 4639]
            )
            (C {(build-runtime-config)})
            (C {(gen-uid)})
            (C {(rm)} {(-f)} {(${ VSub_Name file)})
            (SimpleCommand
              words: [{(cat)}]
              redirects: [
                (Redir
                  op_id: Redir_Great
                  fd: -1
                  arg_word: {($ VSub_Name "$file")}
                  spids: [4661]
                )
                (HereDoc
                  op_id: Redir_DLess
                  fd: -1
                  body: 
                    {
                      (DQ ("CLUSTER_NAME: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [(C {(yaml-quote)} {(${ VSub_Name CLUSTER_NAME)})]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4668 4674]
                        ) ("\n") ("ENV_TIMESTAMP: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (C {(date)} {(-u)} 
                                              {(Lit_Other "+") (Lit_Other "%") (Y-) (Lit_Other "%") 
                                                (m-) (Lit_Other "%") (dT) (Lit_Other "%") (T) (Lit_Other "%") (z)
                                              }
                                            )
                                          ]
                                        )
                                      left_token: <Left_CommandSub "$(">
                                      spids: [4680 4696]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4677 4697]
                        ) ("\n") ("INSTANCE_PREFIX: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [(C {(yaml-quote)} {(${ VSub_Name INSTANCE_PREFIX)})]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4700 4706]
                        ) ("\n") ("NODE_INSTANCE_PREFIX: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [(C {(yaml-quote)} {(${ VSub_Name NODE_INSTANCE_PREFIX)})]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4709 4715]
                        ) ("\n") ("NODE_TAGS: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name NODE_TAGS>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [4721 4724]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4718 4725]
                        ) ("\n") ("NODE_NETWORK: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name NETWORK>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [4731 4734]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4728 4735]
                        ) ("\n") ("NODE_SUBNETWORK: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name SUBNETWORK>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [4741 4744]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4738 4745]
                        ) ("\n") ("CLUSTER_IP_RANGE: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name CLUSTER_IP_RANGE>
                                      suffix_op: 
                                        (StringUnary
                                          op_id: VTest_ColonHyphen
                                          arg_word: {(10.244.0.0) (Lit_Slash /) (16)}
                                        )
                                      spids: [4751 4757]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4748 4758]
                        ) ("\n") ("SERVER_BINARY_TAR_URL: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [(C {(yaml-quote)} {(${ VSub_Name server_binary_tar_url)})]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4761 4767]
                        ) ("\n") ("SERVER_BINARY_TAR_HASH: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [(C {(yaml-quote)} {(${ VSub_Name SERVER_BINARY_TAR_HASH)})]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4770 4776]
                        ) ("\n") ("PROJECT_ID: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [(C {(yaml-quote)} {(${ VSub_Name PROJECT)})]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4779 4785]
                        ) ("\n") ("NETWORK_PROJECT_ID: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [(C {(yaml-quote)} {(${ VSub_Name NETWORK_PROJECT)})]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4788 4794]
                        ) ("\n") ("SALT_TAR_URL: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [(C {(yaml-quote)} {(${ VSub_Name salt_tar_url)})]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4797 4803]
                        ) ("\n") ("SALT_TAR_HASH: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [(C {(yaml-quote)} {(${ VSub_Name SALT_TAR_HASH)})]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4806 4812]
                        ) ("\n") ("SERVICE_CLUSTER_IP_RANGE: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [(C {(yaml-quote)} {(${ VSub_Name SERVICE_CLUSTER_IP_RANGE)})]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4815 4821]
                        ) ("\n") ("KUBERNETES_MASTER_NAME: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [(C {(yaml-quote)} {(${ VSub_Name KUBERNETES_MASTER_NAME)})]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4824 4830]
                        ) ("\n") ("ALLOCATE_NODE_CIDRS: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name ALLOCATE_NODE_CIDRS>
                                      suffix_op: 
                                        (StringUnary
                                          op_id: VTest_ColonHyphen
                                          arg_word: {(false)}
                                        )
                                      spids: [4836 4840]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4833 4841]
                        ) ("\n") ("ENABLE_CLUSTER_MONITORING: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_CLUSTER_MONITORING>
                                      suffix_op: 
                                        (StringUnary
                                          op_id: VTest_ColonHyphen
                                          arg_word: {(none)}
                                        )
                                      spids: [4847 4851]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4844 4852]
                        ) ("\n") ("ENABLE_METRICS_SERVER: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_METRICS_SERVER>
                                      suffix_op: 
                                        (StringUnary
                                          op_id: VTest_ColonHyphen
                                          arg_word: {(false)}
                                        )
                                      spids: [4858 4862]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4855 4863]
                        ) ("\n") ("DOCKER_REGISTRY_MIRROR_URL: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name DOCKER_REGISTRY_MIRROR_URL>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [4869 4872]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4866 4873]
                        ) ("\n") ("ENABLE_L7_LOADBALANCING: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_L7_LOADBALANCING>
                                      suffix_op: 
                                        (StringUnary
                                          op_id: VTest_ColonHyphen
                                          arg_word: {(none)}
                                        )
                                      spids: [4879 4883]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4876 4884]
                        ) ("\n") ("ENABLE_CLUSTER_LOGGING: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_CLUSTER_LOGGING>
                                      suffix_op: 
                                        (StringUnary
                                          op_id: VTest_ColonHyphen
                                          arg_word: {(false)}
                                        )
                                      spids: [4890 4894]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4887 4895]
                        ) ("\n") ("ENABLE_CLUSTER_UI: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_CLUSTER_UI>
                                      suffix_op: 
                                        (StringUnary
                                          op_id: VTest_ColonHyphen
                                          arg_word: {(false)}
                                        )
                                      spids: [4901 4905]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4898 4906]
                        ) ("\n") ("ENABLE_NODE_PROBLEM_DETECTOR: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_NODE_PROBLEM_DETECTOR>
                                      suffix_op: 
                                        (StringUnary
                                          op_id: VTest_ColonHyphen
                                          arg_word: {(none)}
                                        )
                                      spids: [4912 4916]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4909 4917]
                        ) ("\n") ("NODE_PROBLEM_DETECTOR_VERSION: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name NODE_PROBLEM_DETECTOR_VERSION>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [4923 4926]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4920 4927]
                        ) ("\n") ("NODE_PROBLEM_DETECTOR_TAR_HASH: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name NODE_PROBLEM_DETECTOR_TAR_HASH>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [4933 4936]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4930 4937]
                        ) ("\n") ("ENABLE_NODE_LOGGING: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_NODE_LOGGING>
                                      suffix_op: 
                                        (StringUnary
                                          op_id: VTest_ColonHyphen
                                          arg_word: {(false)}
                                        )
                                      spids: [4943 4947]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4940 4948]
                        ) ("\n") ("ENABLE_RESCHEDULER: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_RESCHEDULER>
                                      suffix_op: 
                                        (StringUnary
                                          op_id: VTest_ColonHyphen
                                          arg_word: {(false)}
                                        )
                                      spids: [4954 4958]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4951 4959]
                        ) ("\n") ("LOGGING_DESTINATION: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name LOGGING_DESTINATION>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [4965 4968]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4962 4969]
                        ) ("\n") ("ELASTICSEARCH_LOGGING_REPLICAS: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name ELASTICSEARCH_LOGGING_REPLICAS>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [4975 4978]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4972 4979]
                        ) ("\n") ("ENABLE_CLUSTER_DNS: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_CLUSTER_DNS>
                                      suffix_op: 
                                        (StringUnary
                                          op_id: VTest_ColonHyphen
                                          arg_word: {(false)}
                                        )
                                      spids: [4985 4989]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4982 4990]
                        ) ("\n") ("ENABLE_CLUSTER_REGISTRY: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_CLUSTER_REGISTRY>
                                      suffix_op: 
                                        (StringUnary
                                          op_id: VTest_ColonHyphen
                                          arg_word: {(false)}
                                        )
                                      spids: [4996 5000]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [4993 5001]
                        ) ("\n") ("CLUSTER_REGISTRY_DISK: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name CLUSTER_REGISTRY_DISK>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [5007 5010]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5004 5011]
                        ) ("\n") ("CLUSTER_REGISTRY_DISK_SIZE: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name CLUSTER_REGISTRY_DISK_SIZE>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [5017 5020]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5014 5021]
                        ) ("\n") ("DNS_SERVER_IP: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name DNS_SERVER_IP>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [5027 5030]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5024 5031]
                        ) ("\n") ("DNS_DOMAIN: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name DNS_DOMAIN>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [5037 5040]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5034 5041]
                        ) ("\n") ("ENABLE_DNS_HORIZONTAL_AUTOSCALER: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_DNS_HORIZONTAL_AUTOSCALER>
                                      suffix_op: 
                                        (StringUnary
                                          op_id: VTest_ColonHyphen
                                          arg_word: {(false)}
                                        )
                                      spids: [5047 5051]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5044 5052]
                        ) ("\n") ("KUBELET_TOKEN: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name KUBELET_TOKEN>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [5058 5061]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5055 5062]
                        ) ("\n") ("KUBE_PROXY_DAEMONSET: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name KUBE_PROXY_DAEMONSET>
                                      suffix_op: 
                                        (StringUnary
                                          op_id: VTest_ColonHyphen
                                          arg_word: {(false)}
                                        )
                                      spids: [5068 5072]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5065 5073]
                        ) ("\n") ("KUBE_PROXY_TOKEN: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name KUBE_PROXY_TOKEN>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [5079 5082]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5076 5083]
                        ) ("\n") ("NODE_PROBLEM_DETECTOR_TOKEN: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name NODE_PROBLEM_DETECTOR_TOKEN>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [5089 5092]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5086 5093]
                        ) ("\n") ("ADMISSION_CONTROL: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name ADMISSION_CONTROL>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [5099 5102]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5096 5103]
                        ) ("\n") ("MASTER_IP_RANGE: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [(C {(yaml-quote)} {(${ VSub_Name MASTER_IP_RANGE)})]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5106 5112]
                        ) ("\n") ("RUNTIME_CONFIG: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [(C {(yaml-quote)} {(${ VSub_Name RUNTIME_CONFIG)})]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5115 5121]
                        ) ("\n") ("CA_CERT: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name CA_CERT_BASE64>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [5127 5130]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5124 5131]
                        ) ("\n") ("KUBELET_CERT: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name KUBELET_CERT_BASE64>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [5137 5140]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5134 5141]
                        ) ("\n") ("KUBELET_KEY: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name KUBELET_KEY_BASE64>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [5147 5150]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5144 5151]
                        ) ("\n") ("NETWORK_PROVIDER: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name NETWORK_PROVIDER>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [5157 5160]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5154 5161]
                        ) ("\n") ("NETWORK_POLICY_PROVIDER: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name NETWORK_POLICY_PROVIDER>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [5167 5170]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5164 5171]
                        ) ("\n") ("PREPULL_E2E_IMAGES: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name PREPULL_E2E_IMAGES>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [5177 5180]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5174 5181]
                        ) ("\n") ("HAIRPIN_MODE: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name HAIRPIN_MODE>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [5187 5190]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5184 5191]
                        ) ("\n") ("SOFTLOCKUP_PANIC: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name SOFTLOCKUP_PANIC>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [5197 5200]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5194 5201]
                        ) ("\n") ("OPENCONTRAIL_TAG: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name OPENCONTRAIL_TAG>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [5207 5210]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5204 5211]
                        ) ("\n") ("OPENCONTRAIL_KUBERNETES_TAG: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name OPENCONTRAIL_KUBERNETES_TAG>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [5217 5220]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5214 5221]
                        ) ("\n") ("OPENCONTRAIL_PUBLIC_SUBNET: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name OPENCONTRAIL_PUBLIC_SUBNET>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [5227 5230]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5224 5231]
                        ) ("\n") ("E2E_STORAGE_TEST_ENVIRONMENT: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name E2E_STORAGE_TEST_ENVIRONMENT>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [5237 5240]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5234 5241]
                        ) ("\n") ("KUBE_IMAGE_TAG: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name KUBE_IMAGE_TAG>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [5247 5250]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5244 5251]
                        ) ("\n") ("KUBE_DOCKER_REGISTRY: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name KUBE_DOCKER_REGISTRY>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [5257 5260]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5254 5261]
                        ) ("\n") ("KUBE_ADDON_REGISTRY: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name KUBE_ADDON_REGISTRY>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [5267 5270]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5264 5271]
                        ) ("\n") ("MULTIZONE: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name MULTIZONE>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [5277 5280]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5274 5281]
                        ) ("\n") ("NON_MASQUERADE_CIDR: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name NON_MASQUERADE_CIDR>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [5287 5290]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5284 5291]
                        ) ("\n") ("KUBE_UID: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name KUBE_UID>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [5297 5300]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5294 5301]
                        ) ("\n") ("ENABLE_DEFAULT_STORAGE_CLASS: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_DEFAULT_STORAGE_CLASS>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [5307 5310]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5304 5311]
                        ) ("\n") ("ENABLE_APISERVER_BASIC_AUDIT: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_APISERVER_BASIC_AUDIT>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [5317 5320]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5314 5321]
                        ) ("\n") ("ENABLE_APISERVER_ADVANCED_AUDIT: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_APISERVER_ADVANCED_AUDIT>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [5327 5330]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5324 5331]
                        ) ("\n") ("ENABLE_CACHE_MUTATION_DETECTOR: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_CACHE_MUTATION_DETECTOR>
                                      suffix_op: 
                                        (StringUnary
                                          op_id: VTest_ColonHyphen
                                          arg_word: {(false)}
                                        )
                                      spids: [5337 5341]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5334 5342]
                        ) ("\n") ("ENABLE_PATCH_CONVERSION_DETECTOR: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_PATCH_CONVERSION_DETECTOR>
                                      suffix_op: 
                                        (StringUnary
                                          op_id: VTest_ColonHyphen
                                          arg_word: {(false)}
                                        )
                                      spids: [5348 5352]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5345 5353]
                        ) ("\n") ("ADVANCED_AUDIT_POLICY: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name ADVANCED_AUDIT_POLICY>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [5359 5362]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5356 5363]
                        ) ("\n") ("ADVANCED_AUDIT_BACKEND: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name ADVANCED_AUDIT_BACKEND>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(log)})
                                      spids: [5369 5373]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5366 5374]
                        ) ("\n") ("GCE_API_ENDPOINT: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name GCE_API_ENDPOINT>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [5380 5383]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5377 5384]
                        ) ("\n") ("PROMETHEUS_TO_SD_ENDPOINT: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name PROMETHEUS_TO_SD_ENDPOINT>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [5390 5393]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5387 5394]
                        ) ("\n") ("PROMETHEUS_TO_SD_PREFIX: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name PROMETHEUS_TO_SD_PREFIX>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [5400 5403]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5397 5404]
                        ) ("\n") ("ENABLE_PROMETHEUS_TO_SD: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_PROMETHEUS_TO_SD>
                                      suffix_op: 
                                        (StringUnary
                                          op_id: VTest_ColonHyphen
                                          arg_word: {(false)}
                                        )
                                      spids: [5410 5414]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5407 5415]
                        ) ("\n") ("ENABLE_POD_PRIORITY: ") 
                        (CommandSubPart
                          command_list: 
                            (CommandList
                              children: [
                                (C {(yaml-quote)} 
                                  {
                                    (BracedVarSub
                                      token: <VSub_Name ENABLE_POD_PRIORITY>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                      spids: [5421 5424]
                                    )
                                  }
                                )
                              ]
                            )
                          left_token: <Left_CommandSub "$(">
                          spids: [5418 5425]
                        ) ("\n")
                      )
                    }
                  do_expansion: True
                  here_end: EOF
                  was_filled: True
                  spids: [4664]
                )
              ]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name KUBELET_PORT>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [5435 5438]
                              )
                            )
                          } {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {($ VSub_Name "$file")}
                          spids: [5449]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("KUBELET_PORT: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [(C {(yaml-quote)} {(${ VSub_Name KUBELET_PORT)})]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [5456 5462]
                                ) ("\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [5452]
                        )
                      ]
                    )
                  ]
                  spids: [-1 5444]
                )
              ]
              spids: [-1 5465]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name KUBE_APISERVER_REQUEST_TIMEOUT>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [5475 5478]
                              )
                            )
                          } {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {($ VSub_Name "$file")}
                          spids: [5489]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("KUBE_APISERVER_REQUEST_TIMEOUT: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} 
                                          {(${ VSub_Name KUBE_APISERVER_REQUEST_TIMEOUT)}
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [5496 5502]
                                ) ("\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [5492]
                        )
                      ]
                    )
                  ]
                  spids: [-1 5484]
                )
              ]
              spids: [-1 5505]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name TERMINATED_POD_GC_THRESHOLD>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [5515 5518]
                              )
                            )
                          } {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {($ VSub_Name "$file")}
                          spids: [5529]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("TERMINATED_POD_GC_THRESHOLD: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} {(${ VSub_Name TERMINATED_POD_GC_THRESHOLD)})
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [5536 5542]
                                ) ("\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [5532]
                        )
                      ]
                    )
                  ]
                  spids: [-1 5524]
                )
              ]
              spids: [-1 5545]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (DBracket
                              expr: 
                                (LogicalOr
                                  left: 
                                    (LogicalAnd
                                      left: 
                                        (BoolBinary
                                          op_id: BoolBinary_GlobDEqual
                                          left: {(DQ (${ VSub_Name master))}
                                          right: {(DQ (true))}
                                        )
                                      right: 
                                        (LogicalOr
                                          left: 
                                            (BoolBinary
                                              op_id: BoolBinary_GlobDEqual
                                              left: {(DQ (${ VSub_Name MASTER_OS_DISTRIBUTION))}
                                              right: {(DQ (trusty))}
                                            )
                                          right: 
                                            (LogicalOr
                                              left: 
                                                (BoolBinary
                                                  op_id: BoolBinary_GlobDEqual
                                                  left: {(DQ (${ VSub_Name MASTER_OS_DISTRIBUTION))}
                                                  right: {(DQ (gci))}
                                                )
                                              right: 
                                                (BoolBinary
                                                  op_id: BoolBinary_GlobDEqual
                                                  left: {(DQ (${ VSub_Name MASTER_OS_DISTRIBUTION))}
                                                  right: {(DQ (container-linux))}
                                                )
                                            )
                                        )
                                    )
                                  right: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: {(DQ (${ VSub_Name MASTER_OS_DISTRIBUTION))}
                                      right: {(DQ (ubuntu))}
                                    )
                                )
                            )
                            (DBracket
                              expr: 
                                (LogicalOr
                                  left: 
                                    (LogicalAnd
                                      left: 
                                        (BoolBinary
                                          op_id: BoolBinary_GlobDEqual
                                          left: {(DQ (${ VSub_Name master))}
                                          right: {(DQ (false))}
                                        )
                                      right: 
                                        (LogicalOr
                                          left: 
                                            (BoolBinary
                                              op_id: BoolBinary_GlobDEqual
                                              left: {(DQ (${ VSub_Name NODE_OS_DISTRIBUTION))}
                                              right: {(DQ (trusty))}
                                            )
                                          right: 
                                            (LogicalOr
                                              left: 
                                                (BoolBinary
                                                  op_id: BoolBinary_GlobDEqual
                                                  left: {(DQ (${ VSub_Name NODE_OS_DISTRIBUTION))}
                                                  right: {(DQ (gci))}
                                                )
                                              right: 
                                                (BoolBinary
                                                  op_id: BoolBinary_GlobDEqual
                                                  left: {(DQ (${ VSub_Name NODE_OS_DISTRIBUTION))}
                                                  right: {(DQ (container-linux))}
                                                )
                                            )
                                        )
                                    )
                                  right: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobEqual
                                      left: {(DQ (${ VSub_Name NODE_OS_DISTRIBUTION))}
                                      right: {(DQ (ubuntu))}
                                    )
                                )
                            )
                          ]
                          op_id: Op_DPipe
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {($ VSub_Name "$file")}
                          spids: [5709]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("KUBE_MANIFESTS_TAR_URL: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} {(${ VSub_Name kube_manifests_tar_url)})
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [5716 5722]
                                ) ("\n") ("KUBE_MANIFESTS_TAR_HASH: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} {(${ VSub_Name KUBE_MANIFESTS_TAR_HASH)})
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [5725 5731]
                                ) ("\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [5712]
                        )
                      ]
                    )
                  ]
                  spids: [-1 5704]
                )
              ]
              spids: [-1 5734]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name TEST_CLUSTER>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [5744 5747]
                              )
                            )
                          } {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {($ VSub_Name "$file")}
                          spids: [5758]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("TEST_CLUSTER: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [(C {(yaml-quote)} {(${ VSub_Name TEST_CLUSTER)})]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [5765 5771]
                                ) ("\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [5761]
                        )
                      ]
                    )
                  ]
                  spids: [-1 5753]
                )
              ]
              spids: [-1 5774]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name KUBELET_TEST_ARGS>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [5784 5787]
                              )
                            )
                          } {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {($ VSub_Name "$file")}
                          spids: [5798]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("KUBELET_TEST_ARGS: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [(C {(yaml-quote)} {(${ VSub_Name KUBELET_TEST_ARGS)})]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [5805 5811]
                                ) ("\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [5801]
                        )
                      ]
                    )
                  ]
                  spids: [-1 5793]
                )
              ]
              spids: [-1 5814]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name NODE_KUBELET_TEST_ARGS>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [5824 5827]
                              )
                            )
                          } {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {($ VSub_Name "$file")}
                          spids: [5838]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("NODE_KUBELET_TEST_ARGS: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} {(${ VSub_Name NODE_KUBELET_TEST_ARGS)})
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [5845 5851]
                                ) ("\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [5841]
                        )
                      ]
                    )
                  ]
                  spids: [-1 5833]
                )
              ]
              spids: [-1 5854]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name MASTER_KUBELET_TEST_ARGS>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [5864 5867]
                              )
                            )
                          } {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {($ VSub_Name "$file")}
                          spids: [5878]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("MASTER_KUBELET_TEST_ARGS: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} {(${ VSub_Name MASTER_KUBELET_TEST_ARGS)})
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [5885 5891]
                                ) ("\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [5881]
                        )
                      ]
                    )
                  ]
                  spids: [-1 5873]
                )
              ]
              spids: [-1 5894]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name KUBELET_TEST_LOG_LEVEL>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [5904 5907]
                              )
                            )
                          } {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {($ VSub_Name "$file")}
                          spids: [5918]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("KUBELET_TEST_LOG_LEVEL: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} {(${ VSub_Name KUBELET_TEST_LOG_LEVEL)})
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [5925 5931]
                                ) ("\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [5921]
                        )
                      ]
                    )
                  ]
                  spids: [-1 5913]
                )
              ]
              spids: [-1 5934]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name DOCKER_TEST_LOG_LEVEL>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [5944 5947]
                              )
                            )
                          } {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {($ VSub_Name "$file")}
                          spids: [5958]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("DOCKER_TEST_LOG_LEVEL: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} {(${ VSub_Name DOCKER_TEST_LOG_LEVEL)})
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [5965 5971]
                                ) ("\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [5961]
                        )
                      ]
                    )
                  ]
                  spids: [-1 5953]
                )
              ]
              spids: [-1 5974]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name DOCKER_LOG_DRIVER>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [5984 5987]
                              )
                            )
                          } {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {($ VSub_Name "$file")}
                          spids: [5998]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("DOCKER_LOG_DRIVER: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [(C {(yaml-quote)} {(${ VSub_Name DOCKER_LOG_DRIVER)})]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [6005 6011]
                                ) ("\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [6001]
                        )
                      ]
                    )
                  ]
                  spids: [-1 5993]
                )
              ]
              spids: [-1 6014]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name DOCKER_LOG_MAX_SIZE>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [6024 6027]
                              )
                            )
                          } {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {($ VSub_Name "$file")}
                          spids: [6038]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("DOCKER_LOG_MAX_SIZE: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} {(${ VSub_Name DOCKER_LOG_MAX_SIZE)})
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [6045 6051]
                                ) ("\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [6041]
                        )
                      ]
                    )
                  ]
                  spids: [-1 6033]
                )
              ]
              spids: [-1 6054]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name DOCKER_LOG_MAX_FILE>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [6064 6067]
                              )
                            )
                          } {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {($ VSub_Name "$file")}
                          spids: [6078]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("DOCKER_LOG_MAX_FILE: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} {(${ VSub_Name DOCKER_LOG_MAX_FILE)})
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [6085 6091]
                                ) ("\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [6081]
                        )
                      ]
                    )
                  ]
                  spids: [-1 6073]
                )
              ]
              spids: [-1 6094]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name ENABLE_CUSTOM_METRICS>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [6104 6107]
                              )
                            )
                          } {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {($ VSub_Name "$file")}
                          spids: [6118]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("ENABLE_CUSTOM_METRICS: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} {(${ VSub_Name ENABLE_CUSTOM_METRICS)})
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [6125 6131]
                                ) ("\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [6121]
                        )
                      ]
                    )
                  ]
                  spids: [-1 6113]
                )
              ]
              spids: [-1 6134]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name ENABLE_METADATA_PROXY>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [6144 6147]
                              )
                            )
                          } {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {($ VSub_Name "$file")}
                          spids: [6158]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("ENABLE_METADATA_PROXY: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} {(${ VSub_Name ENABLE_METADATA_PROXY)})
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [6165 6171]
                                ) ("\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [6161]
                        )
                      ]
                    )
                  ]
                  spids: [-1 6153]
                )
              ]
              spids: [-1 6174]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name KUBE_FIREWALL_METADATA_SERVER>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [6184 6187]
                              )
                            )
                          } {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {($ VSub_Name "$file")}
                          spids: [6198]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("KUBE_FIREWALL_METADATA_SERVER: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} 
                                          {(${ VSub_Name KUBE_FIREWALL_METADATA_SERVER)}
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [6205 6211]
                                ) ("\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [6201]
                        )
                      ]
                    )
                  ]
                  spids: [-1 6193]
                )
              ]
              spids: [-1 6214]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name FEATURE_GATES>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [6224 6227]
                              )
                            )
                          } {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {($ VSub_Name "$file")}
                          spids: [6238]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("FEATURE_GATES: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [(C {(yaml-quote)} {(${ VSub_Name FEATURE_GATES)})]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [6245 6251]
                                ) ("\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [6241]
                        )
                      ]
                    )
                  ]
                  spids: [-1 6233]
                )
              ]
              spids: [-1 6254]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name ROTATE_CERTIFICATES>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [6264 6267]
                              )
                            )
                          } {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {($ VSub_Name "$file")}
                          spids: [6278]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("ROTATE_CERTIFICATES: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} {(${ VSub_Name ROTATE_CERTIFICATES)})
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [6285 6291]
                                ) ("\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [6281]
                        )
                      ]
                    )
                  ]
                  spids: [-1 6273]
                )
              ]
              spids: [-1 6294]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (DBracket
                              expr: 
                                (LogicalAnd
                                  left: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: {(DQ (${ VSub_Name master))}
                                      right: {(DQ (true))}
                                    )
                                  right: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: {(DQ (${ VSub_Name MASTER_OS_DISTRIBUTION))}
                                      right: {(DQ (gci))}
                                    )
                                )
                            )
                            (DBracket
                              expr: 
                                (LogicalAnd
                                  left: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: {(DQ (${ VSub_Name master))}
                                      right: {(DQ (false))}
                                    )
                                  right: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: {(DQ (${ VSub_Name NODE_OS_DISTRIBUTION))}
                                      right: {(DQ (gci))}
                                    )
                                )
                            )
                          ]
                          op_id: Op_DPipe
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {($ VSub_Name "$file")}
                          spids: [6368]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("VOLUME_PLUGIN_DIR: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} 
                                          {
                                            (BracedVarSub
                                              token: <VSub_Name VOLUME_PLUGIN_DIR>
                                              suffix_op: 
                                                (StringUnary
                                                  op_id: VTest_ColonHyphen
                                                  arg_word: 
                                                    {(Lit_Slash /) (etc) (Lit_Slash /) (srv) 
                                                      (Lit_Slash /) (kubernetes) (Lit_Slash /) (kubelet-plugins) (Lit_Slash /) (volume) (Lit_Slash /) (exec)
                                                    }
                                                )
                                              spids: [6378 6393]
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [6375 6394]
                                ) ("\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [6371]
                        )
                      ]
                    )
                  ]
                  spids: [-1 6363]
                )
              ]
              spids: [-1 6397]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name PROVIDER_VARS>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [6408 6411]
                              )
                            )
                          } {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [(assign_pair lhs:(LhsName name:var_name) op:Equal spids:[6422])]
                      spids: [6420]
                    )
                    (Assignment
                      keyword: Assign_Local
                      pairs: [(assign_pair lhs:(LhsName name:var_value) op:Equal spids:[6427])]
                      spids: [6425]
                    )
                    (ForEach
                      iter_name: var_name
                      iter_words: [{(${ VSub_Name PROVIDER_VARS)}]
                      do_arg_iter: False
                      body: 
                        (DoGroup
                          children: [
                            (C {(eval)} 
                              {
                                (DQ ("local var_value=") 
                                  (EscapedLiteralPart
                                    token: <Lit_EscapedChar "\\$">
                                  ) ("(yaml-quote ") (EscapedLiteralPart token:<Lit_EscapedChar "\\$">) ("{") (${ VSub_Name var_name) ("})")
                                )
                              }
                            )
                            (SimpleCommand
                              words: [{(cat)}]
                              redirects: [
                                (Redir
                                  op_id: Redir_DGreat
                                  fd: -1
                                  arg_word: {($ VSub_Name "$file")}
                                  spids: [6462]
                                )
                                (HereDoc
                                  op_id: Redir_DLess
                                  fd: -1
                                  body: 
                                    {
                                      (DQ (${ VSub_Name var_name) (": ") (${ VSub_Name var_value) ("\n"))
                                    }
                                  do_expansion: True
                                  here_end: EOF
                                  was_filled: True
                                  spids: [6465]
                                )
                              ]
                            )
                          ]
                          spids: [6442 6477]
                        )
                      spids: [6436 6440]
                    )
                  ]
                  spids: [-1 6417]
                )
              ]
              spids: [-1 6480]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {(DQ (${ VSub_Name master))}
                              right: {(DQ (true))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {($ VSub_Name "$file")}
                          spids: [6512]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("KUBERNETES_MASTER: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [(C {(yaml-quote)} {(DQ (true))})]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [6519 6525]
                                ) ("\n") ("KUBE_USER: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [(C {(yaml-quote)} {(${ VSub_Name KUBE_USER)})]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [6528 6534]
                                ) ("\n") ("KUBE_PASSWORD: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [(C {(yaml-quote)} {(${ VSub_Name KUBE_PASSWORD)})]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [6537 6543]
                                ) ("\n") ("KUBE_BEARER_TOKEN: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [(C {(yaml-quote)} {(${ VSub_Name KUBE_BEARER_TOKEN)})]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [6546 6552]
                                ) ("\n") ("MASTER_CERT: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} 
                                          {
                                            (BracedVarSub
                                              token: <VSub_Name MASTER_CERT_BASE64>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                              spids: [6558 6561]
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [6555 6562]
                                ) ("\n") ("MASTER_KEY: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} 
                                          {
                                            (BracedVarSub
                                              token: <VSub_Name MASTER_KEY_BASE64>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                              spids: [6568 6571]
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [6565 6572]
                                ) ("\n") ("KUBECFG_CERT: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} 
                                          {
                                            (BracedVarSub
                                              token: <VSub_Name KUBECFG_CERT_BASE64>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                              spids: [6578 6581]
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [6575 6582]
                                ) ("\n") ("KUBECFG_KEY: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} 
                                          {
                                            (BracedVarSub
                                              token: <VSub_Name KUBECFG_KEY_BASE64>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                              spids: [6588 6591]
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [6585 6592]
                                ) ("\n") ("KUBELET_APISERVER: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} 
                                          {
                                            (BracedVarSub
                                              token: <VSub_Name KUBELET_APISERVER>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                              spids: [6598 6601]
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [6595 6602]
                                ) ("\n") ("ENABLE_MANIFEST_URL: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} 
                                          {
                                            (BracedVarSub
                                              token: <VSub_Name ENABLE_MANIFEST_URL>
                                              suffix_op: 
                                                (StringUnary
                                                  op_id: VTest_ColonHyphen
                                                  arg_word: {(false)}
                                                )
                                              spids: [6608 6612]
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [6605 6613]
                                ) ("\n") ("MANIFEST_URL: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} 
                                          {
                                            (BracedVarSub
                                              token: <VSub_Name MANIFEST_URL>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                              spids: [6619 6622]
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [6616 6623]
                                ) ("\n") ("MANIFEST_URL_HEADER: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} 
                                          {
                                            (BracedVarSub
                                              token: <VSub_Name MANIFEST_URL_HEADER>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                              spids: [6629 6632]
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [6626 6633]
                                ) ("\n") ("NUM_NODES: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [(C {(yaml-quote)} {(${ VSub_Name NUM_NODES)})]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [6636 6642]
                                ) ("\n") ("STORAGE_BACKEND: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} 
                                          {
                                            (BracedVarSub
                                              token: <VSub_Name STORAGE_BACKEND>
                                              suffix_op: 
                                                (StringUnary
                                                  op_id: VTest_ColonHyphen
                                                  arg_word: {(etcd3)}
                                                )
                                              spids: [6648 6652]
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [6645 6653]
                                ) ("\n") ("STORAGE_MEDIA_TYPE: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} 
                                          {
                                            (BracedVarSub
                                              token: <VSub_Name STORAGE_MEDIA_TYPE>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                              spids: [6659 6662]
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [6656 6663]
                                ) ("\n") ("ENABLE_GARBAGE_COLLECTOR: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} 
                                          {
                                            (BracedVarSub
                                              token: <VSub_Name ENABLE_GARBAGE_COLLECTOR>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                              spids: [6669 6672]
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [6666 6673]
                                ) ("\n") ("ENABLE_LEGACY_ABAC: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} 
                                          {
                                            (BracedVarSub
                                              token: <VSub_Name ENABLE_LEGACY_ABAC>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                              spids: [6679 6682]
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [6676 6683]
                                ) ("\n") ("MASTER_ADVERTISE_ADDRESS: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} 
                                          {
                                            (BracedVarSub
                                              token: <VSub_Name MASTER_ADVERTISE_ADDRESS>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                              spids: [6689 6692]
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [6686 6693]
                                ) ("\n") ("ETCD_CA_KEY: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} 
                                          {
                                            (BracedVarSub
                                              token: <VSub_Name ETCD_CA_KEY_BASE64>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                              spids: [6699 6702]
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [6696 6703]
                                ) ("\n") ("ETCD_CA_CERT: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} 
                                          {
                                            (BracedVarSub
                                              token: <VSub_Name ETCD_CA_CERT_BASE64>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                              spids: [6709 6712]
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [6706 6713]
                                ) ("\n") ("ETCD_PEER_KEY: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} 
                                          {
                                            (BracedVarSub
                                              token: <VSub_Name ETCD_PEER_KEY_BASE64>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                              spids: [6719 6722]
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [6716 6723]
                                ) ("\n") ("ETCD_PEER_CERT: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} 
                                          {
                                            (BracedVarSub
                                              token: <VSub_Name ETCD_PEER_CERT_BASE64>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                              spids: [6729 6732]
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [6726 6733]
                                ) ("\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [6515]
                        )
                      ]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other "[")} {(-n)} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name KUBE_APISERVER_REQUEST_TIMEOUT_SEC>
                                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                        spids: [6751 6754]
                                      )
                                    )
                                  } {(Lit_Other "]")}
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (SimpleCommand
                              words: [{(cat)}]
                              redirects: [
                                (Redir
                                  op_id: Redir_DGreat
                                  fd: -1
                                  arg_word: {($ VSub_Name "$file")}
                                  spids: [6765]
                                )
                                (HereDoc
                                  op_id: Redir_DLess
                                  fd: -1
                                  body: 
                                    {
                                      (DQ ("KUBE_APISERVER_REQUEST_TIMEOUT_SEC: ") 
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(yaml-quote)} 
                                                  {
                                                    (${ VSub_Name KUBE_APISERVER_REQUEST_TIMEOUT_SEC)
                                                  }
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub "$(">
                                          spids: [6772 6778]
                                        ) ("\n")
                                      )
                                    }
                                  do_expansion: True
                                  here_end: EOF
                                  was_filled: True
                                  spids: [6768]
                                )
                              ]
                            )
                          ]
                          spids: [-1 6760]
                        )
                      ]
                      spids: [-1 6781]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other "[")} {(-n)} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name ETCD_IMAGE>
                                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                        spids: [6795 6798]
                                      )
                                    )
                                  } {(Lit_Other "]")}
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (SimpleCommand
                              words: [{(cat)}]
                              redirects: [
                                (Redir
                                  op_id: Redir_DGreat
                                  fd: -1
                                  arg_word: {($ VSub_Name "$file")}
                                  spids: [6809]
                                )
                                (HereDoc
                                  op_id: Redir_DLess
                                  fd: -1
                                  body: 
                                    {
                                      (DQ ("ETCD_IMAGE: ") 
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [(C {(yaml-quote)} {(${ VSub_Name ETCD_IMAGE)})]
                                            )
                                          left_token: <Left_CommandSub "$(">
                                          spids: [6816 6822]
                                        ) ("\n")
                                      )
                                    }
                                  do_expansion: True
                                  here_end: EOF
                                  was_filled: True
                                  spids: [6812]
                                )
                              ]
                            )
                          ]
                          spids: [-1 6804]
                        )
                      ]
                      spids: [-1 6825]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other "[")} {(-n)} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name ETCD_DOCKER_REPOSITORY>
                                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                        spids: [6839 6842]
                                      )
                                    )
                                  } {(Lit_Other "]")}
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (SimpleCommand
                              words: [{(cat)}]
                              redirects: [
                                (Redir
                                  op_id: Redir_DGreat
                                  fd: -1
                                  arg_word: {($ VSub_Name "$file")}
                                  spids: [6853]
                                )
                                (HereDoc
                                  op_id: Redir_DLess
                                  fd: -1
                                  body: 
                                    {
                                      (DQ ("ETCD_DOCKER_REPOSITORY: ") 
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(yaml-quote)} 
                                                  {(${ VSub_Name ETCD_DOCKER_REPOSITORY)}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub "$(">
                                          spids: [6860 6866]
                                        ) ("\n")
                                      )
                                    }
                                  do_expansion: True
                                  here_end: EOF
                                  was_filled: True
                                  spids: [6856]
                                )
                              ]
                            )
                          ]
                          spids: [-1 6848]
                        )
                      ]
                      spids: [-1 6869]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other "[")} {(-n)} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name ETCD_VERSION>
                                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                        spids: [6891 6894]
                                      )
                                    )
                                  } {(Lit_Other "]")}
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (SimpleCommand
                              words: [{(cat)}]
                              redirects: [
                                (Redir
                                  op_id: Redir_DGreat
                                  fd: -1
                                  arg_word: {($ VSub_Name "$file")}
                                  spids: [6905]
                                )
                                (HereDoc
                                  op_id: Redir_DLess
                                  fd: -1
                                  body: 
                                    {
                                      (DQ ("ETCD_VERSION: ") 
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(yaml-quote)} {(${ VSub_Name ETCD_VERSION)})
                                              ]
                                            )
                                          left_token: <Left_CommandSub "$(">
                                          spids: [6912 6918]
                                        ) ("\n")
                                      )
                                    }
                                  do_expansion: True
                                  here_end: EOF
                                  was_filled: True
                                  spids: [6908]
                                )
                              ]
                            )
                          ]
                          spids: [-1 6900]
                        )
                      ]
                      spids: [-1 6921]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other "[")} {(-n)} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name APISERVER_TEST_ARGS>
                                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                        spids: [6931 6934]
                                      )
                                    )
                                  } {(Lit_Other "]")}
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (SimpleCommand
                              words: [{(cat)}]
                              redirects: [
                                (Redir
                                  op_id: Redir_DGreat
                                  fd: -1
                                  arg_word: {($ VSub_Name "$file")}
                                  spids: [6945]
                                )
                                (HereDoc
                                  op_id: Redir_DLess
                                  fd: -1
                                  body: 
                                    {
                                      (DQ ("APISERVER_TEST_ARGS: ") 
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(yaml-quote)} {(${ VSub_Name APISERVER_TEST_ARGS)})
                                              ]
                                            )
                                          left_token: <Left_CommandSub "$(">
                                          spids: [6952 6958]
                                        ) ("\n")
                                      )
                                    }
                                  do_expansion: True
                                  here_end: EOF
                                  was_filled: True
                                  spids: [6948]
                                )
                              ]
                            )
                          ]
                          spids: [-1 6940]
                        )
                      ]
                      spids: [-1 6961]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other "[")} {(-n)} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name APISERVER_TEST_LOG_LEVEL>
                                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                        spids: [6971 6974]
                                      )
                                    )
                                  } {(Lit_Other "]")}
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (SimpleCommand
                              words: [{(cat)}]
                              redirects: [
                                (Redir
                                  op_id: Redir_DGreat
                                  fd: -1
                                  arg_word: {($ VSub_Name "$file")}
                                  spids: [6985]
                                )
                                (HereDoc
                                  op_id: Redir_DLess
                                  fd: -1
                                  body: 
                                    {
                                      (DQ ("APISERVER_TEST_LOG_LEVEL: ") 
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(yaml-quote)} 
                                                  {(${ VSub_Name APISERVER_TEST_LOG_LEVEL)}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub "$(">
                                          spids: [6992 6998]
                                        ) ("\n")
                                      )
                                    }
                                  do_expansion: True
                                  here_end: EOF
                                  was_filled: True
                                  spids: [6988]
                                )
                              ]
                            )
                          ]
                          spids: [-1 6980]
                        )
                      ]
                      spids: [-1 7001]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other "[")} {(-n)} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name CONTROLLER_MANAGER_TEST_ARGS>
                                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                        spids: [7011 7014]
                                      )
                                    )
                                  } {(Lit_Other "]")}
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (SimpleCommand
                              words: [{(cat)}]
                              redirects: [
                                (Redir
                                  op_id: Redir_DGreat
                                  fd: -1
                                  arg_word: {($ VSub_Name "$file")}
                                  spids: [7025]
                                )
                                (HereDoc
                                  op_id: Redir_DLess
                                  fd: -1
                                  body: 
                                    {
                                      (DQ ("CONTROLLER_MANAGER_TEST_ARGS: ") 
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(yaml-quote)} 
                                                  {(${ VSub_Name CONTROLLER_MANAGER_TEST_ARGS)}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub "$(">
                                          spids: [7032 7038]
                                        ) ("\n")
                                      )
                                    }
                                  do_expansion: True
                                  here_end: EOF
                                  was_filled: True
                                  spids: [7028]
                                )
                              ]
                            )
                          ]
                          spids: [-1 7020]
                        )
                      ]
                      spids: [-1 7041]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other "[")} {(-n)} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name CONTROLLER_MANAGER_TEST_LOG_LEVEL>
                                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                        spids: [7051 7054]
                                      )
                                    )
                                  } {(Lit_Other "]")}
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (SimpleCommand
                              words: [{(cat)}]
                              redirects: [
                                (Redir
                                  op_id: Redir_DGreat
                                  fd: -1
                                  arg_word: {($ VSub_Name "$file")}
                                  spids: [7065]
                                )
                                (HereDoc
                                  op_id: Redir_DLess
                                  fd: -1
                                  body: 
                                    {
                                      (DQ ("CONTROLLER_MANAGER_TEST_LOG_LEVEL: ") 
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(yaml-quote)} 
                                                  {(${ VSub_Name CONTROLLER_MANAGER_TEST_LOG_LEVEL)}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub "$(">
                                          spids: [7072 7078]
                                        ) ("\n")
                                      )
                                    }
                                  do_expansion: True
                                  here_end: EOF
                                  was_filled: True
                                  spids: [7068]
                                )
                              ]
                            )
                          ]
                          spids: [-1 7060]
                        )
                      ]
                      spids: [-1 7081]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other "[")} {(-n)} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name SCHEDULER_TEST_ARGS>
                                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                        spids: [7091 7094]
                                      )
                                    )
                                  } {(Lit_Other "]")}
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (SimpleCommand
                              words: [{(cat)}]
                              redirects: [
                                (Redir
                                  op_id: Redir_DGreat
                                  fd: -1
                                  arg_word: {($ VSub_Name "$file")}
                                  spids: [7105]
                                )
                                (HereDoc
                                  op_id: Redir_DLess
                                  fd: -1
                                  body: 
                                    {
                                      (DQ ("SCHEDULER_TEST_ARGS: ") 
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(yaml-quote)} {(${ VSub_Name SCHEDULER_TEST_ARGS)})
                                              ]
                                            )
                                          left_token: <Left_CommandSub "$(">
                                          spids: [7112 7118]
                                        ) ("\n")
                                      )
                                    }
                                  do_expansion: True
                                  here_end: EOF
                                  was_filled: True
                                  spids: [7108]
                                )
                              ]
                            )
                          ]
                          spids: [-1 7100]
                        )
                      ]
                      spids: [-1 7121]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other "[")} {(-n)} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name SCHEDULER_TEST_LOG_LEVEL>
                                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                        spids: [7131 7134]
                                      )
                                    )
                                  } {(Lit_Other "]")}
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (SimpleCommand
                              words: [{(cat)}]
                              redirects: [
                                (Redir
                                  op_id: Redir_DGreat
                                  fd: -1
                                  arg_word: {($ VSub_Name "$file")}
                                  spids: [7145]
                                )
                                (HereDoc
                                  op_id: Redir_DLess
                                  fd: -1
                                  body: 
                                    {
                                      (DQ ("SCHEDULER_TEST_LOG_LEVEL: ") 
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(yaml-quote)} 
                                                  {(${ VSub_Name SCHEDULER_TEST_LOG_LEVEL)}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub "$(">
                                          spids: [7152 7158]
                                        ) ("\n")
                                      )
                                    }
                                  do_expansion: True
                                  here_end: EOF
                                  was_filled: True
                                  spids: [7148]
                                )
                              ]
                            )
                          ]
                          spids: [-1 7140]
                        )
                      ]
                      spids: [-1 7161]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other "[")} {(-n)} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name INITIAL_ETCD_CLUSTER>
                                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                        spids: [7171 7174]
                                      )
                                    )
                                  } {(Lit_Other "]")}
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (SimpleCommand
                              words: [{(cat)}]
                              redirects: [
                                (Redir
                                  op_id: Redir_DGreat
                                  fd: -1
                                  arg_word: {($ VSub_Name "$file")}
                                  spids: [7185]
                                )
                                (HereDoc
                                  op_id: Redir_DLess
                                  fd: -1
                                  body: 
                                    {
                                      (DQ ("INITIAL_ETCD_CLUSTER: ") 
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(yaml-quote)} {(${ VSub_Name INITIAL_ETCD_CLUSTER)})
                                              ]
                                            )
                                          left_token: <Left_CommandSub "$(">
                                          spids: [7192 7198]
                                        ) ("\n")
                                      )
                                    }
                                  do_expansion: True
                                  here_end: EOF
                                  was_filled: True
                                  spids: [7188]
                                )
                              ]
                            )
                          ]
                          spids: [-1 7180]
                        )
                      ]
                      spids: [-1 7201]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other "[")} {(-n)} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name INITIAL_ETCD_CLUSTER_STATE>
                                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                        spids: [7211 7214]
                                      )
                                    )
                                  } {(Lit_Other "]")}
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (SimpleCommand
                              words: [{(cat)}]
                              redirects: [
                                (Redir
                                  op_id: Redir_DGreat
                                  fd: -1
                                  arg_word: {($ VSub_Name "$file")}
                                  spids: [7225]
                                )
                                (HereDoc
                                  op_id: Redir_DLess
                                  fd: -1
                                  body: 
                                    {
                                      (DQ ("INITIAL_ETCD_CLUSTER_STATE: ") 
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(yaml-quote)} 
                                                  {(${ VSub_Name INITIAL_ETCD_CLUSTER_STATE)}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub "$(">
                                          spids: [7232 7238]
                                        ) ("\n")
                                      )
                                    }
                                  do_expansion: True
                                  here_end: EOF
                                  was_filled: True
                                  spids: [7228]
                                )
                              ]
                            )
                          ]
                          spids: [-1 7220]
                        )
                      ]
                      spids: [-1 7241]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other "[")} {(-n)} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name ETCD_QUORUM_READ>
                                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                        spids: [7251 7254]
                                      )
                                    )
                                  } {(Lit_Other "]")}
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (SimpleCommand
                              words: [{(cat)}]
                              redirects: [
                                (Redir
                                  op_id: Redir_DGreat
                                  fd: -1
                                  arg_word: {($ VSub_Name "$file")}
                                  spids: [7265]
                                )
                                (HereDoc
                                  op_id: Redir_DLess
                                  fd: -1
                                  body: 
                                    {
                                      (DQ ("ETCD_QUORUM_READ: ") 
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(yaml-quote)} {(${ VSub_Name ETCD_QUORUM_READ)})
                                              ]
                                            )
                                          left_token: <Left_CommandSub "$(">
                                          spids: [7272 7278]
                                        ) ("\n")
                                      )
                                    }
                                  do_expansion: True
                                  here_end: EOF
                                  was_filled: True
                                  spids: [7268]
                                )
                              ]
                            )
                          ]
                          spids: [-1 7260]
                        )
                      ]
                      spids: [-1 7281]
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other "[")} {(-n)} 
                                  {
                                    (DQ 
                                      (BracedVarSub
                                        token: <VSub_Name CLUSTER_SIGNING_DURATION>
                                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                        spids: [7291 7294]
                                      )
                                    )
                                  } {(Lit_Other "]")}
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (SimpleCommand
                              words: [{(cat)}]
                              redirects: [
                                (Redir
                                  op_id: Redir_DGreat
                                  fd: -1
                                  arg_word: {($ VSub_Name "$file")}
                                  spids: [7305]
                                )
                                (HereDoc
                                  op_id: Redir_DLess
                                  fd: -1
                                  body: 
                                    {
                                      (DQ ("CLUSTER_SIGNING_DURATION: ") 
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [
                                                (C {(yaml-quote)} 
                                                  {(${ VSub_Name CLUSTER_SIGNING_DURATION)}
                                                )
                                              ]
                                            )
                                          left_token: <Left_CommandSub "$(">
                                          spids: [7312 7318]
                                        ) ("\n")
                                      )
                                    }
                                  do_expansion: True
                                  here_end: EOF
                                  was_filled: True
                                  spids: [7308]
                                )
                              ]
                            )
                          ]
                          spids: [-1 7300]
                        )
                      ]
                      spids: [-1 7321]
                    )
                  ]
                  spids: [-1 6503]
                )
              ]
              else_action: [
                (SimpleCommand
                  words: [{(cat)}]
                  redirects: [
                    (Redir
                      op_id: Redir_DGreat
                      fd: -1
                      arg_word: {($ VSub_Name "$file")}
                      spids: [7334]
                    )
                    (HereDoc
                      op_id: Redir_DLess
                      fd: -1
                      body: 
                        {
                          (DQ ("KUBERNETES_MASTER: ") 
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [(C {(yaml-quote)} {(DQ (false))})]
                                )
                              left_token: <Left_CommandSub "$(">
                              spids: [7341 7347]
                            ) ("\n") ("ZONE: ") 
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [(C {(yaml-quote)} {(${ VSub_Name ZONE)})]
                                )
                              left_token: <Left_CommandSub "$(">
                              spids: [7350 7356]
                            ) ("\n") ("EXTRA_DOCKER_OPTS: ") 
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [
                                    (C {(yaml-quote)} 
                                      {
                                        (BracedVarSub
                                          token: <VSub_Name EXTRA_DOCKER_OPTS>
                                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                          spids: [7362 7365]
                                        )
                                      }
                                    )
                                  ]
                                )
                              left_token: <Left_CommandSub "$(">
                              spids: [7359 7366]
                            ) ("\n")
                          )
                        }
                      do_expansion: True
                      here_end: EOF
                      was_filled: True
                      spids: [7337]
                    )
                  ]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (C {(Lit_Other "[")} {(-n)} 
                              {
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name KUBEPROXY_TEST_ARGS>
                                    suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                    spids: [7376 7379]
                                  )
                                )
                              } {(Lit_Other "]")}
                            )
                          terminator: <Op_Semi ";">
                        )
                      ]
                      action: [
                        (SimpleCommand
                          words: [{(cat)}]
                          redirects: [
                            (Redir
                              op_id: Redir_DGreat
                              fd: -1
                              arg_word: {($ VSub_Name "$file")}
                              spids: [7390]
                            )
                            (HereDoc
                              op_id: Redir_DLess
                              fd: -1
                              body: 
                                {
                                  (DQ ("KUBEPROXY_TEST_ARGS: ") 
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (C {(yaml-quote)} {(${ VSub_Name KUBEPROXY_TEST_ARGS)})
                                          ]
                                        )
                                      left_token: <Left_CommandSub "$(">
                                      spids: [7397 7403]
                                    ) ("\n")
                                  )
                                }
                              do_expansion: True
                              here_end: EOF
                              was_filled: True
                              spids: [7393]
                            )
                          ]
                        )
                      ]
                      spids: [-1 7385]
                    )
                  ]
                  spids: [-1 7406]
                )
                (If
                  arms: [
                    (if_arm
                      cond: [
                        (Sentence
                          child: 
                            (C {(Lit_Other "[")} {(-n)} 
                              {
                                (DQ 
                                  (BracedVarSub
                                    token: <VSub_Name KUBEPROXY_TEST_LOG_LEVEL>
                                    suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                    spids: [7416 7419]
                                  )
                                )
                              } {(Lit_Other "]")}
                            )
                          terminator: <Op_Semi ";">
                        )
                      ]
                      action: [
                        (SimpleCommand
                          words: [{(cat)}]
                          redirects: [
                            (Redir
                              op_id: Redir_DGreat
                              fd: -1
                              arg_word: {($ VSub_Name "$file")}
                              spids: [7430]
                            )
                            (HereDoc
                              op_id: Redir_DLess
                              fd: -1
                              body: 
                                {
                                  (DQ ("KUBEPROXY_TEST_LOG_LEVEL: ") 
                                    (CommandSubPart
                                      command_list: 
                                        (CommandList
                                          children: [
                                            (C {(yaml-quote)} {(${ VSub_Name KUBEPROXY_TEST_LOG_LEVEL)})
                                          ]
                                        )
                                      left_token: <Left_CommandSub "$(">
                                      spids: [7437 7443]
                                    ) ("\n")
                                  )
                                }
                              do_expansion: True
                              here_end: EOF
                              was_filled: True
                              spids: [7433]
                            )
                          ]
                        )
                      ]
                      spids: [-1 7425]
                    )
                  ]
                  spids: [-1 7446]
                )
              ]
              spids: [7325 7449]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name NODE_LABELS>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [7459 7462]
                              )
                            )
                          } {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {($ VSub_Name "$file")}
                          spids: [7473]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("NODE_LABELS: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [(C {(yaml-quote)} {(${ VSub_Name NODE_LABELS)})]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [7480 7486]
                                ) ("\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [7476]
                        )
                      ]
                    )
                  ]
                  spids: [-1 7468]
                )
              ]
              spids: [-1 7489]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name EVICTION_HARD>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [7499 7502]
                              )
                            )
                          } {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {($ VSub_Name "$file")}
                          spids: [7513]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("EVICTION_HARD: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [(C {(yaml-quote)} {(${ VSub_Name EVICTION_HARD)})]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [7520 7526]
                                ) ("\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [7516]
                        )
                      ]
                    )
                  ]
                  spids: [-1 7508]
                )
              ]
              spids: [-1 7529]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (AndOr
                          children: [
                            (DBracket
                              expr: 
                                (LogicalAnd
                                  left: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: {(DQ (${ VSub_Name master))}
                                      right: {(DQ (true))}
                                    )
                                  right: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: {(DQ (${ VSub_Name MASTER_OS_DISTRIBUTION))}
                                      right: {(DQ (container-linux))}
                                    )
                                )
                            )
                            (DBracket
                              expr: 
                                (LogicalAnd
                                  left: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: {(DQ (${ VSub_Name master))}
                                      right: {(DQ (false))}
                                    )
                                  right: 
                                    (BoolBinary
                                      op_id: BoolBinary_GlobDEqual
                                      left: {(DQ (${ VSub_Name NODE_OS_DISTRIBUTION))}
                                      right: {(DQ (container-linux))}
                                    )
                                )
                            )
                          ]
                          op_id: Op_DPipe
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {($ VSub_Name "$file")}
                          spids: [7608]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("KUBERNETES_CONTAINER_RUNTIME: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} 
                                          {
                                            (BracedVarSub
                                              token: <VSub_Name CONTAINER_RUNTIME>
                                              suffix_op: 
                                                (StringUnary
                                                  op_id: VTest_ColonHyphen
                                                  arg_word: {(rkt)}
                                                )
                                              spids: [7618 7622]
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [7615 7623]
                                ) ("\n") ("RKT_VERSION: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} 
                                          {
                                            (BracedVarSub
                                              token: <VSub_Name RKT_VERSION>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                              spids: [7629 7632]
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [7626 7633]
                                ) ("\n") ("RKT_PATH: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} 
                                          {
                                            (BracedVarSub
                                              token: <VSub_Name RKT_PATH>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                              spids: [7639 7642]
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [7636 7643]
                                ) ("\n") ("RKT_STAGE1_IMAGE: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} 
                                          {
                                            (BracedVarSub
                                              token: <VSub_Name RKT_STAGE1_IMAGE>
                                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                              spids: [7649 7652]
                                            )
                                          }
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [7646 7653]
                                ) ("\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [7611]
                        )
                      ]
                    )
                  ]
                  spids: [-1 7599]
                )
              ]
              spids: [-1 7656]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {(DQ (${ VSub_Name ENABLE_CLUSTER_AUTOSCALER))}
                              right: {(DQ (true))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {($ VSub_Name "$file")}
                          spids: [7683]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("ENABLE_CLUSTER_AUTOSCALER: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} {(${ VSub_Name ENABLE_CLUSTER_AUTOSCALER)})
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [7690 7696]
                                ) ("\n") ("AUTOSCALER_MIG_CONFIG: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} {(${ VSub_Name AUTOSCALER_MIG_CONFIG)})
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [7699 7705]
                                ) ("\n") ("AUTOSCALER_EXPANDER_CONFIG: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} {(${ VSub_Name AUTOSCALER_EXPANDER_CONFIG)})
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [7708 7714]
                                ) ("\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [7686]
                        )
                      ]
                    )
                  ]
                  spids: [-1 7678]
                )
              ]
              spids: [-1 7717]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolUnary
                              op_id: BoolUnary_n
                              child: 
                                {
                                  (DQ 
                                    (BracedVarSub
                                      token: <VSub_Name FEDERATION>
                                      suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                      spids: [7732 7735]
                                    )
                                  )
                                }
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {($ VSub_Name "$file")}
                          spids: [7746]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("FEDERATION: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [(C {(yaml-quote)} {(${ VSub_Name FEDERATION)})]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [7753 7759]
                                ) ("\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [7749]
                        )
                      ]
                    )
                  ]
                  spids: [-1 7741]
                )
              ]
              spids: [-1 7762]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name FEDERATION_NAME>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [7772 7775]
                              )
                            )
                          } {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {($ VSub_Name "$file")}
                          spids: [7786]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("FEDERATION_NAME: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [(C {(yaml-quote)} {(${ VSub_Name FEDERATION_NAME)})]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [7793 7799]
                                ) ("\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [7789]
                        )
                      ]
                    )
                  ]
                  spids: [-1 7781]
                )
              ]
              spids: [-1 7802]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name DNS_ZONE_NAME>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [7812 7815]
                              )
                            )
                          } {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {($ VSub_Name "$file")}
                          spids: [7826]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("DNS_ZONE_NAME: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [(C {(yaml-quote)} {(${ VSub_Name DNS_ZONE_NAME)})]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [7833 7839]
                                ) ("\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [7829]
                        )
                      ]
                    )
                  ]
                  spids: [-1 7821]
                )
              ]
              spids: [-1 7842]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(-n)} 
                          {
                            (DQ 
                              (BracedVarSub
                                token: <VSub_Name SCHEDULING_ALGORITHM_PROVIDER>
                                suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                                spids: [7852 7855]
                              )
                            )
                          } {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_DGreat
                          fd: -1
                          arg_word: {($ VSub_Name "$file")}
                          spids: [7866]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("SCHEDULING_ALGORITHM_PROVIDER: ") 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(yaml-quote)} 
                                          {(${ VSub_Name SCHEDULING_ALGORITHM_PROVIDER)}
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub "$(">
                                  spids: [7873 7879]
                                ) ("\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [7869]
                        )
                      ]
                    )
                  ]
                  spids: [-1 7861]
                )
              ]
              spids: [-1 7882]
            )
          ]
          spids: [4421]
        )
      spids: [4417 4420]
    )
    (FuncDef
      name: sha1sum-file
      body: 
        (BraceGroup
          children: [
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (SimpleCommand
                          words: [{(which)} {(sha1sum)}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: -1
                              arg_word: {(/dev/null)}
                              spids: [7902]
                            )
                            (Redir
                              op_id: Redir_GreatAnd
                              fd: 2
                              arg_word: {(1)}
                              spids: [7905]
                            )
                          ]
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Pipeline
                      children: [
                        (C {(sha1sum)} {(DQ ($ VSub_Number "$1"))})
                        (C {(awk)} {(SQ <"{ print $1 }">)})
                      ]
                      negated: False
                    )
                  ]
                  spids: [-1 7909]
                )
              ]
              else_action: [
                (Pipeline
                  children: [
                    (C {(shasum)} {(-a1)} {(DQ ($ VSub_Number "$1"))})
                    (C {(awk)} {(SQ <"{ print $1 }">)})
                  ]
                  negated: False
                )
              ]
              spids: [7927 7947]
            )
          ]
          spids: [7893]
        )
      spids: [7887 7892]
    )
    (FuncDef
      name: create-certs
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:primary_cn)
                  op: Equal
                  rhs: {(DQ (${ VSub_Number 1))}
                  spids: [8053]
                )
              ]
              spids: [8049]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:octets)
                  op: Equal
                  rhs: 
                    {
                      (ArrayLiteralPart
                        words: [
                          {
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [
                                    (Pipeline
                                      children: [
                                        (C {(echo)} {(DQ (${ VSub_Name SERVICE_CLUSTER_IP_RANGE))})
                                        (C {(sed)} {(-e)} {(SQ <"s|/.*||">)} {(-e)} {(SQ <"s/\\./ /g">)})
                                      ]
                                      negated: False
                                    )
                                  ]
                                )
                              left_token: <Left_CommandSub "$(">
                              spids: [8070 8094]
                            )
                          }
                        ]
                      )
                    }
                  spids: [8068]
                )
              ]
              spids: [8066]
            )
            (DParen
              child: 
                (BinaryAssign
                  op_id: Arith_PlusEqual
                  left: (LhsIndexedName name:octets index:(ArithWord w:{(Lit_Digits 3)}))
                  right: (ArithWord w:{(Lit_Digits 1)})
                )
            )
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:service_ip)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(echo)} 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name octets>
                                          bracket_op: (WholeArray op_id:Arith_Star)
                                          spids: [8118 8123]
                                        )
                                      )
                                    }
                                  )
                                  (C {(sed)} {(SQ <"s/ /./g">)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [8114 8133]
                      )
                    }
                  spids: [8113]
                )
              ]
              spids: [8109]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:sans) op:Equal rhs:{(DQ )} spids:[8138])]
              spids: [8136]
            )
            (ForEach
              iter_name: extra
              iter_words: [{($ VSub_At "$@")}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (DBracket
                                  expr: (BoolUnary op_id:BoolUnary_n child:{(DQ (${ VSub_Name extra))})
                                )
                              terminator: <Op_Semi ";">
                            )
                          ]
                          action: [
                            (Assignment
                              keyword: Assign_None
                              pairs: [
                                (assign_pair
                                  lhs: (LhsName name:sans)
                                  op: Equal
                                  rhs: {(DQ (${ VSub_Name sans) ("IP:") (${ VSub_Name extra) (","))}
                                  spids: [8173]
                                )
                              ]
                              spids: [8173]
                            )
                          ]
                          spids: [-1 8170]
                        )
                      ]
                      spids: [-1 8186]
                    )
                  ]
                  spids: [8152 8189]
                )
              spids: [8148 8150]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:sans)
                  op: Equal
                  rhs: 
                    {
                      (DQ (${ VSub_Name sans) ("IP:") (${ VSub_Name service_ip) 
                        (
",DNS:kubernetes,DNS:kubernetes.default,DNS:kubernetes.default.svc,DNS:kubernetes.default.svc."
                        ) (${ VSub_Name DNS_DOMAIN) (",DNS:") (${ VSub_Name MASTER_NAME)
                      )
                    }
                  spids: [8192]
                )
              ]
              spids: [8192]
            )
            (C {(echo)} {(DQ ("Generating certs for alternate-names: ") (${ VSub_Name sans))})
            (C {(setup-easyrsa)})
            (SimpleCommand
              words: [{(generate-certs)}]
              more_env: [
                (env_pair
                  name: PRIMARY_CN
                  val: {(DQ (${ VSub_Name primary_cn))}
                  spids: [8227]
                )
                (env_pair name:SANS val:{(DQ (${ VSub_Name sans))} spids:[8234])
              ]
            )
            (SimpleCommand
              words: [{(generate-aggregator-certs)}]
              more_env: [
                (env_pair
                  name: AGGREGATOR_PRIMARY_CN
                  val: {(DQ (${ VSub_Name primary_cn))}
                  spids: [8244]
                )
                (env_pair
                  name: AGGREGATOR_SANS
                  val: {(DQ (${ VSub_Name sans))}
                  spids: [8251]
                )
              ]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CERT_DIR)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name KUBE_TEMP) (/easy-rsa-master/easyrsa3))}
                  spids: [8262]
                )
              ]
              spids: [8262]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CA_KEY_BASE64)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} {(DQ (${ VSub_Name CERT_DIR) (/pki/private/ca.key))})
                                  (C {(base64)})
                                  (C {(tr)} {(-d)} {(SQ <"\\r\\n">)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [8280 8303]
                      )
                    }
                  spids: [8279]
                )
              ]
              spids: [8279]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CA_CERT_BASE64)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} {(DQ (${ VSub_Name CERT_DIR) (/pki/ca.crt))})
                                  (C {(base64)})
                                  (C {(tr)} {(-d)} {(SQ <"\\r\\n">)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [8307 8330]
                      )
                    }
                  spids: [8306]
                )
              ]
              spids: [8306]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:MASTER_CERT_BASE64)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} 
                                    {
                                      (DQ (${ VSub_Name CERT_DIR) (/pki/issued/) 
                                        (${ VSub_Name MASTER_NAME) (.crt)
                                      )
                                    }
                                  )
                                  (C {(base64)})
                                  (C {(tr)} {(-d)} {(SQ <"\\r\\n">)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [8334 8361]
                      )
                    }
                  spids: [8333]
                )
              ]
              spids: [8333]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:MASTER_KEY_BASE64)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} 
                                    {
                                      (DQ (${ VSub_Name CERT_DIR) (/pki/private/) 
                                        (${ VSub_Name MASTER_NAME) (.key)
                                      )
                                    }
                                  )
                                  (C {(base64)})
                                  (C {(tr)} {(-d)} {(SQ <"\\r\\n">)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [8365 8392]
                      )
                    }
                  spids: [8364]
                )
              ]
              spids: [8364]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBELET_CERT_BASE64)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} {(DQ (${ VSub_Name CERT_DIR) (/pki/issued/kubelet.crt))})
                                  (C {(base64)})
                                  (C {(tr)} {(-d)} {(SQ <"\\r\\n">)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [8396 8419]
                      )
                    }
                  spids: [8395]
                )
              ]
              spids: [8395]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBELET_KEY_BASE64)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} {(DQ (${ VSub_Name CERT_DIR) (/pki/private/kubelet.key))})
                                  (C {(base64)})
                                  (C {(tr)} {(-d)} {(SQ <"\\r\\n">)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [8423 8446]
                      )
                    }
                  spids: [8422]
                )
              ]
              spids: [8422]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBECFG_CERT_BASE64)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} {(DQ (${ VSub_Name CERT_DIR) (/pki/issued/kubecfg.crt))})
                                  (C {(base64)})
                                  (C {(tr)} {(-d)} {(SQ <"\\r\\n">)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [8450 8473]
                      )
                    }
                  spids: [8449]
                )
              ]
              spids: [8449]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBECFG_KEY_BASE64)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} {(DQ (${ VSub_Name CERT_DIR) (/pki/private/kubecfg.key))})
                                  (C {(base64)})
                                  (C {(tr)} {(-d)} {(SQ <"\\r\\n">)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [8477 8500]
                      )
                    }
                  spids: [8476]
                )
              ]
              spids: [8476]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBEAPISERVER_CERT_BASE64)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} 
                                    {(DQ (${ VSub_Name CERT_DIR) (/pki/issued/kube-apiserver.crt))}
                                  )
                                  (C {(base64)})
                                  (C {(tr)} {(-d)} {(SQ <"\\r\\n">)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [8504 8527]
                      )
                    }
                  spids: [8503]
                )
              ]
              spids: [8503]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBEAPISERVER_KEY_BASE64)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} 
                                    {(DQ (${ VSub_Name CERT_DIR) (/pki/private/kube-apiserver.key))}
                                  )
                                  (C {(base64)})
                                  (C {(tr)} {(-d)} {(SQ <"\\r\\n">)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [8531 8554]
                      )
                    }
                  spids: [8530]
                )
              ]
              spids: [8530]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:AGGREGATOR_CERT_DIR)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name KUBE_TEMP) (/easy-rsa-master/aggregator))}
                  spids: [8570]
                )
              ]
              spids: [8570]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:AGGREGATOR_CA_KEY_BASE64)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} 
                                    {(DQ (${ VSub_Name AGGREGATOR_CERT_DIR) (/pki/private/ca.key))}
                                  )
                                  (C {(base64)})
                                  (C {(tr)} {(-d)} {(SQ <"\\r\\n">)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [8580 8603]
                      )
                    }
                  spids: [8579]
                )
              ]
              spids: [8579]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:REQUESTHEADER_CA_CERT_BASE64)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} {(DQ (${ VSub_Name AGGREGATOR_CERT_DIR) (/pki/ca.crt))})
                                  (C {(base64)})
                                  (C {(tr)} {(-d)} {(SQ <"\\r\\n">)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [8607 8630]
                      )
                    }
                  spids: [8606]
                )
              ]
              spids: [8606]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:PROXY_CLIENT_CERT_BASE64)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} 
                                    {
                                      (DQ (${ VSub_Name AGGREGATOR_CERT_DIR) 
                                        (/pki/issued/proxy-client.crt)
                                      )
                                    }
                                  )
                                  (C {(base64)})
                                  (C {(tr)} {(-d)} {(SQ <"\\r\\n">)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [8634 8657]
                      )
                    }
                  spids: [8633]
                )
              ]
              spids: [8633]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:PROXY_CLIENT_KEY_BASE64)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(cat)} 
                                    {
                                      (DQ (${ VSub_Name AGGREGATOR_CERT_DIR) 
                                        (/pki/private/proxy-client.key)
                                      )
                                    }
                                  )
                                  (C {(base64)})
                                  (C {(tr)} {(-d)} {(SQ <"\\r\\n">)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [8661 8684]
                      )
                    }
                  spids: [8660]
                )
              ]
              spids: [8660]
            )
          ]
          spids: [8046]
        )
      spids: [8042 8045]
    )
    (FuncDef
      name: setup-easyrsa
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:cert_create_debug_output)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(mktemp)} 
                                {(DQ (${ VSub_Name KUBE_TEMP) (/cert_create_debug_output.XXX))}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [8701 8710]
                      )
                    }
                  spids: [8700]
                )
              ]
              spids: [8696]
            )
            (Sentence
              child: 
                (Subshell
                  child: 
                    (CommandList
                      children: [
                        (C {(set)} {(-x)})
                        (C {(cd)} {(DQ (${ VSub_Name KUBE_TEMP))})
                        (C {(curl)} {(-L)} {(-O)} {(--connect-timeout)} {(20)} {(--retry)} {(6)} 
                          {(--retry-delay)} {(2)} {(https) (Lit_Other ":") (//storage.googleapis.com/kubernetes-release/easy-rsa/easy-rsa.tar.gz)}
                        )
                        (C {(tar)} {(xzf)} {(easy-rsa.tar.gz)})
                        (C {(mkdir)} {(easy-rsa-master/kubelet)})
                        (C {(cp)} {(-r)} {(easy-rsa-master/easyrsa3/) (Lit_Other "*")} 
                          {(easy-rsa-master/kubelet)}
                        )
                        (C {(mkdir)} {(easy-rsa-master/aggregator)})
                        (C {(cp)} {(-r)} {(easy-rsa-master/easyrsa3/) (Lit_Other "*")} 
                          {(easy-rsa-master/aggregator)}
                        )
                      ]
                    )
                  spids: [8717 8790]
                )
              terminator: <Op_Amp "&">
            )
            (AndOr
              children: [
                (SimpleCommand
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: -1
                      arg_word: {(${ VSub_Name cert_create_debug_output)}
                      spids: [8793]
                    )
                  ]
                )
                (BraceGroup
                  children: [
                    (SimpleCommand
                      words: [{(cat)} {(DQ (${ VSub_Name cert_create_debug_output))}]
                      redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[8819])]
                    )
                    (SimpleCommand
                      words: [{(echo)} {(DQ ("=== Failed to setup easy-rsa: Aborting ==="))}]
                      redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[8829])]
                    )
                    (C {(exit)} {(2)})
                  ]
                  spids: [8800]
                )
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [8693]
        )
      spids: [8689 8692]
    )
    (FuncDef
      name: generate-certs
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:cert_create_debug_output)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(mktemp)} 
                                {(DQ (${ VSub_Name KUBE_TEMP) (/cert_create_debug_output.XXX))}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [8885 8894]
                      )
                    }
                  spids: [8884]
                )
              ]
              spids: [8880]
            )
            (Sentence
              child: 
                (Subshell
                  child: 
                    (CommandList
                      children: [
                        (C {(set)} {(-x)})
                        (C {(cd)} {(DQ (${ VSub_Name KUBE_TEMP) (/easy-rsa-master/easyrsa3))})
                        (C {(./easyrsa)} {(init-pki)})
                        (C {(./easyrsa)} {(--batch)} 
                          {
                            (DQ ("--req-cn=") (${ VSub_Name PRIMARY_CN) ("@") 
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(date)} {(Lit_Other "+") (Lit_Other "%") (s)})]
                                  )
                                left_token: <Left_CommandSub "$(">
                                spids: [8936 8942]
                              )
                            )
                          } {(build-ca)} {(nopass)}
                        )
                        (C {(./easyrsa)} {(--subject-alt-name) (Lit_Other "=") (DQ (${ VSub_Name SANS))} 
                          {(build-server-full)} {(DQ (${ VSub_Name MASTER_NAME))} {(nopass)}
                        )
                        (C {(./easyrsa)} {(build-client-full)} {(kube-apiserver)} {(nopass)})
                        (C 
                          {(kube) (Lit_Other ":") (Lit_Other ":") (util) (Lit_Other ":") (Lit_Other ":") 
                            (ensure-cfssl)
                          } {(DQ (${ VSub_Name KUBE_TEMP) (/cfssl))}
                        )
                        (SimpleCommand
                          words: [
                            {(echo)}
                            {
                              (SQ 
                                <
"{\"signing\":{\"default\":{\"expiry\":\"43800h\",\"usages\":[\"signing\",\"key encipherment\",\"client auth\"]}}}"
                                >
                              )
                            }
                          ]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: -1
                              arg_word: {(DQ (ca-config.json))}
                              spids: [9008]
                            )
                          ]
                        )
                        (Pipeline
                          children: [
                            (C {(echo)} 
                              {
                                (SQ 
                                  <
"{\"CN\":\"kubelet\",\"names\":[{\"O\":\"system:nodes\"}],\"hosts\":[\"\"],\"key\":{\"algo\":\"rsa\",\"size\":2048}}"
                                  >
                                )
                              }
                            )
                            (C {(DQ (${ VSub_Name CFSSL_BIN))} {(gencert)} 
                              {(-ca) (Lit_Other "=") (pki/ca.crt)} {(-ca-key) (Lit_Other "=") (pki/private/ca.key)} {(-config) (Lit_Other "=") (ca-config.json)} {(-)}
                            )
                            (C {(DQ (${ VSub_Name CFSSLJSON_BIN))} {(-bare)} {(kubelet)})
                          ]
                          negated: False
                        )
                        (C {(mv)} {(DQ (kubelet-key.pem))} {(DQ (pki/private/kubelet.key))})
                        (C {(mv)} {(DQ (kubelet.pem))} {(DQ (pki/issued/kubelet.crt))})
                        (C {(rm)} {(-f)} {(DQ (kubelet.csr))})
                        (C {(./easyrsa)} {(--dn-mode) (Lit_Other "=") (org)} 
                          {(--req-cn) (Lit_Other "=") (kubecfg)} {(--req-org) (Lit_Other "=") (system) (Lit_Other ":") (masters)} {(--req-c) (Lit_Other "=")} 
                          {(--req-st) (Lit_Other "=")} {(--req-city) (Lit_Other "=")} {(--req-email) (Lit_Other "=")} {(--req-ou) (Lit_Other "=")} 
                          {(build-client-full)} {(kubecfg)} {(nopass)}
                        )
                      ]
                    )
                  spids: [8901 9140]
                )
              terminator: <Op_Amp "&">
            )
            (AndOr
              children: [
                (SimpleCommand
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: -1
                      arg_word: {(${ VSub_Name cert_create_debug_output)}
                      spids: [9143]
                    )
                  ]
                )
                (BraceGroup
                  children: [
                    (SimpleCommand
                      words: [{(cat)} {(DQ (${ VSub_Name cert_create_debug_output))}]
                      redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[9169])]
                    )
                    (SimpleCommand
                      words: [
                        {(echo)}
                        {(DQ ("=== Failed to generate master certificates: Aborting ==="))}
                      ]
                      redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[9179])]
                    )
                    (C {(exit)} {(2)})
                  ]
                  spids: [9150]
                )
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [8877]
        )
      spids: [8873 8876]
    )
    (FuncDef
      name: generate-aggregator-certs
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              flags: ["'-r'"]
              pairs: [
                (assign_pair
                  lhs: (LhsName name:cert_create_debug_output)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(mktemp)} 
                                {(DQ (${ VSub_Name KUBE_TEMP) (/cert_create_debug_output.XXX))}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [9235 9244]
                      )
                    }
                  spids: [9234]
                )
              ]
              spids: [9230]
            )
            (Sentence
              child: 
                (Subshell
                  child: 
                    (CommandList
                      children: [
                        (C {(set)} {(-x)})
                        (C {(cd)} {(DQ (${ VSub_Name KUBE_TEMP) (/easy-rsa-master/aggregator))})
                        (C {(./easyrsa)} {(init-pki)})
                        (C {(./easyrsa)} {(--batch)} 
                          {
                            (DQ ("--req-cn=") (${ VSub_Name AGGREGATOR_PRIMARY_CN) ("@") 
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(date)} {(Lit_Other "+") (Lit_Other "%") (s)})]
                                  )
                                left_token: <Left_CommandSub "$(">
                                spids: [9286 9292]
                              )
                            )
                          } {(build-ca)} {(nopass)}
                        )
                        (C {(./easyrsa)} 
                          {(--subject-alt-name) (Lit_Other "=") (DQ (${ VSub_Name AGGREGATOR_SANS))} {(build-server-full)} {(DQ (${ VSub_Name AGGREGATOR_MASTER_NAME))} {(nopass)}
                        )
                        (C {(./easyrsa)} {(build-client-full)} {(aggregator-apiserver)} {(nopass)})
                        (C 
                          {(kube) (Lit_Other ":") (Lit_Other ":") (util) (Lit_Other ":") (Lit_Other ":") 
                            (ensure-cfssl)
                          } {(DQ (${ VSub_Name KUBE_TEMP) (/cfssl))}
                        )
                        (SimpleCommand
                          words: [
                            {(echo)}
                            {
                              (SQ 
                                <
"{\"signing\":{\"default\":{\"expiry\":\"43800h\",\"usages\":[\"signing\",\"key encipherment\",\"client auth\"]}}}"
                                >
                              )
                            }
                          ]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: -1
                              arg_word: {(DQ (ca-config.json))}
                              spids: [9358]
                            )
                          ]
                        )
                        (Pipeline
                          children: [
                            (C {(echo)} 
                              {
                                (SQ 
                                  <
"{\"CN\":\"aggregator\",\"hosts\":[\"\"],\"key\":{\"algo\":\"rsa\",\"size\":2048}}"
                                  >
                                )
                              }
                            )
                            (C {(DQ (${ VSub_Name CFSSL_BIN))} {(gencert)} 
                              {(-ca) (Lit_Other "=") (pki/ca.crt)} {(-ca-key) (Lit_Other "=") (pki/private/ca.key)} {(-config) (Lit_Other "=") (ca-config.json)} {(-)}
                            )
                            (C {(DQ (${ VSub_Name CFSSLJSON_BIN))} {(-bare)} {(proxy-client)})
                          ]
                          negated: False
                        )
                        (C {(mv)} {(DQ (proxy-client-key.pem))} {(DQ (pki/private/proxy-client.key))})
                        (C {(mv)} {(DQ (proxy-client.pem))} {(DQ (pki/issued/proxy-client.crt))})
                        (C {(rm)} {(-f)} {(DQ (proxy-client.csr))})
                        (C {(./easyrsa)} {(--dn-mode) (Lit_Other "=") (org)} 
                          {(--req-cn) (Lit_Other "=") (proxy-clientcfg)} {(--req-org) (Lit_Other "=") (system) (Lit_Other ":") (aggregator)} {(--req-c) (Lit_Other "=")} 
                          {(--req-st) (Lit_Other "=")} {(--req-city) (Lit_Other "=")} {(--req-email) (Lit_Other "=")} {(--req-ou) (Lit_Other "=")} 
                          {(build-client-full)} {(proxy-clientcfg)} {(nopass)}
                        )
                      ]
                    )
                  spids: [9251 9490]
                )
              terminator: <Op_Amp "&">
            )
            (AndOr
              children: [
                (SimpleCommand
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: -1
                      arg_word: {(${ VSub_Name cert_create_debug_output)}
                      spids: [9493]
                    )
                  ]
                )
                (BraceGroup
                  children: [
                    (SimpleCommand
                      words: [{(cat)} {(DQ (${ VSub_Name cert_create_debug_output))}]
                      redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[9519])]
                    )
                    (SimpleCommand
                      words: [
                        {(echo)}
                        {(DQ ("=== Failed to generate aggregator certificates: Aborting ==="))}
                      ]
                      redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[9529])]
                    )
                    (C {(exit)} {(2)})
                  ]
                  spids: [9500]
                )
              ]
              op_id: Op_DPipe
            )
          ]
          spids: [9227]
        )
      spids: [9223 9226]
    )
    (FuncDef
      name: generate-etcd-cert
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:cert_dir)
                  op: Equal
                  rhs: {(${ VSub_Number 1)}
                  spids: [9596]
                )
              ]
              spids: [9594]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:member_ip)
                  op: Equal
                  rhs: {(${ VSub_Number 2)}
                  spids: [9604]
                )
              ]
              spids: [9602]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:type_cert)
                  op: Equal
                  rhs: {(${ VSub_Number 3)}
                  spids: [9612]
                )
              ]
              spids: [9610]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:prefix)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Number 4>
                        suffix_op: 
                          (StringUnary
                            op_id: VTest_ColonHyphen
                            arg_word: {(DQ (${ VSub_Name type_cert))}
                          )
                        spids: [9621 9629]
                      )
                    }
                  spids: [9620]
                )
              ]
              spids: [9618]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:GEN_ETCD_CA_CERT)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name GEN_ETCD_CA_CERT>
                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                        spids: [9636 9639]
                      )
                    }
                  spids: [9635]
                )
              ]
              spids: [9633]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:GEN_ETCD_CA_KEY)
                  op: Equal
                  rhs: 
                    {
                      (BracedVarSub
                        token: <VSub_Name GEN_ETCD_CA_KEY>
                        suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                        spids: [9645 9648]
                      )
                    }
                  spids: [9644]
                )
              ]
              spids: [9642]
            )
            (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name cert_dir))})
            (C {(pushd)} {(DQ (${ VSub_Name cert_dir))})
            (C 
              {(kube) (Lit_Other ":") (Lit_Other ":") (util) (Lit_Other ":") (Lit_Other ":") 
                (ensure-cfssl)
              } {(.)}
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(KW_Bang "!")} {(-r)} {(DQ (ca-config.json))} 
                          {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(ca-config.json)}
                          spids: [9705]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("{\n") ("    ") (Right_DoubleQuote "\"") (signing) 
                                (Right_DoubleQuote "\"") (": {\n") ("        ") (Right_DoubleQuote "\"") (default) (Right_DoubleQuote "\"") (": {\n") 
                                ("            ") (Right_DoubleQuote "\"") (expiry) (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") (43800h) 
                                (Right_DoubleQuote "\"") ("\n") ("        },\n") ("        ") (Right_DoubleQuote "\"") (profiles) (Right_DoubleQuote "\"") (": {\n") 
                                ("            ") (Right_DoubleQuote "\"") (server) (Right_DoubleQuote "\"") (": {\n") ("                ") 
                                (Right_DoubleQuote "\"") (expiry) (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") (43800h) (Right_DoubleQuote "\"") (",\n") 
                                ("                ") (Right_DoubleQuote "\"") (usages) (Right_DoubleQuote "\"") (": [\n") ("                    ") 
                                (Right_DoubleQuote "\"") (signing) (Right_DoubleQuote "\"") (",\n") ("                    ") (Right_DoubleQuote "\"") 
                                ("key encipherment") (Right_DoubleQuote "\"") (",\n") ("                    ") (Right_DoubleQuote "\"") ("server auth") 
                                (Right_DoubleQuote "\"") ("\n") ("                ]\n") ("            },\n") ("            ") (Right_DoubleQuote "\"") (client) 
                                (Right_DoubleQuote "\"") (": {\n") ("                ") (Right_DoubleQuote "\"") (expiry) (Right_DoubleQuote "\"") (": ") 
                                (Right_DoubleQuote "\"") (43800h) (Right_DoubleQuote "\"") (",\n") ("                ") (Right_DoubleQuote "\"") (usages) 
                                (Right_DoubleQuote "\"") (": [\n") ("                    ") (Right_DoubleQuote "\"") (signing) (Right_DoubleQuote "\"") (",\n") 
                                ("                    ") (Right_DoubleQuote "\"") ("key encipherment") (Right_DoubleQuote "\"") (",\n") ("                    ") 
                                (Right_DoubleQuote "\"") ("client auth") (Right_DoubleQuote "\"") ("\n") ("                ]\n") ("            },\n") 
                                ("            ") (Right_DoubleQuote "\"") (peer) (Right_DoubleQuote "\"") (": {\n") ("                ") 
                                (Right_DoubleQuote "\"") (expiry) (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") (43800h) (Right_DoubleQuote "\"") (",\n") 
                                ("                ") (Right_DoubleQuote "\"") (usages) (Right_DoubleQuote "\"") (": [\n") ("                    ") 
                                (Right_DoubleQuote "\"") (signing) (Right_DoubleQuote "\"") (",\n") ("                    ") (Right_DoubleQuote "\"") 
                                ("key encipherment") (Right_DoubleQuote "\"") (",\n") ("                    ") (Right_DoubleQuote "\"") ("server auth") 
                                (Right_DoubleQuote "\"") (",\n") ("                    ") (Right_DoubleQuote "\"") ("client auth") (Right_DoubleQuote "\"") ("\n") 
                                ("                ]\n") ("            }\n") ("        }\n") ("    }\n") ("}\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [9708]
                        )
                      ]
                    )
                  ]
                  spids: [-1 9700]
                )
              ]
              spids: [-1 9854]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(KW_Bang "!")} {(-r)} {(DQ (ca-csr.json))} {(Lit_Other "]")})
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op_id: Redir_Great
                          fd: -1
                          arg_word: {(ca-csr.json)}
                          spids: [9878]
                        )
                        (HereDoc
                          op_id: Redir_DLess
                          fd: -1
                          body: 
                            {
                              (DQ ("{\n") ("    ") (Right_DoubleQuote "\"") (CN) (Right_DoubleQuote "\"") 
                                (": ") (Right_DoubleQuote "\"") (Kubernetes) (Right_DoubleQuote "\"") (",\n") ("    ") (Right_DoubleQuote "\"") 
                                (key) (Right_DoubleQuote "\"") (": {\n") ("        ") (Right_DoubleQuote "\"") (algo) (Right_DoubleQuote "\"") 
                                (": ") (Right_DoubleQuote "\"") (ecdsa) (Right_DoubleQuote "\"") (",\n") ("        ") (Right_DoubleQuote "\"") 
                                (size) (Right_DoubleQuote "\"") (": 256\n") ("    },\n") ("    ") (Right_DoubleQuote "\"") (names) 
                                (Right_DoubleQuote "\"") (": [\n") ("        {\n") ("            ") (Right_DoubleQuote "\"") (C) (Right_DoubleQuote "\"") (": ") 
                                (Right_DoubleQuote "\"") (US) (Right_DoubleQuote "\"") (",\n") ("            ") (Right_DoubleQuote "\"") (L) 
                                (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") (CA) (Right_DoubleQuote "\"") (",\n") ("            ") 
                                (Right_DoubleQuote "\"") (O) (Right_DoubleQuote "\"") (": ") (Right_DoubleQuote "\"") (kubernetes.io) (Right_DoubleQuote "\"") 
                                ("\n") ("        }\n") ("    ]\n") ("}\n")
                              )
                            }
                          do_expansion: True
                          here_end: EOF
                          was_filled: True
                          spids: [9881]
                        )
                      ]
                    )
                  ]
                  spids: [-1 9873]
                )
              ]
              spids: [-1 9951]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalAnd
                              left: 
                                (BoolUnary
                                  op_id: BoolUnary_n
                                  child: {(DQ (${ VSub_Name GEN_ETCD_CA_CERT))}
                                )
                              right: 
                                (BoolUnary
                                  op_id: BoolUnary_n
                                  child: {(DQ (${ VSub_Name GEN_ETCD_CA_KEY))}
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Pipeline
                      children: [
                        (C {(echo)} {(DQ (${ VSub_Name ca_cert))})
                        (C {(base64)} {(--decode)})
                        (SimpleCommand
                          words: [{(gunzip)}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: -1
                              arg_word: {(ca.pem)}
                              spids: [10001]
                            )
                          ]
                        )
                      ]
                      negated: False
                    )
                    (Pipeline
                      children: [
                        (C {(echo)} {(DQ (${ VSub_Name ca_key))})
                        (SimpleCommand
                          words: [{(base64)} {(--decode)}]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: -1
                              arg_word: {(ca-key.pem)}
                              spids: [10020]
                            )
                          ]
                        )
                      ]
                      negated: False
                    )
                  ]
                  spids: [-1 9980]
                )
              ]
              spids: [-1 10025]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalOr
                              left: 
                                (LogicalNot
                                  child: (BoolUnary op_id:BoolUnary_r child:{(DQ (ca.pem))})
                                )
                              right: 
                                (LogicalNot
                                  child: (BoolUnary op_id:BoolUnary_r child:{(DQ (ca-key.pem))})
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Pipeline
                      children: [
                        (C {(${ VSub_Name CFSSL_BIN)} {(gencert)} {(-initca)} {(ca-csr.json)})
                        (C {(${ VSub_Name CFSSLJSON_BIN)} {(-bare)} {(ca)} {(-)})
                      ]
                      negated: False
                    )
                  ]
                  spids: [-1 10054]
                )
              ]
              spids: [-1 10080]
            )
            (Case
              to_match: {(DQ (${ VSub_Name type_cert))}
              arms: [
                (case_arm
                  pat_list: [{(client)}]
                  action: [
                    (C {(echo)} {(DQ ("Generate client certificates..."))})
                    (Pipeline
                      children: [
                        (C {(echo)} 
                          {
                            (SQ 
                              <
"{\"CN\":\"client\",\"hosts\":[\"*\"],\"key\":{\"algo\":\"ecdsa\",\"size\":256}}"
                              >
                            )
                          }
                        )
                        (C {(${ VSub_Name CFSSL_BIN)} {(gencert)} {(-ca) (Lit_Other "=") (ca.pem)} 
                          {(-ca-key) (Lit_Other "=") (ca-key.pem)} {(-config) (Lit_Other "=") (ca-config.json)} {(-profile) (Lit_Other "=") (client)} {(-)}
                        )
                        (C {(${ VSub_Name CFSSLJSON_BIN)} {(-bare)} {(DQ (${ VSub_Name prefix))})
                      ]
                      negated: False
                    )
                  ]
                  spids: [10095 10096 10157 -1]
                )
                (case_arm
                  pat_list: [{(server)}]
                  action: [
                    (C {(echo)} {(DQ ("Generate server certificates..."))})
                    (Pipeline
                      children: [
                        (C {(echo)} 
                          {(SQ <"{\"CN\":\"">) (${ VSub_Name member_ip) 
                            (SQ <"\",\"hosts\":[\"\"],\"key\":{\"algo\":\"ecdsa\",\"size\":256}}">)
                          }
                        )
                        (C {(${ VSub_Name CFSSL_BIN)} {(gencert)} {(-ca) (Lit_Other "=") (ca.pem)} 
                          {(-ca-key) (Lit_Other "=") (ca-key.pem)} {(-config) (Lit_Other "=") (ca-config.json)} {(-profile) (Lit_Other "=") (server)} 
                          {(-hostname) (Lit_Other "=") (DQ (${ VSub_Name member_ip) (",127.0.0.1"))} {(-)}
                        )
                        (C {(${ VSub_Name CFSSLJSON_BIN)} {(-bare)} {(DQ (${ VSub_Name prefix))})
                      ]
                      negated: False
                    )
                  ]
                  spids: [10160 10161 10237 -1]
                )
                (case_arm
                  pat_list: [{(peer)}]
                  action: [
                    (C {(echo)} {(DQ ("Generate peer certificates..."))})
                    (Pipeline
                      children: [
                        (C {(echo)} 
                          {(SQ <"{\"CN\":\"">) (${ VSub_Name member_ip) 
                            (SQ <"\",\"hosts\":[\"\"],\"key\":{\"algo\":\"ecdsa\",\"size\":256}}">)
                          }
                        )
                        (C {(${ VSub_Name CFSSL_BIN)} {(gencert)} {(-ca) (Lit_Other "=") (ca.pem)} 
                          {(-ca-key) (Lit_Other "=") (ca-key.pem)} {(-config) (Lit_Other "=") (ca-config.json)} {(-profile) (Lit_Other "=") (peer)} 
                          {(-hostname) (Lit_Other "=") (DQ (${ VSub_Name member_ip) (",127.0.0.1"))} {(-)}
                        )
                        (C {(${ VSub_Name CFSSLJSON_BIN)} {(-bare)} {(DQ (${ VSub_Name prefix))})
                      ]
                      negated: False
                    )
                  ]
                  spids: [10240 10241 10317 -1]
                )
                (case_arm
                  pat_list: [{(Lit_Other "*")}]
                  action: [
                    (SimpleCommand
                      words: [
                        {(echo)}
                        {(DQ ("Unknow, unsupported etcd certs type: ") (${ VSub_Name type_cert))}
                      ]
                      redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[10333])]
                    )
                    (SimpleCommand
                      words: [{(echo)} {(DQ ("Supported type: client, server, peer"))}]
                      redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[10343])]
                    )
                    (C {(exit)} {(2)})
                  ]
                  spids: [10320 10321 -1 10352]
                )
              ]
              spids: [10084 10092 10352]
            )
            (C {(popd)})
          ]
          spids: [9591]
        )
      spids: [9585 9590]
    )
    (FuncDef
      name: get-env-val
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:match)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (AndOr
                                children: [
                                  (Subshell
                                    child: 
                                      (Pipeline
                                        children: [
                                          (C {(echo)} {(DQ (${ VSub_Number 1))})
                                          (C {(grep)} {(-E)} {(DQ ("^") (${ VSub_Number 2) (":"))})
                                        ]
                                        negated: False
                                      )
                                    spids: [10392 10414]
                                  )
                                  (C {(echo)} {(DQ )})
                                ]
                                op_id: Op_DPipe
                              )
                            ]
                          )
                        left_token: <Left_Backtick "`">
                        spids: [10391 10422]
                      )
                    }
                  spids: [10390]
                )
              ]
              spids: [10388]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: (DBracket expr:(BoolUnary op_id:BoolUnary_z child:{(${ VSub_Name match)}))
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(C {(echo)} {(DQ )})]
                  spids: [-1 10438]
                )
              ]
              spids: [-1 10447]
            )
            (Pipeline
              children: [
                (C {(echo)} {(${ VSub_Name match)})
                (C {(cut)} {(-d)} {(Lit_Other ":")} {(-f)} {(2)})
                (C {(cut)} {(-d)} {(EscapedLiteralPart token:<Lit_EscapedChar "\\'">)} {(-f)} {(2)})
              ]
              negated: False
            )
          ]
          spids: [10385]
        )
      spids: [10379 10384]
    )
    (FuncDef
      name: parse-master-env
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:master_env)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: (CommandList children:[(C {(get-master-env)})])
                        left_token: <Left_CommandSub "$(">
                        spids: [10502 10504]
                      )
                    }
                  spids: [10501]
                )
              ]
              spids: [10499]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBELET_TOKEN)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(get-env-val)} {(DQ (${ VSub_Name master_env))} {(DQ (KUBELET_TOKEN))})
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [10508 10520]
                      )
                    }
                  spids: [10507]
                )
              ]
              spids: [10507]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBE_PROXY_TOKEN)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(get-env-val)} {(DQ (${ VSub_Name master_env))} 
                                {(DQ (KUBE_PROXY_TOKEN))}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [10524 10536]
                      )
                    }
                  spids: [10523]
                )
              ]
              spids: [10523]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:NODE_PROBLEM_DETECTOR_TOKEN)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(get-env-val)} {(DQ (${ VSub_Name master_env))} 
                                {(DQ (NODE_PROBLEM_DETECTOR_TOKEN))}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [10540 10552]
                      )
                    }
                  spids: [10539]
                )
              ]
              spids: [10539]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CA_CERT_BASE64)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(get-env-val)} {(DQ (${ VSub_Name master_env))} {(DQ (CA_CERT))})
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [10556 10568]
                      )
                    }
                  spids: [10555]
                )
              ]
              spids: [10555]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:CA_KEY_BASE64)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(get-env-val)} {(DQ (${ VSub_Name master_env))} {(DQ (CA_KEY))})
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [10572 10584]
                      )
                    }
                  spids: [10571]
                )
              ]
              spids: [10571]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBEAPISERVER_CERT_BASE64)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(get-env-val)} {(DQ (${ VSub_Name master_env))} 
                                {(DQ (KUBEAPISERVER_CERT))}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [10588 10600]
                      )
                    }
                  spids: [10587]
                )
              ]
              spids: [10587]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBEAPISERVER_KEY_BASE64)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(get-env-val)} {(DQ (${ VSub_Name master_env))} 
                                {(DQ (KUBEAPISERVER_KEY))}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [10604 10616]
                      )
                    }
                  spids: [10603]
                )
              ]
              spids: [10603]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:EXTRA_DOCKER_OPTS)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(get-env-val)} {(DQ (${ VSub_Name master_env))} 
                                {(DQ (EXTRA_DOCKER_OPTS))}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [10620 10632]
                      )
                    }
                  spids: [10619]
                )
              ]
              spids: [10619]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBELET_CERT_BASE64)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(get-env-val)} {(DQ (${ VSub_Name master_env))} {(DQ (KUBELET_CERT))})
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [10636 10648]
                      )
                    }
                  spids: [10635]
                )
              ]
              spids: [10635]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:KUBELET_KEY_BASE64)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(get-env-val)} {(DQ (${ VSub_Name master_env))} {(DQ (KUBELET_KEY))})
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [10652 10664]
                      )
                    }
                  spids: [10651]
                )
              ]
              spids: [10651]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:MASTER_CERT_BASE64)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(get-env-val)} {(DQ (${ VSub_Name master_env))} {(DQ (MASTER_CERT))})
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [10668 10680]
                      )
                    }
                  spids: [10667]
                )
              ]
              spids: [10667]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:MASTER_KEY_BASE64)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(get-env-val)} {(DQ (${ VSub_Name master_env))} {(DQ (MASTER_KEY))})
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [10684 10696]
                      )
                    }
                  spids: [10683]
                )
              ]
              spids: [10683]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:AGGREGATOR_CA_KEY_BASE64)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(get-env-val)} {(DQ (${ VSub_Name master_env))} 
                                {(DQ (AGGREGATOR_CA_KEY))}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [10700 10712]
                      )
                    }
                  spids: [10699]
                )
              ]
              spids: [10699]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:REQUESTHEADER_CA_CERT_BASE64)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(get-env-val)} {(DQ (${ VSub_Name master_env))} 
                                {(DQ (REQUESTHEADER_CA_CERT))}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [10716 10728]
                      )
                    }
                  spids: [10715]
                )
              ]
              spids: [10715]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:PROXY_CLIENT_CERT_BASE64)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(get-env-val)} {(DQ (${ VSub_Name master_env))} 
                                {(DQ (PROXY_CLIENT_CERT))}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [10732 10744]
                      )
                    }
                  spids: [10731]
                )
              ]
              spids: [10731]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:PROXY_CLIENT_KEY_BASE64)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(get-env-val)} {(DQ (${ VSub_Name master_env))} 
                                {(DQ (PROXY_CLIENT_KEY))}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [10748 10760]
                      )
                    }
                  spids: [10747]
                )
              ]
              spids: [10747]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:ENABLE_LEGACY_ABAC)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (C {(get-env-val)} {(DQ (${ VSub_Name master_env))} 
                                {(DQ (ENABLE_LEGACY_ABAC))}
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [10764 10776]
                      )
                    }
                  spids: [10763]
                )
              ]
              spids: [10763]
            )
          ]
          spids: [10492]
        )
      spids: [10486 10491]
    )
    (FuncDef
      name: update-or-verify-gcloud
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:sudo_prefix) op:Equal rhs:{(DQ )} spids:[10804])]
              spids: [10802]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other "[")} {(KW_Bang "!")} {(-w)} 
                          {
                            (CommandSubPart
                              command_list: 
                                (CommandList
                                  children: [
                                    (C {(dirname)} 
                                      {
                                        (CommandSubPart
                                          command_list: 
                                            (CommandList
                                              children: [(C {(which)} {(gcloud)})]
                                            )
                                          left_token: <Left_Backtick "`">
                                          spids: [10820 10824]
                                        )
                                      }
                                    )
                                  ]
                                )
                              left_token: <Left_CommandSub "$(">
                              spids: [10817 10825]
                            )
                          } {(Lit_Other "]")}
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:sudo_prefix)
                          op: Equal
                          rhs: {(DQ (sudo))}
                          spids: [10833]
                        )
                      ]
                      spids: [10833]
                    )
                  ]
                  spids: [-1 10830]
                )
              ]
              spids: [-1 10839]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_GlobDEqual
                              left: {(DQ (${ VSub_Name KUBE_PROMPT_FOR_UPDATE))}
                              right: {(DQ (y))}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(${ VSub_Name sudo_prefix)} {(gcloud)} 
                      {
                        (BracedVarSub
                          token: <VSub_Name gcloud_prompt>
                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                          spids: [10874 10877]
                        )
                      } {(components)} {(install)} {(alpha)}
                    )
                    (C {(${ VSub_Name sudo_prefix)} {(gcloud)} 
                      {
                        (BracedVarSub
                          token: <VSub_Name gcloud_prompt>
                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                          spids: [10892 10895]
                        )
                      } {(components)} {(install)} {(beta)}
                    )
                    (C {(${ VSub_Name sudo_prefix)} {(gcloud)} 
                      {
                        (BracedVarSub
                          token: <VSub_Name gcloud_prompt>
                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                          spids: [10910 10913]
                        )
                      } {(components)} {(update)}
                    )
                  ]
                  spids: [-1 10865]
                )
              ]
              else_action: [
                (Assignment
                  keyword: Assign_Local
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:version)
                      op: Equal
                      rhs: 
                        {
                          (CommandSubPart
                            command_list: 
                              (CommandList
                                children: [
                                  (C {(gcloud)} {(version)} {(--format) (Lit_Other "=") (json)})
                                ]
                              )
                            left_token: <Left_CommandSub "$(">
                            spids: [10926 10934]
                          )
                        }
                      spids: [10925]
                    )
                  ]
                  spids: [10923]
                )
                (C {(python)} 
                  {(-c) 
                    (SQ <"\n"> <"import json,sys\n"> <"from distutils import version\n"> <"\n"> 
                      <"minVersion = version.LooseVersion(\"1.3.0\")\n"> <"required = [ \"alpha\", \"beta\", \"core\" ]\n"> <"data = json.loads(sys.argv[1])\n"> 
                      <"rel = data.get(\"Google Cloud SDK\")\n"> <"if rel != \"HEAD\" and version.LooseVersion(rel) < minVersion:\n"> 
                      <"  print(\"gcloud version out of date ( < %s )\" % minVersion)\n"> <"  exit(1)\n"> <"missing = []\n"> <"for c in required:\n"> <"  if not data.get(c):\n"> 
                      <"    missing += [c]\n"> <"if missing:\n"> <"  for c in missing:\n"> 
                      <"    print (\"missing required gcloud component \\\"{0}\\\"\".format(c))\n"> <"  exit(1)\n"> <"    ">
                    )
                  } {(DQ ) (DQ (${ VSub_Name version)) (DQ )}
                )
              ]
              spids: [10920 10974]
            )
          ]
          spids: [10799]
        )
      spids: [10793 10798]
    )
    (FuncDef
      name: verify-kube-binaries
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:missing_binaries)
                  op: Equal
                  rhs: {(false)}
                  spids: [11002]
                )
              ]
              spids: [11000]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Pipeline
                          children: [
                            (SimpleCommand
                              words: [
                                {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/kubectl.sh))}
                                {(version)}
                                {(--client)}
                              ]
                              redirects: [
                                (Redir
                                  op_id: Redir_GreatAnd
                                  fd: -1
                                  arg_word: {(/dev/null)}
                                  spids: [11021]
                                )
                              ]
                            )
                          ]
                          negated: True
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ("!!! kubectl appears to be broken or missing"))})
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:missing_binaries)
                          op: Equal
                          rhs: {(true)}
                          spids: [11035]
                        )
                      ]
                      spids: [11035]
                    )
                  ]
                  spids: [-1 11025]
                )
              ]
              spids: [-1 11039]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Pipeline
                          children: [
                            (C 
                              {
                                (CommandSubPart
                                  command_list: (CommandList children:[(C {(find-release-tars)})])
                                  left_token: <Left_CommandSub "$(">
                                  spids: [11046 11048]
                                )
                              }
                            )
                          ]
                          negated: True
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:missing_binaries)
                          op: Equal
                          rhs: {(true)}
                          spids: [11054]
                        )
                      ]
                      spids: [11054]
                    )
                  ]
                  spids: [-1 11051]
                )
              ]
              spids: [-1 11058]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (Pipeline
                          children: [(C {(DQ (${ VSub_Name missing_binaries))})]
                          negated: True
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [(ControlFlow token:<ControlFlow_Return return>)]
                  spids: [-1 11073]
                )
              ]
              spids: [-1 11079]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:get_binaries_script)
                  op: Equal
                  rhs: {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/get-kube-binaries.sh))}
                  spids: [11083]
                )
              ]
              spids: [11083]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [(assign_pair lhs:(LhsName name:resp) op:Equal rhs:{(DQ (y))} spids:[11094])]
              spids: [11092]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (LogicalNot
                              child: 
                                (BoolBinary
                                  op_id: BoolBinary_EqualTilde
                                  left: 
                                    {
                                      (DQ 
                                        (BracedVarSub
                                          token: <VSub_Name KUBERNETES_SKIP_CONFIRM>
                                          suffix_op: 
                                            (StringUnary
                                              op_id: VTest_ColonHyphen
                                              arg_word: {(n)}
                                            )
                                          spids: [11107 11111]
                                        )
                                      )
                                    }
                                  right: 
                                    {(Lit_Other "^") (Lit_Other "[") (yY) (Lit_Other "]") 
                                      (Lit_Other "$")
                                    }
                                )
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {
                        (DQ 
                          (
"Required binaries appear to be missing. Do you wish to download them? [Y/n]"
                          )
                        )
                      }
                    )
                    (C {(read)} {(resp)})
                  ]
                  spids: [-1 11125]
                )
              ]
              spids: [-1 11140]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_EqualTilde
                              left: {(DQ (${ VSub_Name resp))}
                              right: 
                                {(Lit_Other "^") (Lit_Other "[") (nN) (Lit_Other "]") (Lit_Other "$")}
                            )
                        )
                      terminator: <Op_Semi ";">
                    )
                  ]
                  action: [
                    (C {(echo)} {(DQ ("You must download binaries to continue. You can use "))})
                    (C {(echo)} {(DQ ("  ") (${ VSub_Name get_binaries_script))})
                    (C {(echo)} {(DQ ("to do this for your automatically."))})
                    (C {(exit)} {(1)})
                  ]
                  spids: [-1 11164]
                )
              ]
              spids: [-1 11196]
            )
            (C {(DQ (${ VSub_Name get_binaries_script))})
          ]
          spids: [10997]
        )
      spids: [10991 10996]
    )
    (FuncDef
      name: pushd
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{(command)} {(pushd)} {($ VSub_At "$@")}]
              redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[11226])]
            )
          ]
          spids: [11217]
        )
      spids: [11211 11216]
    )
    (FuncDef
      name: popd
      body: 
        (BraceGroup
          children: [
            (SimpleCommand
              words: [{(command)} {(popd)} {($ VSub_At "$@")}]
              redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[11251])]
            )
          ]
          spids: [11242]
        )
      spids: [11236 11241]
    )
  ]
)