(command.CommandList
  children: [
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:address)
          op: assign_op.Equal
          rhs: {(DQ <127.0.0.1>)}
          spids: [29]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:cat)
          op: assign_op.Equal
          rhs: {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<which>} {<cat>}))}
          spids: [35]
        )
      ]
    )
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:dig)
          op: assign_op.Equal
          rhs: {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<which>} {<dig>}))}
          spids: [44]
        )
      ]
    )
    (command.If
      arms: [
        (if_arm
          cond: 
            (condition.Shell
              commands: [
                (command.Sentence
                  child: 
                    (C {<Id.Lit_LBracket '['>} {<-z>} {(DQ ($ Id.VSub_Number '$1'))} 
                      {<Id.Lit_RBracket ']'>}
                    )
                  terminator: <Id.Op_Semi _>
                )
              ]
            )
          action: [
            (C {<echo>} {(DQ <'Warming up cache by MRU domains...'>)})
            (command.Simple
              words: [
                {($ Id.VSub_DollarName '$dig')}
                {<-f>}
                {<->}
                {<Id.Lit_At '@'> ($ Id.VSub_DollarName '$address')}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {<'/dev/null'>}
                )
                (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>})
                (redir
                  op: <Id.Redir_DLess '<<'>
                  loc: (redir_loc.Fd fd:0)
                  arg: 
                    (redir_param.HereDoc
                      here_begin: {<EOT>}
                      here_end_span_id: 211
                      stdin_parts: [
                        <'2gis.ru\n'>
                        <'admir.kz\n'>
                        <'adobe.com\n'>
                        <'agent.mail.ru\n'>
                        <'aimp.ru\n'>
                        <'akamai.com\n'>
                        <'akamai.net\n'>
                        <'almaty.tele2.kz\n'>
                        <'aol.com\n'>
                        <'apple.com\n'>
                        <'arin.com\n'>
                        <'artlebedev.ru\n'>
                        <'auto.mail.ru\n'>
                        <'beeline.kz\n'>
                        <'bing.com\n'>
                        <'blogspot.com\n'>
                        <'clamav.net\n'>
                        <'comodo.com\n'>
                        <'dnscrypt.org\n'>
                        <'drive.google.com\n'>
                        <'drive.mail.ru\n'>
                        <'facebook.com\n'>
                        <'farmanager.com\n'>
                        <'fb.com\n'>
                        <'firefox.com\n'>
                        <'forum.farmanager.com\n'>
                        <'gazeta.ru\n'>
                        <'getsharex.com\n'>
                        <'gismeteo.ru\n'>
                        <'google.com\n'>
                        <'google.kz\n'>
                        <'google.ru\n'>
                        <'googlevideo.com\n'>
                        <'goto.kz\n'>
                        <'iana.org\n'>
                        <'icq.com\n'>
                        <'imap.mail.ru\n'>
                        <'instagram.com\n'>
                        <'instagram.com\n'>
                        <'intel.com\n'>
                        <'irr.kz\n'>
                        <'java.com\n'>
                        <'kaspersky.com\n'>
                        <'kaspersky.ru\n'>
                        <'kcell.kz\n'>
                        <'krisha.kz\n'>
                        <'lady.mail.ru\n'>
                        <'lenta.ru\n'>
                        <'libreoffice.org\n'>
                        <'linkedin.com\n'>
                        <'livejournal.com\n'>
                        <'mail.google.com\n'>
                        <'mail.ru\n'>
                        <'microsoft.com\n'>
                        <'mozilla.org\n'>
                        <'mra.mail.ru\n'>
                        <'munin-monitoring.org\n'>
                        <'my.mail.ru\n'>
                        <'news.bbcimg.co.uk\n'>
                        <'news.mail.ru\n'>
                        <'newsimg.bbc.net.uk\n'>
                        <'nvidia.com\n'>
                        <'odnoklassniki.ru\n'>
                        <'ok.ru\n'>
                        <'opencsw.org\n'>
                        <'opendns.com\n'>
                        <'opendns.org\n'>
                        <'opennet.ru\n'>
                        <'opera.com\n'>
                        <'oracle.com\n'>
                        <'peerbet.ru\n'>
                        <'piriform.com\n'>
                        <'plugring.farmanager.com\n'>
                        <'privoxy.org\n'>
                        <'qip.ru\n'>
                        <'raidcall.com\n'>
                        <'rambler.ru\n'>
                        <'reddit.com\n'>
                        <'ru.wikipedia.org\n'>
                        <'shallalist.de\n'>
                        <'skype.com\n'>
                        <'snob.ru\n'>
                        <'squid-cache.org\n'>
                        <'squidclamav.darold.net\n'>
                        <'squidguard.org\n'>
                        <'ssl.comodo.com\n'>
                        <'ssl.verisign.com\n'>
                        <'symantec.com\n'>
                        <'symantecliveupdate.com\n'>
                        <'tele2.kz\n'>
                        <'tengrinews.kz\n'>
                        <'thunderbird.com\n'>
                        <'torproject.org\n'>
                        <'torstatus.blutmagie.de\n'>
                        <'translate.google.com\n'>
                        <'unbound.net\n'>
                        <'verisign.com\n'>
                        <'vk.com\n'>
                        <'vk.me\n'>
                        <'vk.ru\n'>
                        <'vkontakte.com\n'>
                        <'vkontakte.ru\n'>
                        <'vlc.org\n'>
                        <'watsapp.net\n'>
                        <'weather.mail.ru\n'>
                        <'windowsupdate.com\n'>
                        <'www.baidu.com\n'>
                        <'www.bbc.co.uk\n'>
                        <'www.internic.net\n'>
                        <'www.opennet.ru\n'>
                        <'www.topgear.com\n'>
                        <'ya.ru\n'>
                        <'yahoo.com\n'>
                        <'yandex.com\n'>
                        <'yandex.ru\n'>
                        <'youtube.com\n'>
                        <'ytimg.com\n'>
                      ]
                    )
                )
              ]
              do_fork: T
            )
          ]
          spids: [54 67]
        )
      ]
      else_action: [
        (C {<echo>} {(DQ <'Warming up cache from '> ($ Id.VSub_Number '$1') <' file...'>)})
        (command.Pipeline
          children: [
            (C {($ Id.VSub_DollarName '$cat')} {($ Id.VSub_Number '$1')})
            (command.Simple
              words: [
                {($ Id.VSub_DollarName '$dig')}
                {<-f>}
                {<->}
                {<Id.Lit_At '@'> ($ Id.VSub_DollarName '$address')}
              ]
              redirects: [
                (redir
                  op: <Id.Redir_Great '>'>
                  loc: (redir_loc.Fd fd:1)
                  arg: {<'/dev/null'>}
                )
                (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>})
              ]
              do_fork: T
            )
          ]
          negated: F
        )
      ]
    )
    (C {<echo>} {(DQ <Done.>)})
    (C {<echo>} {(DQ <'Saving cache...'>)})
    (command.ShAssignment
      pairs: [
        (assign_pair
          lhs: (sh_lhs_expr.Name name:script)
          op: assign_op.Equal
          rhs: {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<which>} {<unbound_cache.sh>}))}
          spids: [262]
        )
      ]
    )
    (command.AndOr
      ops: [Id.Op_DAmp]
      children: [
        (C {<Id.Lit_LBracket '['>} {<-f>} {(DQ ($ Id.VSub_DollarName '$script'))} {<Id.Lit_RBracket ']'>})
        (C {($ Id.VSub_DollarName '$script')} {<-s>})
      ]
    )
    (C {<echo>} {(DQ <Done.>)})
    (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>})
  ]
)