(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:dtbsize)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [
                          (C {(ls)} {(-l)} {($ VSub_Number '$2')})
                          (C {(awk)} {(SQ <'{print $5}'>)})
                        ]
                        negated: False
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [99 113]
              )
            }
          spids: [98]
        )
      ]
      spids: [98]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:obs)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [
                          (C {(strings)} {(-at)} {(d)} {($ VSub_Number '$1')})
                          (C {(grep)} {(DQ ('Device Tree Blob STARTS here'))})
                          (C {(awk)} {(SQ <'{print $1}'>)})
                        ]
                        negated: False
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [116 140]
              )
            }
          spids: [115]
        )
      ]
      spids: [115]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:eol)
          op: Equal
          rhs: 
            {
              (CommandSubPart
                command_list: 
                  (CommandList
                    children: [
                      (Pipeline
                        children: [
                          (C {(strings)} {(-at)} {(d)} {($ VSub_Number '$1')})
                          (C {(grep)} {(DQ ('Device Tree Blob STOPS here'))})
                          (C {(awk)} {(SQ <'{print $1}'>)})
                        ]
                        negated: False
                      )
                    ]
                  )
                left_token: <Left_Backtick '`'>
                spids: [143 167]
              )
            }
          spids: [142]
        )
      ]
      spids: [142]
    )
    (Sentence
      child: 
        (Assignment
          keyword: Assign_None
          pairs: [
            (assign_pair
              lhs: (LhsName name:sz)
              op: Equal
              rhs: 
                {
                  (ArithSubPart
                    anode: 
                      (ArithBinary
                        op_id: Arith_Minus
                        left: (ArithVarRef name:eol)
                        right: (ArithVarRef name:obs)
                      )
                    spids: [170 177]
                  )
                }
              spids: [169]
            )
          ]
          spids: [169]
        )
      terminator: <Op_Semi ';'>
    )
    (If
      arms: [
        (if_arm
          cond: [
            (C {(Lit_Other '[')} {($ VSub_Name '$sz')} {(-lt)} {($ VSub_Name '$dtbsize')} 
              {(Lit_Other ']')}
            )
          ]
          action: [
            (C {(echo)} {(DQ ('Selected blob is too big to reembed. Please rebuild the kernel.'))})
            (C {(exit)})
          ]
          spids: [16777215 192]
        )
      ]
      spids: [16777215 204]
    )
    (SimpleCommand
      words: [
        {(dd)}
        {(Lit_VarLike 'if=') ($ VSub_Number '$2')}
        {(Lit_VarLike 'ibs=') (${ VSub_Name dtbsize)}
        {(Lit_VarLike 'of=') ($ VSub_Number '$1')}
        {(Lit_VarLike 'obs=') (${ VSub_Name obs)}
        {(Lit_VarLike 'oseek=') (1)}
        {(Lit_VarLike 'conv=') (notrunc)}
      ]
      redirects: [(Redir op_id:Redir_Great fd:2 arg_word:{(/dev/null)} spids:[230])]
    )
  ]
)