(CommandList
  children: [
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgname) op:Equal rhs:{(prosody-modules)} spids:[6])]
      spids: [6]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgver) op:Equal rhs:{(0.9.20170828)} spids:[9])]
      spids: [9]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:_commit) op:Equal rhs:{(595d9d68fd11)} spids:[12])]
      spids: [12]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:pkgrel) op:Equal rhs:{(0)} spids:[15])]
      spids: [15]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:pkgdesc)
          op: Equal
          rhs: {(DQ ('modules for the prosody XMPP server'))}
          spids: [18]
        )
      ]
      spids: [18]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:url)
          op: Equal
          rhs: {(DQ ('https://modules.prosody.im/'))}
          spids: [23]
        )
      ]
      spids: [23]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:arch) op:Equal rhs:{(DQ (noarch))} spids:[28])]
      spids: [28]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:license) op:Equal rhs:{(DQ (MIT))} spids:[33])]
      spids: [33]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:makedepends) op:Equal rhs:{(DQ )} spids:[38])]
      spids: [38]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:subpackages)
          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]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:depends)
          op: Equal
          rhs: {(DQ ('prosody ') ($ VSub_Name '$subpackages'))}
          spids: [81]
        )
      ]
      spids: [81]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:source)
          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]
    )
    (Assignment
      keyword: Assign_None
      pairs: [(assign_pair lhs:(LhsName name:options) op:Equal rhs:{(DQ ('!check'))} spids:[103])]
      spids: [103]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:builddir)
          op: Equal
          rhs: {(DQ (${ VSub_Name srcdir) (/prosody-modules-) (${ VSub_Name _commit))}
          spids: [108]
        )
      ]
      spids: [108]
    )
    (FuncDef
      name: package
      body: (BraceGroup children:[(C {(mkdir)} {(-p)} {(DQ ($ VSub_Name '$pkgdir'))})] spids:[123])
      spids: [120 123]
    )
    (FuncDef
      name: _package_mod
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:mod)
                  op: Equal
                  rhs: 
                    {
                      (DQ (mod_) 
                        (BracedVarSub
                          token: <VSub_Name subpkgname>
                          suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(prosody-mod-)})
                          spids: [146 150]
                        )
                      )
                    }
                  spids: [143]
                )
              ]
              spids: [143]
            )
            (C {(cd)} {(DQ ($ VSub_Name '$builddir'))})
            (If
              arms: [
                (if_arm
                  cond: [
                    (Sentence
                      child: 
                        (C {(Lit_Other '[')} {(-f)} 
                          {(DQ ($ VSub_Name '$mod') (/) ($ VSub_Name '$mod') (.lua))} {(Lit_Other ']')}
                        )
                      terminator: <Op_Semi ';'>
                    )
                  ]
                  action: [
                    (C {(install)} {(-Dm644)} {(DQ ($ VSub_Name '$mod') (/) ($ VSub_Name '$mod') (.lua))} 
                      {
                        (DQ (${ VSub_Name subpkgdir) (/usr/lib/prosody/modules/) ($ VSub_Name '$mod') 
                          (.lua)
                        )
                      }
                    )
                  ]
                  spids: [-1 178]
                )
              ]
              else_action: [
                (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name subpkgdir) (/usr/lib/prosody/modules))})
                (C {(cp)} {(-R)} {(DQ ($ VSub_Name '$mod') (/) (${ VSub_Name mod))} 
                  {(DQ (${ VSub_Name subpkgdir) (/usr/lib/prosody/modules/))}
                )
              ]
              spids: [206 245]
            )
          ]
          spids: [140]
        )
      spids: [137 140]
    )
    (FuncDef
      name: auth_ldap
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ ('prosody<0.10 lua5.1-ldap'))}
                  spids: [256]
                )
              ]
              spids: [256]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ('prosody module providing client authentication using LDAP'))}
                  spids: [262]
                )
              ]
              spids: [262]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:url)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (BracedVarSub
                          token: <VSub_Name subpkgname>
                          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]
    )
    (FuncDef
      name: auth_pam
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [291]
                )
              ]
              spids: [291]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ('prosody module providing client authentication using PAM'))}
                  spids: [297]
                )
              ]
              spids: [297]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:url)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (BracedVarSub
                          token: <VSub_Name subpkgname>
                          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]
    )
    (FuncDef
      name: auth_sql
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [326]
                )
              ]
              spids: [326]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ('prosody module providing client authentication using SQL db queries'))}
                  spids: [332]
                )
              ]
              spids: [332]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:url)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (BracedVarSub
                          token: <VSub_Name subpkgname>
                          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]
    )
    (FuncDef
      name: broadcast
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [361]
                )
              ]
              spids: [361]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (
'prosody module similiar to mod_announce, but compatible with shitty clients'
                        )
                      )
                    }
                  spids: [367]
                )
              ]
              spids: [367]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:url)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (BracedVarSub
                          token: <VSub_Name subpkgname>
                          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]
    )
    (FuncDef
      name: carbons
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ ('prosody<0.10'))}
                  spids: [396]
                )
              ]
              spids: [396]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ('prosody module limiting the frequency of login attempts'))}
                  spids: [402]
                )
              ]
              spids: [402]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:url)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (BracedVarSub
                          token: <VSub_Name subpkgname>
                          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]
    )
    (FuncDef
      name: c2s_conn_throttle
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [431]
                )
              ]
              spids: [431]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ('prosody module limiting the frequency of login attempts'))}
                  spids: [437]
                )
              ]
              spids: [437]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:url)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (BracedVarSub
                          token: <VSub_Name subpkgname>
                          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]
    )
    (FuncDef
      name: host_guard
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [466]
                )
              ]
              spids: [466]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ('prosody module configure access for each virtual host XMPP hosts'))}
                  spids: [472]
                )
              ]
              spids: [472]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:url)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (BracedVarSub
                          token: <VSub_Name subpkgname>
                          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]
    )
    (FuncDef
      name: ipcheck
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [501]
                )
              ]
              spids: [501]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ('prosody module implementing XEP-0279: Server IP Check'))}
                  spids: [507]
                )
              ]
              spids: [507]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:url)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (BracedVarSub
                          token: <VSub_Name subpkgname>
                          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]
    )
    (FuncDef
      name: log_auth
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [536]
                )
              ]
              spids: [536]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: 
                    {(DQ ('prosody module to log the clients IP address for failed login attempts'))}
                  spids: [542]
                )
              ]
              spids: [542]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:url)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (BracedVarSub
                          token: <VSub_Name subpkgname>
                          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]
    )
    (FuncDef
      name: mam
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [571]
                )
              ]
              spids: [571]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ('prosody module implementing XEP-0313: Message Archive Management'))}
                  spids: [577]
                )
              ]
              spids: [577]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:url)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (BracedVarSub
                          token: <VSub_Name subpkgname>
                          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]
    )
    (FuncDef
      name: pastebin
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [606]
                )
              ]
              spids: [606]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ('prosody module moving large messages in MUCs to a build-in webserver'))}
                  spids: [612]
                )
              ]
              spids: [612]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:url)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (BracedVarSub
                          token: <VSub_Name subpkgname>
                          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]
    )
    (FuncDef
      name: register_json
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [641]
                )
              ]
              spids: [641]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (
'prosody module to handle registrations via HTTP POST requests containg JSON'
                        )
                      )
                    }
                  spids: [647]
                )
              ]
              spids: [647]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:url)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (BracedVarSub
                          token: <VSub_Name subpkgname>
                          suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(prosody-mod-)})
                          spids: [656 660]
                        ) (.html)
                      )
                    }
                  spids: [653]
                )
              ]
              spids: [653]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:mod)
                  op: Equal
                  rhs: 
                    {
                      (DQ (mod_) 
                        (BracedVarSub
                          token: <VSub_Name subpkgname>
                          suffix_op: (StringUnary op_id:VOp1_Pound arg_word:{(prosody-mod-)})
                          spids: [672 676]
                        )
                      )
                    }
                  spids: [669]
                )
              ]
              spids: [669]
            )
            (C {(cd)} {(DQ ($ VSub_Name '$builddir'))})
            (C {(mkdir)} {(-p)} {(DQ (${ VSub_Name subpkgdir) (/usr/lib/prosody/modules))})
            (C {(cp)} {(-R)} 
              {
                (DQ ($ VSub_Name '$mod') (/) 
                  (BracedVarSub
                    token: <VSub_Name mod>
                    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]
    )
    (FuncDef
      name: register_redirect
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [729]
                )
              ]
              spids: [729]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (
'prosody module showing instructions on how to register for out-of-band methods'
                        )
                      )
                    }
                  spids: [735]
                )
              ]
              spids: [735]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:url)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (BracedVarSub
                          token: <VSub_Name subpkgname>
                          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]
    )
    (FuncDef
      name: reload_modules
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [764]
                )
              ]
              spids: [764]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ('prosody module that reloads modules when the config file changes'))}
                  spids: [770]
                )
              ]
              spids: [770]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:url)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (BracedVarSub
                          token: <VSub_Name subpkgname>
                          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]
    )
    (FuncDef
      name: require_otr
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [799]
                )
              ]
              spids: [799]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ('prosody module that forces clients to use OTR encryption'))}
                  spids: [805]
                )
              ]
              spids: [805]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:url)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (BracedVarSub
                          token: <VSub_Name subpkgname>
                          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]
    )
    (FuncDef
      name: s2s_idle_timeout
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [834]
                )
              ]
              spids: [834]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ('prosody module that closes idle s2s connections after a while'))}
                  spids: [840]
                )
              ]
              spids: [840]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:url)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (BracedVarSub
                          token: <VSub_Name subpkgname>
                          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]
    )
    (FuncDef
      name: saslname
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [869]
                )
              ]
              spids: [869]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (
'prosody module that implements XEP-0233 to advertise the Kerberes principal name'
                        )
                      )
                    }
                  spids: [875]
                )
              ]
              spids: [875]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:url)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (BracedVarSub
                          token: <VSub_Name subpkgname>
                          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]
    )
    (FuncDef
      name: server_status
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ ('prosody prosody-mod-stanza_counter'))}
                  spids: [904]
                )
              ]
              spids: [904]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ('prosody module that publishes the server status as XML/JSON'))}
                  spids: [910]
                )
              ]
              spids: [910]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:url)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (BracedVarSub
                          token: <VSub_Name subpkgname>
                          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]
    )
    (FuncDef
      name: smacks
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [939]
                )
              ]
              spids: [939]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ('prosody module that implements XEP-0198: Stream Management'))}
                  spids: [945]
                )
              ]
              spids: [945]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:url)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (BracedVarSub
                          token: <VSub_Name subpkgname>
                          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]
    )
    (FuncDef
      name: stanza_counter
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [974]
                )
              ]
              spids: [974]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: {(DQ ('prosody module that counts in- and outgoing stanzas'))}
                  spids: [980]
                )
              ]
              spids: [980]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:url)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (BracedVarSub
                          token: <VSub_Name subpkgname>
                          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]
    )
    (FuncDef
      name: support_contact
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [1009]
                )
              ]
              spids: [1009]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('prosody module that adds a default contact to newly registered accounts'))
                    }
                  spids: [1015]
                )
              ]
              spids: [1015]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:url)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (BracedVarSub
                          token: <VSub_Name subpkgname>
                          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]
    )
    (FuncDef
      name: webpresence
      body: 
        (BraceGroup
          children: [
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:depends)
                  op: Equal
                  rhs: {(DQ (prosody))}
                  spids: [1044]
                )
              ]
              spids: [1044]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:pkgdesc)
                  op: Equal
                  rhs: 
                    {
                      (DQ 
                        (
'prosody module that publishes the online status of jabber uses e.g. in a blog'
                        )
                      )
                    }
                  spids: [1050]
                )
              ]
              spids: [1050]
            )
            (Assignment
              keyword: Assign_None
              pairs: [
                (assign_pair
                  lhs: (LhsName name:url)
                  op: Equal
                  rhs: 
                    {
                      (DQ ('https://modules.prosody.im/mod_') 
                        (BracedVarSub
                          token: <VSub_Name subpkgname>
                          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]
    )
    (Assignment
      keyword: Assign_None
      pairs: [
        (assign_pair
          lhs: (LhsName name:sha512sums)
          op: Equal
          rhs: 
            {
              (DQ 
                (
'fba8311f4b718b613435536bef36c0c01c62c663d8093ac6710eab9b784a08d4f689658c800f58fe4148bd43d9e0c6a5d56be3f2cff4ead6555a623860cb0825  prosody-modules-595d9d68fd11.tar.gz'
                )
              )
            }
          spids: [1073]
        )
      ]
      spids: [1073]
    )
  ]
)