(CommandList
  children: [
    (C {(set)} {(-eu)})
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:OUTPUT)
          op: Equal
          rhs: {(${ VSub_Name PWD) (/) ($ VSub_Number '$1')}
          spids: [50]
        )
      ]
      spids: [48]
    )
    (C {(shift)})
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:JEKYLL_BASE)
          op: Equal
          rhs: {(${ VSub_Name PWD) (/) ($ VSub_Number '$1')}
          spids: [61]
        )
      ]
      spids: [59]
    )
    (C {(shift)})
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:SKYLARK_RULE_DOCS)
          op: Equal
          rhs: {(${ VSub_Name PWD) (/) ($ VSub_Number '$1')}
          spids: [72]
        )
      ]
      spids: [70]
    )
    (C {(shift)})
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:BE_ZIP)
          op: Equal
          rhs: {(${ VSub_Name PWD) (/) ($ VSub_Number '$1')}
          spids: [83]
        )
      ]
      spids: [81]
    )
    (C {(shift)})
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:SL_ZIP)
          op: Equal
          rhs: {(${ VSub_Name PWD) (/) ($ VSub_Number '$1')}
          spids: [94]
        )
      ]
      spids: [92]
    )
    (C {(shift)})
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:CLR_HTML)
          op: Equal
          rhs: {(${ VSub_Name PWD) (/) ($ VSub_Number '$1')}
          spids: [105]
        )
      ]
      spids: [103]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:TMP)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (C {(mktemp)} {(-d)} 
                        {
                          (DQ 
                            (BracedVarSub
                              token: <VSub_Name TMPDIR>
                              suffix_op: 
                                (StringUnary
                                  op_id: VTest_ColonHyphen
                                  arg_word: {(Lit_Slash /) (tmp)}
                                )
                              spids: [125 130]
                            ) (/tmp.XXXXXXXX)
                          )
                        }
                      )
                    ]
                  )
                left_token: <Left_CommandSub '$('>
                spids: [119 133]
              )
            }
          spids: [118]
        )
      ]
      spids: [116]
    )
    (Assignment
      keyword: Assign_Readonly
      pairs: [
        (assign_pair
          lhs: (LhsName name:OUT_DIR)
          op: Equal
          rhs: {(DQ ($ VSub_Name '$TMP') (/out))}
          spids: [137]
        )
      ]
      spids: [135]
    )
    (C {(trap)} {(DQ ('rm -rf ') (${ VSub_Name TMP))} {(EXIT)})
    (FuncDef
      name: setup
      body: 
        (BraceGroup
          children: [
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$OUT_DIR'))})
            (C {(cd)} {(DQ ($ VSub_Name '$OUT_DIR'))})
            (C {(tar)} {(-xf)} {(DQ (${ VSub_Name JEKYLL_BASE))})
          ]
          spids: [159]
        )
      spids: [155 158]
    )
    (FuncDef
      name: unpack_build_encyclopedia
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:be_dir)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$OUT_DIR') (/versions/master/docs/be))}
                  spids: [203]
                )
              ]
              spids: [201]
            )
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$be_dir'))})
            (C {(unzip)} {(-qq)} {(DQ ($ VSub_Name '$BE_ZIP'))} {(-d)} {(DQ ($ VSub_Name '$be_dir'))})
            (C {(mv)} {(DQ ($ VSub_Name '$be_dir') (/be-nav.html))} 
              {(DQ ($ VSub_Name '$OUT_DIR') (/_includes))}
            )
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$OUT_DIR') (/docs/be))})
            (ForEach
              iter_name: f
              iter_words: [
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (C {(find)} {(DQ ($ VSub_Name '$OUT_DIR') (/versions/master/docs/be))} 
                            {(-name)} {(DQ ('*.html'))}
                          )
                        ]
                      )
                    left_token: <Left_CommandSub '$('>
                    spids: [268 281]
                  )
                }
              ]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:filename)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(basename)} {(DQ ($ VSub_Name '$f'))})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [290 296]
                              )
                            }
                          spids: [289]
                        )
                      ]
                      spids: [287]
                    )
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op: <Redir_Great '>'>
                          fd: 16777215
                          arg_word: {(DQ ($ VSub_Name '$OUT_DIR') (/docs/be/) (${ VSub_Name filename))}
                        )
                        (HereDoc
                          op: <Redir_DLess '<<'>
                          fd: 16777215
                          here_begin: {(EOF)}
                          here_end_span_id: 323
                          stdin_parts: [
                            ('---\n')
                            ('layout: redirect\n')
                            ('redirect: docs/be/')
                            (${ VSub_Name filename)
                            ('\n')
                            ('---\n')
                          ]
                        )
                      ]
                    )
                  ]
                  spids: [284 325]
                )
              spids: [267 282]
            )
          ]
          spids: [198]
        )
      spids: [194 197]
    )
    (FuncDef
      name: unpack_skylark_library
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:sl_dir)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$OUT_DIR') (/versions/master/docs/skylark/lib))}
                  spids: [342]
                )
              ]
              spids: [340]
            )
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$sl_dir'))})
            (C {(unzip)} {(-qq)} {(DQ ($ VSub_Name '$SL_ZIP'))} {(-d)} {(DQ ($ VSub_Name '$sl_dir'))})
            (C {(mv)} {(DQ ($ VSub_Name '$sl_dir') (/skylark-nav.html))} 
              {(DQ ($ VSub_Name '$OUT_DIR') (/_includes))}
            )
            (C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$OUT_DIR') (/docs/skylark/lib))})
            (ForEach
              iter_name: f
              iter_words: [
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (C {(find)} 
                            {(DQ ($ VSub_Name '$OUT_DIR') (/versions/master/docs/skylark/lib))} {(-name)} {(DQ ('*.html'))}
                          )
                        ]
                      )
                    left_token: <Left_CommandSub '$('>
                    spids: [407 420]
                  )
                }
              ]
              do_arg_iter: F
              body: 
                (DoGroup
                  children: [
                    (Assignment
                      keyword: Assign_Local
                      pairs: [
                        (assign_pair
                          lhs: (LhsName name:filename)
                          op: Equal
                          rhs: 
                            {
                              (CommandSubPart
                                command_list: 
                                  (CommandList
                                    children: [(C {(basename)} {(DQ ($ VSub_Name '$f'))})]
                                  )
                                left_token: <Left_CommandSub '$('>
                                spids: [429 435]
                              )
                            }
                          spids: [428]
                        )
                      ]
                      spids: [426]
                    )
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (Redir
                          op: <Redir_Great '>'>
                          fd: 16777215
                          arg_word: 
                            {
                              (DQ ($ VSub_Name '$OUT_DIR') (/docs/skylark/lib/) (${ VSub_Name filename))
                            }
                        )
                        (HereDoc
                          op: <Redir_DLess '<<'>
                          fd: 16777215
                          here_begin: {(EOF)}
                          here_end_span_id: 462
                          stdin_parts: [
                            ('---\n')
                            ('layout: redirect\n')
                            ('redirect: docs/skylark/lib/')
                            (${ VSub_Name filename)
                            ('\n')
                            ('---\n')
                          ]
                        )
                      ]
                    )
                  ]
                  spids: [423 464]
                )
              spids: [406 421]
            )
          ]
          spids: [337]
        )
      spids: [333 336]
    )
    (FuncDef
      name: copy_skylark_rule_doc
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:rule_family)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [478]
                )
              ]
              spids: [476]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:rule_family_name)
                  op: Equal
                  rhs: {($ VSub_Number '$2')}
                  spids: [484]
                )
              ]
              spids: [482]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:be_dir)
                  op: Equal
                  rhs: {(DQ ($ VSub_Name '$OUT_DIR') (/versions/master/docs/be))}
                  spids: [490]
                )
              ]
              spids: [488]
            )
            (Subshell
              child: 
                (CommandList
                  children: [
                    (SimpleCommand
                      words: [{(cat)}]
                      redirects: [
                        (HereDoc
                          op: <Redir_DLess '<<'>
                          fd: 16777215
                          here_begin: {(EOF)}
                          here_end_span_id: 514
                          stdin_parts: [
                            ('---\n')
                            ('layout: documentation\n')
                            ('title: ')
                            (${ VSub_Name rule_family_name)
                            (' Rules\n')
                            ('---\n')
                          ]
                        )
                      ]
                    )
                    (Sentence
                      child: 
                        (C {(cat)} 
                          {
                            (DQ ($ VSub_Name '$TMP') (/skylark/) ($ VSub_Name '$rule_family') 
                              (/README.md)
                            )
                          }
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                )
              redirects: [
                (Redir
                  op: <Redir_Great '>'>
                  fd: 16777215
                  arg_word: {(DQ ($ VSub_Name '$be_dir') (/) (${ VSub_Name rule_family) (.md))}
                )
              ]
              spids: [498 526]
            )
          ]
          spids: [473]
        )
      spids: [469 472]
    )
    (FuncDef
      name: unpack_skylark_rule_docs
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:tmp_dir)
                  op: Equal
                  rhs: {($ VSub_Name '$TMP') (/skylark)}
                  spids: [551]
                )
              ]
              spids: [549]
            )
            (C {(mkdir)} {(-p)} {($ VSub_Name '$tmp_dir')})
            (C {(cd)} {(DQ ($ VSub_Name '$tmp_dir'))})
            (C {(tar)} {(-xf)} {(DQ (${ VSub_Name SKYLARK_RULE_DOCS))})
            (C {(copy_skylark_rule_doc)} {(docker)} {(DQ (Docker))})
            (C {(copy_skylark_rule_doc)} {(pkg)} {(DQ (Packaging))})
          ]
          spids: [546]
        )
      spids: [542 545]
    )
    (FuncDef
      name: process_doc
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:f)
                  op: Equal
                  rhs: {($ VSub_Number '$1')}
                  spids: [610]
                )
              ]
              spids: [608]
            )
            (Assignment
              keyword: Assign_Local
              pairs: [
                (assign_pair
                  lhs: (LhsName name:tempf)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [(C {(mktemp)} {(-t)} {(bazel-doc-XXXXXX)})]
                          )
                        left_token: <Left_CommandSub '$('>
                        spids: [617 623]
                      )
                    }
                  spids: [616]
                )
              ]
              spids: [614]
            )
            (C {(chmod)} {(Lit_Other '+') (w)} {($ VSub_Name '$f')})
            (Pipeline
              children: [
                (C {(cat)} {(DQ ($ VSub_Name '$f'))})
                (SimpleCommand
                  words: [{(sed)} {(SQ <'s,\\.md,.html,g;s,Blaze,Bazel,g;s,blaze,bazel,g'>)}]
                  redirects: [
                    (Redir
                      op: <Redir_Great '>'>
                      fd: 16777215
                      arg_word: {(DQ ($ VSub_Name '$tempf'))}
                    )
                  ]
                )
              ]
              negated: F
            )
            (SimpleCommand
              words: [{(cat)} {(DQ ($ VSub_Name '$tempf'))}]
              redirects: [(Redir op:<Redir_Great '>'> fd:16777215 arg_word:{(DQ ($ VSub_Name '$f'))})]
            )
          ]
          spids: [605]
        )
      spids: [601 604]
    )
    (FuncDef
      name: process_docs
      body: 
        (BraceGroup
          children: [
            (ForEach
              iter_name: f
              iter_words: [
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (C {(find)} {(DQ ($ VSub_Name '$OUT_DIR') (/versions/master/docs))} {(-name)} 
                            {(DQ ('*.html'))}
                          )
                        ]
                      )
                    left_token: <Left_CommandSub '$('>
                    spids: [684 697]
                  )
                }
              ]
              do_arg_iter: F
              body: (DoGroup children:[(C {(process_doc)} {($ VSub_Name '$f')})] spids:[700 708])
              spids: [683 698]
            )
            (ForEach
              iter_name: f
              iter_words: [
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (C {(find)} {(DQ ($ VSub_Name '$OUT_DIR') (/versions/master/docs))} {(-name)} 
                            {(DQ ('*.md'))}
                          )
                        ]
                      )
                    left_token: <Left_CommandSub '$('>
                    spids: [717 730]
                  )
                }
              ]
              do_arg_iter: F
              body: (DoGroup children:[(C {(process_doc)} {($ VSub_Name '$f')})] spids:[733 741])
              spids: [716 731]
            )
            (ForEach
              iter_name: f
              iter_words: [
                {
                  (CommandSubPart
                    command_list: 
                      (CommandList
                        children: [
                          (C {(find)} {(DQ ($ VSub_Name '$OUT_DIR') (/designs))} {(-name)} {(DQ ('*.md'))})
                        ]
                      )
                    left_token: <Left_CommandSub '$('>
                    spids: [750 763]
                  )
                }
              ]
              do_arg_iter: F
              body: (DoGroup children:[(C {(process_doc)} {($ VSub_Name '$f')})] spids:[766 774])
              spids: [749 764]
            )
          ]
          spids: [675]
        )
      spids: [671 674]
    )
    (FuncDef
      name: package_output
      body: 
        (BraceGroup
          children: [
            (C {(cd)} {(DQ ($ VSub_Name '$OUT_DIR'))})
            (C {(tar)} {(-hcf)} {($ VSub_Name '$OUTPUT')} 
              {
                (CommandSubPart
                  command_list: 
                    (CommandList
                      children: [
                        (Pipeline
                          children: [(C {(find)} {(.)} {(-type)} {(f)}) (C {(sort)})]
                          negated: F
                        )
                      ]
                    )
                  left_token: <Left_CommandSub '$('>
                  spids: [799 811]
                )
              }
            )
          ]
          spids: [783]
        )
      spids: [779 782]
    )
    (FuncDef
      name: main
      body: 
        (BraceGroup
          children: [
            (C {(setup)})
            (C {(unpack_build_encyclopedia)})
            (C {(unpack_skylark_library)})
            (C {(unpack_skylark_rule_docs)})
            (C {(cp)} {(${ VSub_Name CLR_HTML)} {(${ VSub_Name OUT_DIR) (/versions/master/docs)})
            (C {(process_docs)})
            (C {(package_output)})
          ]
          spids: [820]
        )
      spids: [816 819]
    )
    (C {(main)})
  ]
)