(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: [(C {(dirname)} {(DQ (${ VSub_Name BASH_SOURCE))})]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [64 72]
              ) (/..)
            }
          spids: [63]
        )
      ]
      spids: [63]
    )
    (C {(source)} {(DQ (${ VSub_Name KUBE_ROOT) (/hack/lib/init.sh))})
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:branch)
          op: Equal
          rhs: 
            {
              (BracedVarSub
                token: <VSub_Number 1>
                suffix_op: 
                  (StringUnary
                    op_id: VTest_ColonHyphen
                    arg_word: 
                      {
                        (BracedVarSub
                          token: <VSub_Name KUBE_VERIFY_GIT_BRANCH>
                          suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(master)})
                          spids: [91 95]
                        )
                      }
                  )
                spids: [88 96]
              )
            }
          spids: [87]
        )
      ]
      spids: [85]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (AndOr
                  ops: [Op_DAmp Op_DAmp]
                  children: [
                    (Pipeline
                      children: [
                        (DBracket
                          expr: 
                            (BoolBinary
                              op_id: BoolBinary_EqualTilde
                              left: 
                                {
                                  (BracedVarSub
                                    token: <VSub_Name KUBE_FORCE_VERIFY_CHECKS>
                                    suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{})
                                    spids: [104 107]
                                  )
                                }
                              right: 
                                {(Lit_Other '^') (Lit_Other '[') (yY) (Lit_Other ']') (Lit_Other '$')}
                            )
                        )
                      ]
                      negated: T
                    )
                    (Pipeline
                      children: [
                        (C 
                          {(kube) (Lit_Other ':') (Lit_Other ':') (util) (Lit_Other ':') (Lit_Other ':') 
                            (has_changes_against_upstream_branch)
                          } {(DQ (${ VSub_Name branch))} {(SQ <Godeps/>)}
                        )
                      ]
                      negated: T
                    )
                    (Pipeline
                      children: [
                        (C 
                          {(kube) (Lit_Other ':') (Lit_Other ':') (util) (Lit_Other ':') (Lit_Other ':') 
                            (has_changes_against_upstream_branch)
                          } {(DQ (${ VSub_Name branch))} {(SQ <vendor/>)}
                        )
                      ]
                      negated: T
                    )
                  ]
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [(ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)})]
          spids: [16777215 168]
        )
      ]
      spids: [16777215 175]
    )
    (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name KUBE_ROOT) (/_tmp))})
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:_tmpdir)
          op: Equal
          rhs: 
            {
              (DQ 
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [
                        (C {(mktemp)} {(-d)} 
                          {(DQ (${ VSub_Name KUBE_ROOT) (/_tmp/kube-godep-licenses.XXXXXX))}
                        )
                      ]
                    )
                  left_token: <Left_CommandSub '$('>
                  spids: [200 211]
                )
              )
            }
          spids: [198]
        )
      ]
      spids: [198]
    )
    (FuncDef
      name: cleanup
      body: (BraceGroup children:[(C {(rm)} {(-rf)} {(DQ (${ VSub_Name _tmpdir))})] spids:[221])
      spids: [217 220]
    )
    (C {(trap)} {(cleanup)} {(EXIT)})
    (C {(cp)} {(-r)} {(DQ (${ VSub_Name KUBE_ROOT) (/Godeps))} {(DQ (${ VSub_Name _tmpdir) (/Godeps))})
    (C {(ln)} {(-s)} {(DQ (${ VSub_Name KUBE_ROOT) (/LICENSE))} {(DQ (${ VSub_Name _tmpdir))})
    (C {(ln)} {(-s)} {(DQ (${ VSub_Name KUBE_ROOT) (/vendor))} {(DQ (${ VSub_Name _tmpdir))})
    (SimpleCommand
      words: [{(DQ (${ VSub_Name KUBE_ROOT) (/hack/update-godep-licenses.sh))}]
      more_env: [(env_pair name:LICENSE_ROOT val:{(DQ (${ VSub_Name _tmpdir))} spids:[303])]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (Pipeline
                  children: [
                    (Assignment
                      keyword: Assign_None
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:_out)
                          op: Equal
                          rhs: 
                            {
                              (DQ 
                                (CommandSubPart
                                  command_list: 
                                    (CommandList
                                      children: [
                                        (C {(diff)} {(-Naupr)} 
                                          {(${ VSub_Name KUBE_ROOT) (/Godeps/LICENSES)} {(${ VSub_Name _tmpdir) (/Godeps/LICENSES)}
                                        )
                                      ]
                                    )
                                  left_token: <Left_CommandSub '$('>
                                  spids: [327 341]
                                )
                              )
                            }
                          spids: [325]
                        )
                      ]
                      spids: [325]
                    )
                  ]
                  negated: T
                )
              terminator: <Op_Semi ';'>
            )
          ]
          action: [
            (C {(echo)} 
              {
                (DQ 
                  (
'Your godep licenses file is out of date. Run hack/update-godep-licenses.sh and commit the results.'
                  )
                )
              }
            )
            (C {(echo)} {(DQ (${ VSub_Name _out))})
            (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)})
          ]
          spids: [16777215 345]
        )
      ]
      spids: [16777215 368]
    )
  ]
)