(CommandList
  children: [
    (C {(set)} {(-o)} {(errexit)})
    (C {(set)} {(-o)} {(nounset)})
    (C {(set)} {(-o)} {(pipefail)})
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (DBracket
                  expr: 
                    (BoolUnary
                      op_id: BoolUnary_z
                      child: 
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Number 1>
                              suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(SQ )})
                              spids: [80 83]
                            )
                          )
                        }
                    )
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (C {(echo)} {(DQ ("usage: ") ($ VSub_Number "$0") (" <cache-file>"))})
            (C {(exit)} {(1)})
          ]
          spids: [-1 89]
        )
      ]
      spids: [-1 105]
    )
    (Sentence
      child: 
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:CACHE)
              op: Equal
              rhs: {(DQ ($ VSub_Number "$1"))}
              spids: [107]
            )
          ]
          spids: [107]
        )
      terminator: <Op_Semi ";">
    )
    (C {(shift)})
    (C {(trap)} {(DQ ("rm -f '") (${ VSub_Name CACHE) ("'"))} {(HUP)} {(INT)} {(TERM)} {(ERR)})
    (FuncDef
      name: kfind
      body: 
        (BraceGroup
          children: [
            (C {(find)} {(-H)} {(.)} {(./vendor/k8s.io/apimachinery)} {(./vendor/k8s.io/apiserver)} 
              {(./vendor/k8s.io/kube-aggregator)} {(./vendor/k8s.io/apiextensions-apiserver)} {(./vendor/k8s.io/metrics)} 
              {(./vendor/k8s.io/sample-apiserver)} {(./vendor/k8s.io/api)} {(./vendor/k8s.io/client-go)} {(./vendor/k8s.io/code-generator)} 
              {(EscapedLiteralPart token:<Lit_EscapedChar "\\(">)} {(-not)} {(EscapedLiteralPart token:<Lit_EscapedChar "\\(">)} 
              {(EscapedLiteralPart token:<Lit_EscapedChar "\\(">)} {(-path)} {(./vendor)} {(-o)} {(-path)} {(./staging)} {(-o)} {(-path)} 
              {(./_) (EscapedLiteralPart token:<Lit_EscapedChar "\\*">)} {(-o)} {(-path)} {(./.) (EscapedLiteralPart token:<Lit_EscapedChar "\\*">)} {(-o)} {(-path)} {(./docs)} 
              {(-o)} {(-path)} {(./examples)} {(EscapedLiteralPart token:<Lit_EscapedChar "\\)">)} {(-prune)} 
              {(EscapedLiteralPart token:<Lit_EscapedChar "\\)">)} {(EscapedLiteralPart token:<Lit_EscapedChar "\\)">)} {(DQ ($ VSub_At "$@"))}
            )
          ]
          spids: [156]
        )
      spids: [150 155]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:NEED_FIND) op:Equal rhs:{(true)} spids:[280])]
      spids: [280]
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: (DBracket expr:(BoolUnary op_id:BoolUnary_f child:{(DQ (${ VSub_Name CACHE))}))
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:N)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (C {(kfind)} {(-type)} {(d)} {(-newer)} {(DQ (${ VSub_Name CACHE))} 
                                    {(-print)} {(-quit)}
                                  )
                                  (C {(wc)} {(-l)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [308 332]
                      )
                    }
                  spids: [307]
                )
              ]
              spids: [307]
            )
            (AndOr
              children: [
                (DBracket
                  expr: 
                    (BoolBinary
                      op_id: BoolBinary_GlobDEqual
                      left: {(DQ (${ VSub_Name N))}
                      right: {(0)}
                    )
                )
                (Assignment
                  keyword: Assign_None
                  pairs: [
                    (assign_pair
                      lhs: (LhsName name:NEED_FIND)
                      op: Equal
                      rhs: {(false)}
                      spids: [351]
                    )
                  ]
                  spids: [351]
                )
              ]
              op_id: Op_DAmp
            )
          ]
          spids: [-1 304]
        )
      ]
      spids: [-1 354]
    )
    (C {(mkdir)} {(-p)} 
      {
        (CommandSubPart
          command_list: (CommandList children:[(C {(dirname)} {(DQ (${ VSub_Name CACHE))})])
          left_token: <Left_CommandSub "$(">
          spids: [360 368]
        )
      }
    )
    (If
      arms: [
        (if_arm
          cond: [
            (Sentence
              child: 
                (C 
                  {
                    (CommandSubPart
                      command_list: (CommandList children:[(C {(DQ (${ VSub_Name NEED_FIND))})])
                      left_token: <Left_CommandSub "$(">
                      spids: [372 378]
                    )
                  }
                )
              terminator: <Op_Semi ";">
            )
          ]
          action: [
            (Pipeline
              children: [
                (C {(kfind)} {(-type)} {(f)} {(-name)} 
                  {(EscapedLiteralPart token:<Lit_EscapedChar "\\*">) (.go)}
                )
                (C {(sed)} {(SQ <"s|/[^/]*$||">)})
                (C {(sed)} {(SQ <"s|^./||">)})
                (SimpleCommand
                  words: [{(sort)} {(-u)}]
                  redirects: [
                    (Redir
                      op_id: Redir_Great
                      fd: -1
                      arg_word: {(DQ (${ VSub_Name CACHE))}
                      spids: [428]
                    )
                  ]
                  more_env: [(env_pair name:LC_ALL val:{(C)} spids:[419])]
                )
              ]
              negated: False
            )
          ]
          spids: [-1 381]
        )
      ]
      spids: [-1 436]
    )
    (C {(cat)} {(DQ (${ VSub_Name CACHE))})
  ]
)