(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:tid) op:Equal rhs:{(DQ ('transfer data'))} spids:[7])]
      spids: [7]
    )
    (ForEach
      iter_name: p
      iter_words: [{(${ VSub_Name SSH_PROTOCOLS)}]
      do_arg_iter: False
      body: 
        (DoGroup
          children: [
            (C {(verbose)} {(DQ ($ VSub_Name '$tid') (': proto ') ($ VSub_Name '$p'))})
            (C {(rm)} {(-f)} {(${ VSub_Name COPY)})
            (SimpleCommand
              words: [
                {(${ VSub_Name SSH)}
                {(-n)}
                {(-q)}
                {(-) ($ VSub_Name '$p')}
                {(-F)}
                {($ VSub_Name '$OBJ') (/ssh_proxy)}
                {(somehost)}
                {(cat)}
                {(${ VSub_Name DATA)}
              ]
              redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(${ VSub_Name COPY)} spids:[69])]
            )
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')})
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [(C {(fail)} {(DQ ('ssh cat ') ($ VSub_Name '$DATA') (' failed'))})]
                  spids: [-1 89]
                )
              ]
              spids: [-1 101]
            )
            (AndOr
              children: [
                (C {(cmp)} {(${ VSub_Name DATA)} {(${ VSub_Name COPY)})
                (C {(fail)} {(DQ ('corrupted copy'))})
              ]
              op_id: Op_DPipe
            )
            (ForEach
              iter_name: s
              iter_words: [{(10)} {(100)} {(1k)} {(32k)} {(64k)} {(128k)} {(256k)}]
              do_arg_iter: False
              body: 
                (DoGroup
                  children: [
                    (C {(trace)} {(DQ ('proto ') ($ VSub_Name '$p') (' dd-size ') (${ VSub_Name s))})
                    (C {(rm)} {(-f)} {(${ VSub_Name COPY)})
                    (Pipeline
                      children: [
                        (SimpleCommand
                          words: [
                            {(dd)}
                            {(Lit_VarLike 'if=') ($ VSub_Name '$DATA')}
                            {(Lit_VarLike 'obs=') (${ VSub_Name s)}
                          ]
                          redirects: [
                            (Redir
                              op_id: Redir_Great
                              fd: 2
                              arg_word: {(/dev/null)}
                              spids: [179]
                            )
                          ]
                        )
                        (C {(${ VSub_Name SSH)} {(-q)} {(-) ($ VSub_Name '$p')} {(-F)} 
                          {($ VSub_Name '$OBJ') (/ssh_proxy)} {(somehost)} {(DQ ('cat > ') (${ VSub_Name COPY))}
                        )
                      ]
                      negated: False
                    )
                    (If
                      arms: [
                        (if_arm
                          cond: [
                            (Sentence
                              child: 
                                (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')})
                              terminator: <Op_Semi ';'>
                            )
                          ]
                          action: [(C {(fail)} {(DQ ('ssh cat ') ($ VSub_Name '$DATA') (' failed'))})]
                          spids: [-1 224]
                        )
                      ]
                      spids: [-1 236]
                    )
                    (AndOr
                      children: [
                        (C {(cmp)} {($ VSub_Name '$DATA')} {(${ VSub_Name COPY)})
                        (C {(fail)} {(DQ ('corrupted copy'))})
                      ]
                      op_id: Op_DPipe
                    )
                  ]
                  spids: [145 256]
                )
              spids: [129 143]
            )
          ]
          spids: [24 258]
        )
      spids: [18 22]
    )
    (C {(rm)} {(-f)} {(${ VSub_Name COPY)})
  ]
)