(command.CommandList
  children: [
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:pkgname spids:[6])
          op: Equal
          rhs: {(prosody-modules)}
          spids: [6]
        )
      ]
      spids: [6]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:pkgver spids:[9])
          op: Equal
          rhs: {(0.9.20170828)}
          spids: [9]
        )
      ]
      spids: [9]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:_commit spids:[12])
          op: Equal
          rhs: {(595d9d68fd11)}
          spids: [12]
        )
      ]
      spids: [12]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:pkgrel spids:[15])
          op: Equal
          rhs: {(0)}
          spids: [15]
        )
      ]
      spids: [15]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:pkgdesc spids:[18])
          op: Equal
          rhs: {(DQ ('modules for the prosody XMPP server'))}
          spids: [18]
        )
      ]
      spids: [18]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:url spids:[23])
          op: Equal
          rhs: {(DQ ('https://modules.prosody.im/'))}
          spids: [23]
        )
      ]
      spids: [23]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:arch spids:[28])
          op: Equal
          rhs: {(DQ (noarch))}
          spids: [28]
        )
      ]
      spids: [28]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:license spids:[33])
          op: Equal
          rhs: {(DQ (MIT))}
          spids: [33]
        )
      ]
      spids: [33]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:makedepends spids:[38])
          op: Equal
          rhs: {(DQ )}
          spids: [38]
        )
      ]
      spids: [38]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:subpackages spids:[54])
          op: Equal
          rhs: 
            {
              (DQ ('\n') ('\tprosody-mod-auth_ldap\n') ('\tprosody-mod-auth_pam\n') 
                ('\tprosody-mod-auth_sql\n') ('\tprosody-mod-broadcast\n') ('\tprosody-mod-carbons\n') ('\tprosody-mod-c2s_conn_throttle\n') 
                ('\tprosody-mod-host_guard\n') ('\tprosody-mod-ipcheck\n') ('\tprosody-mod-log_auth\n') ('\tprosody-mod-mam\n') 
                ('\tprosody-mod-pastebin\n') ('\tprosody-mod-register_json\n') ('\tprosody-mod-register_redirect\n') 
                ('\tprosody-mod-reload_modules\n') ('\tprosody-mod-require_otr\n') ('\tprosody-mod-s2s_idle_timeout\n') ('\tprosody-mod-saslname\n') 
                ('\tprosody-mod-server_status\n') ('\tprosody-mod-smacks\n') ('\tprosody-mod-stanza_counter\n') ('\tprosody-mod-support_contact\n') 
                ('\tprosody-mod-webpresence')
              )
            }
          spids: [54]
        )
      ]
      spids: [54]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:depends spids:[81])
          op: Equal
          rhs: {(DQ ('prosody ') ($ VSub_DollarName '$subpackages'))}
          spids: [81]
        )
      ]
      spids: [81]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:source spids:[87])
          op: Equal
          rhs: 
            {
              (DQ (${ VSub_Name pkgname) (-) (${ VSub_Name _commit) 
                ('.tar.gz::https://hg.prosody.im/prosody-modules/archive/') (${ VSub_Name _commit) (.tar.gz)
              )
            }
          spids: [87]
        )
      ]
      spids: [87]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:options spids:[103])
          op: Equal
          rhs: {(DQ ('!check'))}
          spids: [103]
        )
      ]
      spids: [103]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:builddir spids:[108])
          op: Equal
          rhs: {(DQ (${ VSub_Name srcdir) (/prosody-modules-) (${ VSub_Name _commit))}
          spids: [108]
        )
      ]
      spids: [108]
    )
    (command.FuncDef
      name: package
      body: 
        (command.BraceGroup
          children: [(C {(mkdir)} {(-p)} {(DQ ($ VSub_DollarName '$pkgdir'))})]
          spids: [123]
        )
      spids: [120 123]
    )
    (command.FuncDef
      name: _package_mod
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:mod spids:[143])
                  op: Equal
                  rhs: 
                    {
                      (DQ (mod_) 
                        (word_part.BracedVarSub
                          token: <VSub_Name subpkgname>
                          suffix_op: (suffix_op.StringUnary op_id:VOp1_Pound arg_word:{(prosody-mod-)})
                          spids: [146 150]
                        )
                      )
                    }
                  spids: [143]
                )
              ]
              spids: [143]
            )
            (C {(cd)} {(DQ ($ VSub_DollarName '$builddir'))})
            (command.If
              arms: [
                (if_arm
                  cond: [
                    (command.Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-f)} 
                          {(DQ ($ VSub_DollarName '$mod') (/) ($ VSub_DollarName '$mod') (.lua))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(install)} {(-Dm644)} 
                      {(DQ ($ VSub_DollarName '$mod') (/) ($ VSub_DollarName '$mod') (.lua))} {(DQ (${ VSub_Name subpkgdir) (/usr/lib/prosody/modules/) ($ VSub_DollarName '$mod') (.lua))}
                    )
                  ]
                  spids: [16777215 178]
                )
              ]
              else_action: [
                (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name subpkgdir) (/usr/lib/prosody/modules))})
                (C {(cp)} {(-R)} {(DQ ($ VSub_DollarName '$mod') (/) (${ VSub_Name mod))} 
                  {(DQ (${ VSub_Name subpkgdir) (/usr/lib/prosody/modules/))}
                )
              ]
              spids: [206 245]
            )
          ]
          spids: [140]
        )
      spids: [137 140]
    )
    (command.FuncDef
      name: auth_ldap
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:depends spids:[256])
                  op: Equal
                  rhs: {(DQ ('prosody<0.10 lua5.1-ldap'))}
                  spids: [256]
                )
              ]
              spids: [256]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:pkgdesc spids:[262])
                  op: Equal
                  rhs: {(DQ ('prosody module providing client authentication using LDAP'))}
                  spids: [262]
                )
              ]
              spids: [262]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:url spids:[268])
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (word_part.BracedVarSub
                          token: <VSub_Name subpkgname>
                          suffix_op: (suffix_op.StringUnary op_id:VOp1_Pound arg_word:{(prosody-mod-)})
                          spids: [271 275]
                        ) (.html)
                      )
                    }
                  spids: [268]
                )
              ]
              spids: [268]
            )
            (C {(_package_mod)})
          ]
          spids: [253]
        )
      spids: [250 253]
    )
    (command.FuncDef
      name: auth_pam
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:depends spids:[291])
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [291]
                )
              ]
              spids: [291]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:pkgdesc spids:[297])
                  op: Equal
                  rhs: {(DQ ('prosody module providing client authentication using PAM'))}
                  spids: [297]
                )
              ]
              spids: [297]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:url spids:[303])
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (word_part.BracedVarSub
                          token: <VSub_Name subpkgname>
                          suffix_op: (suffix_op.StringUnary op_id:VOp1_Pound arg_word:{(prosody-mod-)})
                          spids: [306 310]
                        ) (.html)
                      )
                    }
                  spids: [303]
                )
              ]
              spids: [303]
            )
            (C {(_package_mod)})
          ]
          spids: [288]
        )
      spids: [285 288]
    )
    (command.FuncDef
      name: auth_sql
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:depends spids:[326])
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [326]
                )
              ]
              spids: [326]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:pkgdesc spids:[332])
                  op: Equal
                  rhs: {(DQ ('prosody module providing client authentication using SQL db queries'))}
                  spids: [332]
                )
              ]
              spids: [332]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:url spids:[338])
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (word_part.BracedVarSub
                          token: <VSub_Name subpkgname>
                          suffix_op: (suffix_op.StringUnary op_id:VOp1_Pound arg_word:{(prosody-mod-)})
                          spids: [341 345]
                        ) (.html)
                      )
                    }
                  spids: [338]
                )
              ]
              spids: [338]
            )
            (C {(_package_mod)})
          ]
          spids: [323]
        )
      spids: [320 323]
    )
    (command.FuncDef
      name: broadcast
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:depends spids:[361])
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [361]
                )
              ]
              spids: [361]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:pkgdesc spids:[367])
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (
'prosody module similiar to mod_announce, but compatible with shitty clients'
                        )
                      )
                    }
                  spids: [367]
                )
              ]
              spids: [367]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:url spids:[373])
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (word_part.BracedVarSub
                          token: <VSub_Name subpkgname>
                          suffix_op: (suffix_op.StringUnary op_id:VOp1_Pound arg_word:{(prosody-mod-)})
                          spids: [376 380]
                        ) (.html)
                      )
                    }
                  spids: [373]
                )
              ]
              spids: [373]
            )
            (C {(_package_mod)})
          ]
          spids: [358]
        )
      spids: [355 358]
    )
    (command.FuncDef
      name: carbons
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:depends spids:[396])
                  op: Equal
                  rhs: {(DQ ('prosody<0.10'))}
                  spids: [396]
                )
              ]
              spids: [396]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:pkgdesc spids:[402])
                  op: Equal
                  rhs: {(DQ ('prosody module limiting the frequency of login attempts'))}
                  spids: [402]
                )
              ]
              spids: [402]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:url spids:[408])
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (word_part.BracedVarSub
                          token: <VSub_Name subpkgname>
                          suffix_op: (suffix_op.StringUnary op_id:VOp1_Pound arg_word:{(prosody-mod-)})
                          spids: [411 415]
                        ) (.html)
                      )
                    }
                  spids: [408]
                )
              ]
              spids: [408]
            )
            (C {(_package_mod)})
          ]
          spids: [393]
        )
      spids: [390 393]
    )
    (command.FuncDef
      name: c2s_conn_throttle
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:depends spids:[431])
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [431]
                )
              ]
              spids: [431]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:pkgdesc spids:[437])
                  op: Equal
                  rhs: {(DQ ('prosody module limiting the frequency of login attempts'))}
                  spids: [437]
                )
              ]
              spids: [437]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:url spids:[443])
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (word_part.BracedVarSub
                          token: <VSub_Name subpkgname>
                          suffix_op: (suffix_op.StringUnary op_id:VOp1_Pound arg_word:{(prosody-mod-)})
                          spids: [446 450]
                        ) (.html)
                      )
                    }
                  spids: [443]
                )
              ]
              spids: [443]
            )
            (C {(_package_mod)})
          ]
          spids: [428]
        )
      spids: [425 428]
    )
    (command.FuncDef
      name: host_guard
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:depends spids:[466])
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [466]
                )
              ]
              spids: [466]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:pkgdesc spids:[472])
                  op: Equal
                  rhs: {(DQ ('prosody module configure access for each virtual host XMPP hosts'))}
                  spids: [472]
                )
              ]
              spids: [472]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:url spids:[478])
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (word_part.BracedVarSub
                          token: <VSub_Name subpkgname>
                          suffix_op: (suffix_op.StringUnary op_id:VOp1_Pound arg_word:{(prosody-mod-)})
                          spids: [481 485]
                        ) (.html)
                      )
                    }
                  spids: [478]
                )
              ]
              spids: [478]
            )
            (C {(_package_mod)})
          ]
          spids: [463]
        )
      spids: [460 463]
    )
    (command.FuncDef
      name: ipcheck
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:depends spids:[501])
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [501]
                )
              ]
              spids: [501]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:pkgdesc spids:[507])
                  op: Equal
                  rhs: {(DQ ('prosody module implementing XEP-0279: Server IP Check'))}
                  spids: [507]
                )
              ]
              spids: [507]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:url spids:[513])
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (word_part.BracedVarSub
                          token: <VSub_Name subpkgname>
                          suffix_op: (suffix_op.StringUnary op_id:VOp1_Pound arg_word:{(prosody-mod-)})
                          spids: [516 520]
                        ) (.html)
                      )
                    }
                  spids: [513]
                )
              ]
              spids: [513]
            )
            (C {(_package_mod)})
          ]
          spids: [498]
        )
      spids: [495 498]
    )
    (command.FuncDef
      name: log_auth
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:depends spids:[536])
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [536]
                )
              ]
              spids: [536]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:pkgdesc spids:[542])
                  op: Equal
                  rhs: 
                    {(DQ ('prosody module to log the clients IP address for failed login attempts'))}
                  spids: [542]
                )
              ]
              spids: [542]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:url spids:[548])
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (word_part.BracedVarSub
                          token: <VSub_Name subpkgname>
                          suffix_op: (suffix_op.StringUnary op_id:VOp1_Pound arg_word:{(prosody-mod-)})
                          spids: [551 555]
                        ) (.html)
                      )
                    }
                  spids: [548]
                )
              ]
              spids: [548]
            )
            (C {(_package_mod)})
          ]
          spids: [533]
        )
      spids: [530 533]
    )
    (command.FuncDef
      name: mam
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:depends spids:[571])
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [571]
                )
              ]
              spids: [571]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:pkgdesc spids:[577])
                  op: Equal
                  rhs: {(DQ ('prosody module implementing XEP-0313: Message Archive Management'))}
                  spids: [577]
                )
              ]
              spids: [577]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:url spids:[583])
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (word_part.BracedVarSub
                          token: <VSub_Name subpkgname>
                          suffix_op: (suffix_op.StringUnary op_id:VOp1_Pound arg_word:{(prosody-mod-)})
                          spids: [586 590]
                        ) (.html)
                      )
                    }
                  spids: [583]
                )
              ]
              spids: [583]
            )
            (C {(_package_mod)})
          ]
          spids: [568]
        )
      spids: [565 568]
    )
    (command.FuncDef
      name: pastebin
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:depends spids:[606])
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [606]
                )
              ]
              spids: [606]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:pkgdesc spids:[612])
                  op: Equal
                  rhs: {(DQ ('prosody module moving large messages in MUCs to a build-in webserver'))}
                  spids: [612]
                )
              ]
              spids: [612]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:url spids:[618])
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (word_part.BracedVarSub
                          token: <VSub_Name subpkgname>
                          suffix_op: (suffix_op.StringUnary op_id:VOp1_Pound arg_word:{(prosody-mod-)})
                          spids: [621 625]
                        ) (.html)
                      )
                    }
                  spids: [618]
                )
              ]
              spids: [618]
            )
            (C {(_package_mod)})
          ]
          spids: [603]
        )
      spids: [600 603]
    )
    (command.FuncDef
      name: register_json
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:depends spids:[641])
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [641]
                )
              ]
              spids: [641]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:pkgdesc spids:[647])
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (
'prosody module to handle registrations via HTTP POST requests containg JSON'
                        )
                      )
                    }
                  spids: [647]
                )
              ]
              spids: [647]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:url spids:[653])
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (word_part.BracedVarSub
                          token: <VSub_Name subpkgname>
                          suffix_op: (suffix_op.StringUnary op_id:VOp1_Pound arg_word:{(prosody-mod-)})
                          spids: [656 660]
                        ) (.html)
                      )
                    }
                  spids: [653]
                )
              ]
              spids: [653]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:mod spids:[669])
                  op: Equal
                  rhs: 
                    {
                      (DQ (mod_) 
                        (word_part.BracedVarSub
                          token: <VSub_Name subpkgname>
                          suffix_op: (suffix_op.StringUnary op_id:VOp1_Pound arg_word:{(prosody-mod-)})
                          spids: [672 676]
                        )
                      )
                    }
                  spids: [669]
                )
              ]
              spids: [669]
            )
            (C {(cd)} {(DQ ($ VSub_DollarName '$builddir'))})
            (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name subpkgdir) (/usr/lib/prosody/modules))})
            (C {(cp)} {(-R)} 
              {
                (DQ ($ VSub_DollarName '$mod') (/) 
                  (word_part.BracedVarSub
                    token: <VSub_Name mod>
                    suffix_op: (suffix_op.StringUnary op_id:VOp1_Pound arg_word:{(mod_)})
                    spids: [706 710]
                  )
                )
              } {(DQ (${ VSub_Name subpkgdir) (/usr/lib/prosody/modules/))}
            )
          ]
          spids: [638]
        )
      spids: [635 638]
    )
    (command.FuncDef
      name: register_redirect
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:depends spids:[729])
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [729]
                )
              ]
              spids: [729]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:pkgdesc spids:[735])
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (
'prosody module showing instructions on how to register for out-of-band methods'
                        )
                      )
                    }
                  spids: [735]
                )
              ]
              spids: [735]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:url spids:[741])
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (word_part.BracedVarSub
                          token: <VSub_Name subpkgname>
                          suffix_op: (suffix_op.StringUnary op_id:VOp1_Pound arg_word:{(prosody-mod-)})
                          spids: [744 748]
                        ) (.html)
                      )
                    }
                  spids: [741]
                )
              ]
              spids: [741]
            )
            (C {(_package_mod)})
          ]
          spids: [726]
        )
      spids: [723 726]
    )
    (command.FuncDef
      name: reload_modules
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:depends spids:[764])
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [764]
                )
              ]
              spids: [764]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:pkgdesc spids:[770])
                  op: Equal
                  rhs: {(DQ ('prosody module that reloads modules when the config file changes'))}
                  spids: [770]
                )
              ]
              spids: [770]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:url spids:[776])
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (word_part.BracedVarSub
                          token: <VSub_Name subpkgname>
                          suffix_op: (suffix_op.StringUnary op_id:VOp1_Pound arg_word:{(prosody-mod-)})
                          spids: [779 783]
                        ) (.html)
                      )
                    }
                  spids: [776]
                )
              ]
              spids: [776]
            )
            (C {(_package_mod)})
          ]
          spids: [761]
        )
      spids: [758 761]
    )
    (command.FuncDef
      name: require_otr
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:depends spids:[799])
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [799]
                )
              ]
              spids: [799]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:pkgdesc spids:[805])
                  op: Equal
                  rhs: {(DQ ('prosody module that forces clients to use OTR encryption'))}
                  spids: [805]
                )
              ]
              spids: [805]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:url spids:[811])
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (word_part.BracedVarSub
                          token: <VSub_Name subpkgname>
                          suffix_op: (suffix_op.StringUnary op_id:VOp1_Pound arg_word:{(prosody-mod-)})
                          spids: [814 818]
                        ) (.html)
                      )
                    }
                  spids: [811]
                )
              ]
              spids: [811]
            )
            (C {(_package_mod)})
          ]
          spids: [796]
        )
      spids: [793 796]
    )
    (command.FuncDef
      name: s2s_idle_timeout
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:depends spids:[834])
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [834]
                )
              ]
              spids: [834]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:pkgdesc spids:[840])
                  op: Equal
                  rhs: {(DQ ('prosody module that closes idle s2s connections after a while'))}
                  spids: [840]
                )
              ]
              spids: [840]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:url spids:[846])
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (word_part.BracedVarSub
                          token: <VSub_Name subpkgname>
                          suffix_op: (suffix_op.StringUnary op_id:VOp1_Pound arg_word:{(prosody-mod-)})
                          spids: [849 853]
                        ) (.html)
                      )
                    }
                  spids: [846]
                )
              ]
              spids: [846]
            )
            (C {(_package_mod)})
          ]
          spids: [831]
        )
      spids: [828 831]
    )
    (command.FuncDef
      name: saslname
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:depends spids:[869])
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [869]
                )
              ]
              spids: [869]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:pkgdesc spids:[875])
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (
'prosody module that implements XEP-0233 to advertise the Kerberes principal name'
                        )
                      )
                    }
                  spids: [875]
                )
              ]
              spids: [875]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:url spids:[881])
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (word_part.BracedVarSub
                          token: <VSub_Name subpkgname>
                          suffix_op: (suffix_op.StringUnary op_id:VOp1_Pound arg_word:{(prosody-mod-)})
                          spids: [884 888]
                        ) (.html)
                      )
                    }
                  spids: [881]
                )
              ]
              spids: [881]
            )
            (C {(_package_mod)})
          ]
          spids: [866]
        )
      spids: [863 866]
    )
    (command.FuncDef
      name: server_status
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:depends spids:[904])
                  op: Equal
                  rhs: {(DQ ('prosody prosody-mod-stanza_counter'))}
                  spids: [904]
                )
              ]
              spids: [904]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:pkgdesc spids:[910])
                  op: Equal
                  rhs: {(DQ ('prosody module that publishes the server status as XML/JSON'))}
                  spids: [910]
                )
              ]
              spids: [910]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:url spids:[916])
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (word_part.BracedVarSub
                          token: <VSub_Name subpkgname>
                          suffix_op: (suffix_op.StringUnary op_id:VOp1_Pound arg_word:{(prosody-mod-)})
                          spids: [919 923]
                        ) (.html)
                      )
                    }
                  spids: [916]
                )
              ]
              spids: [916]
            )
            (C {(_package_mod)})
          ]
          spids: [901]
        )
      spids: [898 901]
    )
    (command.FuncDef
      name: smacks
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:depends spids:[939])
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [939]
                )
              ]
              spids: [939]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:pkgdesc spids:[945])
                  op: Equal
                  rhs: {(DQ ('prosody module that implements XEP-0198: Stream Management'))}
                  spids: [945]
                )
              ]
              spids: [945]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:url spids:[951])
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (word_part.BracedVarSub
                          token: <VSub_Name subpkgname>
                          suffix_op: (suffix_op.StringUnary op_id:VOp1_Pound arg_word:{(prosody-mod-)})
                          spids: [954 958]
                        ) (.html)
                      )
                    }
                  spids: [951]
                )
              ]
              spids: [951]
            )
            (C {(_package_mod)})
          ]
          spids: [936]
        )
      spids: [933 936]
    )
    (command.FuncDef
      name: stanza_counter
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:depends spids:[974])
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [974]
                )
              ]
              spids: [974]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:pkgdesc spids:[980])
                  op: Equal
                  rhs: {(DQ ('prosody module that counts in- and outgoing stanzas'))}
                  spids: [980]
                )
              ]
              spids: [980]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:url spids:[986])
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (word_part.BracedVarSub
                          token: <VSub_Name subpkgname>
                          suffix_op: (suffix_op.StringUnary op_id:VOp1_Pound arg_word:{(prosody-mod-)})
                          spids: [989 993]
                        ) (.html)
                      )
                    }
                  spids: [986]
                )
              ]
              spids: [986]
            )
            (C {(_package_mod)})
          ]
          spids: [971]
        )
      spids: [968 971]
    )
    (command.FuncDef
      name: support_contact
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:depends spids:[1009])
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [1009]
                )
              ]
              spids: [1009]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:pkgdesc spids:[1015])
                  op: Equal
                  rhs: 
                    {
                      (DQ ('prosody module that adds a default contact to newly registered accounts'))
                    }
                  spids: [1015]
                )
              ]
              spids: [1015]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:url spids:[1021])
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (word_part.BracedVarSub
                          token: <VSub_Name subpkgname>
                          suffix_op: (suffix_op.StringUnary op_id:VOp1_Pound arg_word:{(prosody-mod-)})
                          spids: [1024 1028]
                        ) (.html)
                      )
                    }
                  spids: [1021]
                )
              ]
              spids: [1021]
            )
            (C {(_package_mod)})
          ]
          spids: [1006]
        )
      spids: [1003 1006]
    )
    (command.FuncDef
      name: webpresence
      body: 
        (command.BraceGroup
          children: [
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:depends spids:[1044])
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [1044]
                )
              ]
              spids: [1044]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:pkgdesc spids:[1050])
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (
'prosody module that publishes the online status of jabber uses e.g. in a blog'
                        )
                      )
                    }
                  spids: [1050]
                )
              ]
              spids: [1050]
            )
            (command.Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (lhs_expr.LhsName name:url spids:[1056])
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (word_part.BracedVarSub
                          token: <VSub_Name subpkgname>
                          suffix_op: (suffix_op.StringUnary op_id:VOp1_Pound arg_word:{(prosody-mod-)})
                          spids: [1059 1063]
                        ) (.html)
                      )
                    }
                  spids: [1056]
                )
              ]
              spids: [1056]
            )
            (C {(_package_mod)})
          ]
          spids: [1041]
        )
      spids: [1038 1041]
    )
    (command.Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (lhs_expr.LhsName name:sha512sums spids:[1073])
          op: Equal
          rhs: 
            {
              (DQ 
                (
'fba8311f4b718b613435536bef36c0c01c62c663d8093ac6710eab9b784a08d4f689658c800f58fe4148bd43d9e0c6a5d56be3f2cff4ead6555a623860cb0825  prosody-modules-595d9d68fd11.tar.gz'
                )
              )
            }
          spids: [1073]
        )
      ]
      spids: [1073]
    )
  ]
)