(CommandList
  children: [
    (Pipeline
      children: [
        (SimpleCommand
          words: [
            {(dd)}
            {(Lit_VarLike "if=") (/dev/zero)}
            {(Lit_VarLike "bs=") (1048576)}
            {(Lit_VarLike "count=") (100)}
          ]
          redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[15])]
        )
        (SimpleCommand
          words: [{(/usr/bin/time)} {(t/helper/test-sha1)}]
          redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(/dev/null)} spids:[24])]
        )
      ]
      negated: False
    )
    (While
      cond: [(C {(read)} {(expect)} {(cnt)} {(pfx)})]
      body: 
        (DoGroup
          children: [
            (Case
              to_match: {(DQ ($ VSub_Name "$expect"))}
              arms: [
                (case_arm
                  pat_list: [{(SQ <"#">) (Lit_Other "*")}]
                  action: [(ControlFlow token:<ControlFlow_Continue continue>)]
                  spids: [50 53 57 -1]
                )
              ]
              spids: [41 47 59]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:actual)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (BraceGroup
                                    children: [
                                      (AndOr
                                        children: [
                                          (C {(test)} {(-z)} {(DQ ($ VSub_Name "$pfx"))})
                                          (C {(echo)} {(DQ ($ VSub_Name "$pfx"))})
                                        ]
                                        op_id: Op_DPipe
                                      )
                                      (Pipeline
                                        children: [
                                          (SimpleCommand
                                            words: [
                                              {(dd)}
                                              {(Lit_VarLike "if=") (/dev/zero)}
                                              {(Lit_VarLike "bs=") (1048576)}
                                              {(Lit_VarLike "count=") ($ VSub_Name "$cnt")}
                                            ]
                                            redirects: [
                                              (Redir
                                                op_id: Redir_Great
                                                fd: 2
                                                arg_word: {(/dev/null)}
                                                spids: [97]
                                              )
                                            ]
                                          )
                                          (C {(perl)} {(-pe)} {(SQ <"y/\\000/g/">)})
                                        ]
                                        negated: False
                                      )
                                    ]
                                    spids: [66]
                                  )
                                  (C {(./t/helper/test-sha1)} {($ VSub_Name "$cnt")})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [63 121]
                      )
                    }
                  spids: [62]
                )
              ]
              spids: [62]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (C {(test)} {(DQ ($ VSub_Name "$expect"))} {(Lit_Other "=")} 
                      {(DQ ($ VSub_Name "$actual"))}
                    )
                  ]
                  action: [
                    (C {(echo)} 
                      {
                        (DQ ("OK: ") ($ VSub_Name "$expect") (" ") ($ VSub_Name "$cnt") (" ") 
                          ($ VSub_Name "$pfx")
                        )
                      }
                    )
                  ]
                  spids: [-1 139]
                )
              ]
              else_action: [
                (SimpleCommand
                  words: [{(echo)} {(DQ ("OOPS: ") ($ VSub_Name "$cnt"))}]
                  redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[159])]
                )
                (SimpleCommand
                  words: [{(echo)} {(DQ ("expect: ") ($ VSub_Name "$expect"))}]
                  redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[170])]
                )
                (SimpleCommand
                  words: [{(echo)} {(DQ ("actual: ") ($ VSub_Name "$actual"))}]
                  redirects: [(Redir op_id:Redir_GreatAnd fd:-1 arg_word:{(2)} spids:[181])]
                )
                (C {(exit)} {(1)})
              ]
              spids: [154 195]
            )
          ]
          spids: [38 197]
        )
      redirects: [
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: 
            {
              (DQ ("da39a3ee5e6b4b0d3255bfef95601890afd80709 0\n") 
                ("3f786850e387550fdab836ed7e6dc881de23001b 0 a\n") ("5277cbb45a15902137d332d97e89cf8136545485 0 ab\n") 
                ("03cfd743661f07975fa2f1220c5194cbaff48451 0 abc\n") ("3330b4373640f9e4604991e73c7e86bfd8da2dc3 0 abcd\n") 
                ("ec11312386ad561674f724b8cca7cf1796e26d1d 0 abcde\n") ("bdc37c074ec4ee6050d68bc133c6b912f36474df 0 abcdef\n") 
                ("69bca99b923859f2dc486b55b87f49689b7358c7 0 abcdefg\n") ("e414af7161c9554089f4106d6f1797ef14a73666 0 abcdefgh\n") 
                ("0707f2970043f9f7c22029482db27733deaec029 0 abcdefghi\n") ("a4dd8aa74a5636728fe52451636e2e17726033aa 1\n") 
                ("9986b45e2f4d7086372533bb6953a8652fa3644a 1 frotz\n") ("23d8d4f788e8526b4877548a32577543cbaaf51f 10\n") 
                ("8cd23f822ab44c7f481b8c92d591f6d1fcad431c 10 frotz\n") ("f3b5604a4e604899c1233edb3bf1cc0ede4d8c32 512\n") 
                ("b095bd837a371593048136e429e9ac4b476e1bb3 512 frotz\n") ("08fa81d6190948de5ccca3966340cc48c10cceac 1200 xyzzy\n") 
                ("e33a291f42c30a159733dd98b8b3e4ff34158ca0 4090 4G\n") ("#a3bf783bc20caa958f6cb24dd140a7b21984838d 9999 nitfol\n")
              )
            }
          do_expansion: True
          here_end: EOF
          was_filled: True
          spids: [199]
        )
      ]
    )
    (C {(exit)})
    (While
      cond: [(C {(read)} {(cnt)} {(pfx)})]
      body: 
        (DoGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:actual)
                  op: Equal
                  rhs: 
                    {
                      (CommandSubPart
                        command_list: 
                          (CommandList
                            children: [
                              (Pipeline
                                children: [
                                  (BraceGroup
                                    children: [
                                      (AndOr
                                        children: [
                                          (C {(test)} {(-z)} {(DQ ($ VSub_Name "$pfx"))})
                                          (C {(echo)} {(DQ ($ VSub_Name "$pfx"))})
                                        ]
                                        op_id: Op_DPipe
                                      )
                                      (Pipeline
                                        children: [
                                          (SimpleCommand
                                            words: [
                                              {(dd)}
                                              {(Lit_VarLike "if=") (/dev/zero)}
                                              {(Lit_VarLike "bs=") (1048576)}
                                              {(Lit_VarLike "count=") ($ VSub_Name "$cnt")}
                                            ]
                                            redirects: [
                                              (Redir
                                                op_id: Redir_Great
                                                fd: 2
                                                arg_word: {(/dev/null)}
                                                spids: [278]
                                              )
                                            ]
                                          )
                                          (C {(perl)} {(-pe)} {(SQ <"y/\\000/g/">)})
                                        ]
                                        negated: False
                                      )
                                    ]
                                    spids: [247]
                                  )
                                  (C {(sha1sum)})
                                  (C {(sed)} {(-e)} {(SQ <"s/ .*//">)})
                                ]
                                negated: False
                              )
                            ]
                          )
                        left_token: <Left_CommandSub "$(">
                        spids: [244 311]
                      )
                    }
                  spids: [243]
                )
              ]
              spids: [243]
            )
            (C {(echo)} 
              {(DQ ($ VSub_Name "$actual") (" ") ($ VSub_Name "$cnt") (" ") ($ VSub_Name "$pfx"))}
            )
          ]
          spids: [240 324]
        )
      redirects: [
        (HereDoc
          op_id: Redir_DLess
          fd: -1
          body: 
            {
              (DQ ("0\n") ("0 a\n") ("0 ab\n") ("0 abc\n") ("0 abcd\n") ("0 abcde\n") ("0 abcdef\n") 
                ("0 abcdefg\n") ("0 abcdefgh\n") ("0 abcdefghi\n") ("1\n") ("1 frotz\n") ("10\n") ("10 frotz\n") ("512\n") ("512 frotz\n") 
                ("1200 xyzzy\n") ("4090 4G\n") ("9999 nitfol\n")
              )
            }
          do_expansion: True
          here_end: EOF
          was_filled: True
          spids: [326]
        )
      ]
    )
  ]
)