(command.CommandList
  children: [
    (C {(.)} 
      {
        (DQ 
          (command_sub
            left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:83)
            command_list: 
              (command.CommandList
                children: [(C {(dirname)} {(DQ ($ Id.VSub_Number '$0'))})]
              )
          ) (/bazel-common.sh)
        )
      }
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:VERSION)
          op: assign_op.Equal
          rhs: 
            {
              (DQ (nightly-) 
                (command_sub
                  left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:97)
                  command_list: 
                    (command.CommandList
                      children: [
                        (C {(date)} {(Id.Lit_Other '+') (Id.Lit_Other '%') (F-) (Id.Lit_Other '%') (H)})
                      ]
                    )
                ) (-) 
                (command_sub
                  left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:107)
                  command_list: 
                    (command.CommandList
                      children: [(C {(git)} {(rev-parse)} {(--short)} {(Id.Lit_Other '@')})]
                    )
                )
              )
            }
          spids: [94]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:BAZEL_ARGS)
          op: assign_op.PlusEqual
          rhs: 
            {
              (sh_array_literal
                left: (Token id:Id.Op_LParen val:'(' span_id:119)
                words: [{(-c)} {(opt)}]
              )
            }
          spids: [118]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:BUCKET)
          op: assign_op.Equal
          rhs: {(kythe-releases)}
          spids: [125]
        )
      ]
    )
    (C {(sed)} {(-ri)} 
      {
        (DQ ('s/^release_version = .+') 
          (word_part.EscapedLiteral
            token: (Token id:Id.Lit_EscapedChar val:'\\$' span_id:135)
          ) ('/release_version = ') 
          (word_part.EscapedLiteral
            token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:137)
          ) (${ Id.VSub_Name VERSION) 
          (word_part.EscapedLiteral
            token: (Token id:Id.Lit_EscapedChar val:'\\"' span_id:141)
          ) (/)
        )
      } {(kythe/release/BUILD)}
    )
    (C {(bazel)} {(test)} 
      {
        (DQ 
          (braced_var_sub
            token: (Token id:Id.VSub_Name val:BAZEL_ARGS span_id:156)
            bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
          )
        )
      } {(//kythe/release) (Id.Lit_Other ':') (release_test)}
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:GENFILES)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (command_sub
                  left_token: (Token id:Id.Left_DollarParen val:'$(' span_id:170)
                  command_list: 
                    (command.CommandList
                      children: [
                        (command.Pipeline
                          children: [
                            (C {(bazel)} {(info)} 
                              {
                                (DQ 
                                  (braced_var_sub
                                    token: (Token id:Id.VSub_Name val:BAZEL_ARGS span_id:177)
                                    bracket_op: (bracket_op.WholeArray op_id:Id.Lit_At)
                                  )
                                )
                              }
                            )
                            (C {(awk)} 
                              {
                                (SQ 
                                  (Token
                                    id: Id.Lit_Chars
                                    val: '/^bazel-genfiles: / { print $2 }'
                                    span_id: 191
                                  )
                                )
                              }
                            )
                            (C {(tr)} {(--delete)} {(SQ (Token id:Id.Lit_Chars val:'\\r' span_id:201))})
                          ]
                          negated: F
                        )
                      ]
                    )
                )
              )
            }
          spids: [168]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:GENFILES)
          op: assign_op.Equal
          rhs: 
            {
              (DQ 
                (braced_var_sub
                  token: (Token id:Id.VSub_Name val:GENFILES span_id:209)
                  suffix_op: 
                    (suffix_op.PatSub
                      pat: 
                        {
                          (word_part.EscapedLiteral
                            token: (Token id:Id.Lit_EscapedChar val:'\\/' span_id:212)
                          ) (root) (word_part.EscapedLiteral token:(Token id:Id.Lit_EscapedChar val:'\\/' span_id:214)) (.cache)
                        }
                      replace: 
                        {($ Id.VSub_DollarName '$WORKSPACE') 
                          (word_part.EscapedLiteral
                            token: (Token id:Id.Lit_EscapedChar val:'\\/' span_id:218)
                          ) (cache)
                        }
                      replace_mode: Id.Lit_Slash
                    )
                )
              )
            }
          spids: [206]
        )
      ]
    )
    (C {(gsutil)} {(cp)} 
      (word.BracedTree
        parts: [
          (DQ ($ Id.VSub_DollarName '$GENFILES'))
          (/kythe/release/kythe-)
          ($ Id.VSub_DollarName '$VERSION')
          (.tar.gz)
          (word_part.BracedTuple words:[{} {(.md5)}])
        ]
      ) {(gs) (Id.Lit_Other ':') (//) ($ Id.VSub_DollarName '$BUCKET') (/)}
    )
  ]
)