haraka 3.3.0 → 3.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/.prettierignore +1 -0
  2. package/CHANGELOG.md +8 -4
  3. package/bin/haraka +1 -1
  4. package/connection.js +4 -2
  5. package/contrib/bsd-rc.d/haraka +2 -0
  6. package/outbound/hmail.js +1 -1
  7. package/outbound/index.js +1 -1
  8. package/outbound/queue.js +1 -1
  9. package/package.json +22 -21
  10. package/plugins.js +4 -3
  11. package/test/connection.js +5 -2
  12. package/test/fixtures/util_hmailitem.js +1 -1
  13. package/test/outbound/index.js +2 -2
  14. package/test/plugins/auth/auth_base.js +1 -1
  15. package/test/plugins/queue/smtp_forward.js +1 -1
  16. package/test/plugins/rcpt_to.host_list_base.js +1 -1
  17. package/test/plugins/rcpt_to.in_host_list.js +1 -1
  18. package/test/plugins/toobusy.js +186 -9
  19. package/test/smtp_client.js +1 -1
  20. package/.claude/settings.local.json +0 -28
  21. package/CLAUDE.md +0 -40
  22. package/GEMINI.md +0 -38
  23. package/address.js +0 -53
  24. package/config/dhparams.pem +0 -8
  25. package/config/me +0 -1
  26. package/config/tls_cert.pem +0 -23
  27. package/config/tls_key.pem +0 -28
  28. package/coverage/coverage-final.json +0 -2
  29. package/coverage/coverage-summary.json +0 -33
  30. package/coverage/tmp/coverage-79131-1779241025146-0.json +0 -1
  31. package/coverage/tmp/coverage-79132-1779240999690-0.json +0 -1
  32. package/coverage/tmp/coverage-79172-1779241000095-0.json +0 -1
  33. package/coverage/tmp/coverage-79210-1779241000156-0.json +0 -1
  34. package/coverage/tmp/coverage-79211-1779241000209-0.json +0 -1
  35. package/coverage/tmp/coverage-79212-1779241000266-0.json +0 -1
  36. package/coverage/tmp/coverage-79213-1779241000441-0.json +0 -1
  37. package/coverage/tmp/coverage-79214-1779241000626-0.json +0 -1
  38. package/coverage/tmp/coverage-79215-1779241000795-0.json +0 -1
  39. package/coverage/tmp/coverage-79216-1779241000965-0.json +0 -1
  40. package/coverage/tmp/coverage-79218-1779241001013-0.json +0 -1
  41. package/coverage/tmp/coverage-79219-1779241001179-0.json +0 -1
  42. package/coverage/tmp/coverage-79220-1779241006249-0.json +0 -1
  43. package/coverage/tmp/coverage-79227-1779241011453-0.json +0 -1
  44. package/coverage/tmp/coverage-79229-1779241011537-0.json +0 -1
  45. package/coverage/tmp/coverage-79230-1779241011647-0.json +0 -1
  46. package/coverage/tmp/coverage-79231-1779241011765-0.json +0 -1
  47. package/coverage/tmp/coverage-79232-1779241011841-0.json +0 -1
  48. package/coverage/tmp/coverage-79233-1779241011909-0.json +0 -1
  49. package/coverage/tmp/coverage-79234-1779241011984-0.json +0 -1
  50. package/coverage/tmp/coverage-79235-1779241012055-0.json +0 -1
  51. package/coverage/tmp/coverage-79236-1779241012230-0.json +0 -1
  52. package/coverage/tmp/coverage-79237-1779241012300-0.json +0 -1
  53. package/coverage/tmp/coverage-79238-1779241012368-0.json +0 -1
  54. package/coverage/tmp/coverage-79239-1779241012438-0.json +0 -1
  55. package/coverage/tmp/coverage-79240-1779241012511-0.json +0 -1
  56. package/coverage/tmp/coverage-79241-1779241012582-0.json +0 -1
  57. package/coverage/tmp/coverage-79242-1779241012652-0.json +0 -1
  58. package/coverage/tmp/coverage-79243-1779241012814-0.json +0 -1
  59. package/coverage/tmp/coverage-79244-1779241012931-0.json +0 -1
  60. package/coverage/tmp/coverage-79245-1779241013007-0.json +0 -1
  61. package/coverage/tmp/coverage-79246-1779241013106-0.json +0 -1
  62. package/coverage/tmp/coverage-79247-1779241013178-0.json +0 -1
  63. package/coverage/tmp/coverage-79248-1779241013244-0.json +0 -1
  64. package/coverage/tmp/coverage-79249-1779241013409-0.json +0 -1
  65. package/coverage/tmp/coverage-79250-1779241013697-0.json +0 -1
  66. package/coverage/tmp/coverage-79251-1779241013847-0.json +0 -1
  67. package/coverage/tmp/coverage-79252-1779241014288-0.json +0 -1
  68. package/coverage/tmp/coverage-79253-1779241014378-0.json +0 -1
  69. package/coverage/tmp/coverage-79254-1779241014428-0.json +0 -1
  70. package/coverage/tmp/coverage-79255-1779241021774-0.json +0 -1
  71. package/coverage/tmp/coverage-80382-1779241021949-0.json +0 -1
  72. package/coverage/tmp/coverage-80383-1779241025019-0.json +0 -1
  73. package/coverage/tmp/coverage-80384-1779241025133-0.json +0 -1
  74. package/queue/1772642154987_1775581346001_4_82235_TGwgfd_2_mattbook-m3.home.simerson.net +0 -0
package/address.js DELETED
@@ -1,53 +0,0 @@
1
- 'use strict'
2
-
3
- // SUNSET 2027: Haraka core constructs envelope addresses with
4
- // @haraka/email-address, whose `.address` / `.host` are string
5
- // properties. Core itself — and a large body of bundled and
6
- // third-party plugins — still use the historical address-rfc2821 /
7
- // address-rfc2822 *method* contract (`addr.address()`, `addr.host()`).
8
- //
9
- // `asLegacy()` wraps each instance so both the new string-property API
10
- // and the legacy callable form work during the transition. The wrap is
11
- // idempotent, and `unwrapLegacy()` recovers the raw instance so the
12
- // outbound queue's JSON re-hydration copies primitive string fields
13
- // rather than the callable accessors.
14
- //
15
- // Once the ecosystem has migrated, delete this module, require
16
- // `Address` straight from '@haraka/email-address', and drop the wrapper
17
- // (see @haraka/email-address lib/legacy.js).
18
-
19
- const { Address: BaseAddress, asLegacy, unwrapLegacy } = require('@haraka/email-address')
20
-
21
- class Address extends BaseAddress {
22
- constructor(...args) {
23
- // never re-hydrate from a wrapped instance — copy raw strings
24
- if (args.length) args[0] = unwrapLegacy(args[0])
25
- // `new Address(user, host)` where `host` is another wrapped
26
- // address's `.host` — the SUNSET-2027 callable accessor is
27
- // `typeof 'function'`, which BaseAddress would mistake for an
28
- // options object. Coerce it back to the primitive string.
29
- if (args.length >= 2 && typeof args[1] === 'function') {
30
- args[1] = String(args[1])
31
- }
32
- super(...args)
33
- return asLegacy(this)
34
- }
35
-
36
- // Preserve the address-rfc2821 wire shape so existing on-disk queue
37
- // files stay byte-compatible across the upgrade and re-hydrate
38
- // unchanged. @haraka/email-address additionally carries
39
- // phrase/comment/group/opts, which are irrelevant to envelope
40
- // addresses and must not leak into the persisted todo. SUNSET 2027.
41
- toJSON() {
42
- const out = {
43
- original: this.original,
44
- original_host: this.original_host,
45
- host: this.host,
46
- user: this.user,
47
- }
48
- if (this.is_utf8) out.is_utf8 = true
49
- return out
50
- }
51
- }
52
-
53
- module.exports = { Address }
@@ -1,8 +0,0 @@
1
- -----BEGIN DH PARAMETERS-----
2
- MIIBDAKCAQEA2MILiGHg55nBfwmqjqtKVhIg1zK3NhIXc+GLG326zh/lAe2K4uZa
3
- PLUEbANX0H+Emrpuv3ZKocSzOMxJs6Jw4ZF8CdZ2fOhJfzNt9YUJ7y4rP6bwd8pw
4
- vSK5+F4nN2GkN+8gCGjhGrJynulFOM0K35nWySnNmIxCfHn8we943GmfDwZ84Alp
5
- fj2oVy81Qf8dGOEilg0G8sEfLUVRgJYGxWsFTqeUPMVUAT2Htmx9AmcBANkYJHor
6
- 3Z+bOhsReK9PusUYr94adhyQjdHXtHKevKxCD9dibwV4upBXpod6siplSz+MsMlJ
7
- 8oUalk6ab3r0G58Nf9wNibwP0Z21kVonfwIBAgICAOE=
8
- -----END DH PARAMETERS-----
package/config/me DELETED
@@ -1 +0,0 @@
1
- home.simerson.net
@@ -1,23 +0,0 @@
1
- -----BEGIN CERTIFICATE-----
2
- MIID3zCCAsegAwIBAgIULzqgBA7/eKhkpsSvZ3OzpAWLkYEwDQYJKoZIhvcNAQEL
3
- BQAwfzELMAkGA1UEBhMCVVMxEzARBgNVBAgMCldhc2hpbmd0b24xEjAQBgNVBAcM
4
- CVNob3JlbGluZTENMAsGA1UECgwEVE5QSTEaMBgGA1UEAwwRaG9tZS5zaW1lcnNv
5
- bi5uZXQxHDAaBgkqhkiG9w0BCQEWDW1hdHRAdG5waS5uZXQwHhcNMjQwNDI3MDM1
6
- MzI2WhcNMzAwNDI2MDM1MzI2WjB/MQswCQYDVQQGEwJVUzETMBEGA1UECAwKV2Fz
7
- aGluZ3RvbjESMBAGA1UEBwwJU2hvcmVsaW5lMQ0wCwYDVQQKDARUTlBJMRowGAYD
8
- VQQDDBFob21lLnNpbWVyc29uLm5ldDEcMBoGCSqGSIb3DQEJARYNbWF0dEB0bnBp
9
- Lm5ldDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKotMDxPuAU+ygZy
10
- 82wBMmzo7bFuM4sV1jKTuoNpIus4j98Y/uIHVc0v0A9nGYkwb4Emo5vmcF6MntHH
11
- ICUTgN31W8YT0gDyyU4JdB+QHIxdMLtspDildH9wJKDxz43orOv6dsU4m542Fbk0
12
- E7lnh9GV1CoHlYRcmA8KGH9jfCjfyBuW8rLRF5QLE13pFDJkJl11GKm71w8XPk9h
13
- YuFvDsxhMDXDqaYdaLLQnE6NL7/fBF+31A/5+6VsHst0S8/WMvua67vxHbzGrw2i
14
- zAVkyciZ/peA132krkNXNgkjKusOfJheZYpYqzPSjEmsSvKayfuf1YByz060osXC
15
- 0Tcd4usCAwEAAaNTMFEwHQYDVR0OBBYEFB7paKGFiG7kJfH4VljMNUa9+VURMB8G
16
- A1UdIwQYMBaAFB7paKGFiG7kJfH4VljMNUa9+VURMA8GA1UdEwEB/wQFMAMBAf8w
17
- DQYJKoZIhvcNAQELBQADggEBAJBhuhIi36wfDbDn0DvJXKEgukUv5dnxc8HYf8CN
18
- ep51uOXQ2zBdd5A7+QNW52z29GlaLkMWgZJLUvk3v98dmGFv1DUMmAMVQeAuufDx
19
- VIdRE/d6W/ynDqJ4l+IBmcczGEK0FXYh2qoLmmwybD3G0eGgSdPFICZv6eJTsBAz
20
- X7F1MSORPSSVLdqP87O3Z2bR9TCSnIbie9sR8R7+ux62lbRiKR4qjcT0u4yn4z9q
21
- 0iqd4JC/m9YlgHNeSX0mZFT/oym4bdgPgkG/whjjDw5YpixYh5DVyEd8TeVQoNuV
22
- +8XoYYcTscSeMzu/DXs9kP87u03uJzq3qjz+T5GZ6bAQsMw=
23
- -----END CERTIFICATE-----
@@ -1,28 +0,0 @@
1
- -----BEGIN PRIVATE KEY-----
2
- MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCqLTA8T7gFPsoG
3
- cvNsATJs6O2xbjOLFdYyk7qDaSLrOI/fGP7iB1XNL9APZxmJMG+BJqOb5nBejJ7R
4
- xyAlE4Dd9VvGE9IA8slOCXQfkByMXTC7bKQ4pXR/cCSg8c+N6Kzr+nbFOJueNhW5
5
- NBO5Z4fRldQqB5WEXJgPChh/Y3wo38gblvKy0ReUCxNd6RQyZCZddRipu9cPFz5P
6
- YWLhbw7MYTA1w6mmHWiy0JxOjS+/3wRft9QP+fulbB7LdEvP1jL7muu78R28xq8N
7
- oswFZMnImf6XgNd9pK5DVzYJIyrrDnyYXmWKWKsz0oxJrErymsn7n9WAcs9OtKLF
8
- wtE3HeLrAgMBAAECggEAEZrzLoogw4onZFtoC3hkOxgt3vlDo9PygPD/jrDFyAfl
9
- +nKfi8quebfEkpNb9PFp17ajnnFMlrt9gr5S+QL3hf7oK6nJRAfaA5S+yrUh/vN1
10
- Iy6uHp4fWz/CylO54Th9CzyyJN0iXE/EF5DnqXqodmpFtMNsGHFr2cJ1nlgwdBnn
11
- PN+ZVj/EhEoq0gzp5UI/tkheKlPFV+QNcNsfduFORxNybEWCujb5FhOUyCBxFvcZ
12
- SrWGicEKsufxkW6jwI5gfrbZ/10jmBRkfb/1uQtgqUhyQeOLaE9YxSx0kk+4JeHy
13
- 2YlZhIMrQgOBn5+tBptucrHNJzbMowg2CUEmhiFFwQKBgQDlW6Hl1Rjw/orj4m1e
14
- RjtprS37qSjuZoTSUeAC51W4WUobBYLdARkSEacQ4wBmf2j4Ax6aXV9L1hHdv3L8
15
- Oc3m0mow7LLvyYNOMlNoiWPRRR0BHmpY8JnlhUSKNitfL3NUt3Ct9xOAbrKS0whG
16
- wz1hyYljd1s/cHaCXUHMvZyPCQKBgQC98bDZ5fwCyYFtZb6eu4VvMFmsYZ1XrhuC
17
- TwqmvEwxIVEFyzcFJB8/ogsURDw9awuPimfxFAk5tF53EIc7YMnhpE50zEE9Tz4S
18
- Fn9v1MTyS93RvIgFlFa2cqlV7uXhknIyxbw200gyRuiPK2ChoCs5ckRddO5V9BxB
19
- RygRVu0rUwKBgQCCQ8bx6FQgHBH6WBHR54W7AXcKZgsvS97ILWRTgdw3tc7XBgxL
20
- RWJd1tTSTHtfu6F8qxjoh3umcND45tGB27rMDFnvq5/9fLAs63xf9RhSNTTB++pe
21
- 1Vgy+bvx285KY4LXbNB8ncXfvf+CUIV021KzhWmYqqOSpmdIp3rFtDOFMQKBgQCP
22
- jqfXSBccFCgaApf7aEcFLknYGz7MEe8AobSvKAl96GxQMLK41AA6G8K74oaU9N6b
23
- 8kN01WvTjRsIahmLKy/ptkEFzYpRSB7llNNkNi9T4TsZVaCIdwDCjA6nwBNGVWSy
24
- Mvh5h149gZIrAuHZxjBlDpPU/pdTp1fjjmAeGtDNuQKBgHuKQaE5AYqBmeZUoGPP
25
- AsvnSvBt9ZY+vCjUK255s7CPWrA5kN4EZWXGB9EBYNit80CvkaNAK1jsR5qErNA0
26
- HGUfBIIsUAoOV9VdeN5PoYsE4dqxlpRvuEJpgXzk4KATSdBxP7jAs2SepVlBExa9
27
- yLRsVL/PYvEykaKHAyS2dwp4
28
- -----END PRIVATE KEY-----
@@ -1,2 +0,0 @@
1
- {"/Users/matt/git/haraka/Haraka/plugins/queue/smtp_forward.js": {"path":"/Users/matt/git/haraka/Haraka/plugins/queue/smtp_forward.js","all":false,"statementMap":{"0":{"start":{"line":1,"column":0},"end":{"line":1,"column":12}},"1":{"start":{"line":2,"column":0},"end":{"line":2,"column":28}},"2":{"start":{"line":3,"column":0},"end":{"line":3,"column":64}},"3":{"start":{"line":4,"column":0},"end":{"line":4,"column":63}},"4":{"start":{"line":5,"column":0},"end":{"line":5,"column":22}},"5":{"start":{"line":6,"column":0},"end":{"line":6,"column":0}},"6":{"start":{"line":7,"column":0},"end":{"line":7,"column":31}},"7":{"start":{"line":8,"column":0},"end":{"line":8,"column":0}},"8":{"start":{"line":9,"column":0},"end":{"line":9,"column":52}},"9":{"start":{"line":10,"column":0},"end":{"line":10,"column":0}},"10":{"start":{"line":11,"column":0},"end":{"line":11,"column":32}},"11":{"start":{"line":12,"column":0},"end":{"line":12,"column":23}},"12":{"start":{"line":13,"column":0},"end":{"line":13,"column":0}},"13":{"start":{"line":14,"column":0},"end":{"line":14,"column":32}},"14":{"start":{"line":15,"column":0},"end":{"line":15,"column":0}},"15":{"start":{"line":16,"column":0},"end":{"line":16,"column":41}},"16":{"start":{"line":17,"column":0},"end":{"line":17,"column":0}},"17":{"start":{"line":18,"column":0},"end":{"line":18,"column":37}},"18":{"start":{"line":19,"column":0},"end":{"line":19,"column":50}},"19":{"start":{"line":20,"column":0},"end":{"line":20,"column":5}},"20":{"start":{"line":21,"column":0},"end":{"line":21,"column":0}},"21":{"start":{"line":22,"column":0},"end":{"line":22,"column":40}},"22":{"start":{"line":23,"column":0},"end":{"line":23,"column":53}},"23":{"start":{"line":24,"column":0},"end":{"line":24,"column":5}},"24":{"start":{"line":25,"column":0},"end":{"line":25,"column":0}},"25":{"start":{"line":26,"column":0},"end":{"line":26,"column":48}},"26":{"start":{"line":27,"column":0},"end":{"line":27,"column":0}},"27":{"start":{"line":28,"column":0},"end":{"line":28,"column":40}},"28":{"start":{"line":29,"column":0},"end":{"line":29,"column":68}},"29":{"start":{"line":30,"column":0},"end":{"line":30,"column":61}},"30":{"start":{"line":31,"column":0},"end":{"line":31,"column":5}},"31":{"start":{"line":32,"column":0},"end":{"line":32,"column":0}},"32":{"start":{"line":33,"column":0},"end":{"line":33,"column":61}},"33":{"start":{"line":34,"column":0},"end":{"line":34,"column":42}},"34":{"start":{"line":35,"column":0},"end":{"line":35,"column":1}},"35":{"start":{"line":36,"column":0},"end":{"line":36,"column":0}},"36":{"start":{"line":37,"column":0},"end":{"line":37,"column":45}},"37":{"start":{"line":38,"column":0},"end":{"line":38,"column":31}},"38":{"start":{"line":39,"column":0},"end":{"line":39,"column":27}},"39":{"start":{"line":40,"column":0},"end":{"line":40,"column":9}},"40":{"start":{"line":41,"column":0},"end":{"line":41,"column":23}},"41":{"start":{"line":42,"column":0},"end":{"line":42,"column":35}},"42":{"start":{"line":43,"column":0},"end":{"line":43,"column":40}},"43":{"start":{"line":44,"column":0},"end":{"line":44,"column":44}},"44":{"start":{"line":45,"column":0},"end":{"line":45,"column":37}},"45":{"start":{"line":46,"column":0},"end":{"line":46,"column":40}},"46":{"start":{"line":47,"column":0},"end":{"line":47,"column":31}},"47":{"start":{"line":48,"column":0},"end":{"line":48,"column":36}},"48":{"start":{"line":49,"column":0},"end":{"line":49,"column":14}},"49":{"start":{"line":50,"column":0},"end":{"line":50,"column":10}},"50":{"start":{"line":51,"column":0},"end":{"line":51,"column":15}},"51":{"start":{"line":52,"column":0},"end":{"line":52,"column":40}},"52":{"start":{"line":53,"column":0},"end":{"line":53,"column":10}},"53":{"start":{"line":54,"column":0},"end":{"line":54,"column":5}},"54":{"start":{"line":55,"column":0},"end":{"line":55,"column":1}},"55":{"start":{"line":56,"column":0},"end":{"line":56,"column":0}},"56":{"start":{"line":57,"column":0},"end":{"line":57,"column":38}},"57":{"start":{"line":58,"column":0},"end":{"line":58,"column":47}},"58":{"start":{"line":59,"column":0},"end":{"line":59,"column":0}},"59":{"start":{"line":60,"column":0},"end":{"line":60,"column":20}},"60":{"start":{"line":61,"column":0},"end":{"line":61,"column":56}},"61":{"start":{"line":62,"column":0},"end":{"line":62,"column":61}},"62":{"start":{"line":63,"column":0},"end":{"line":63,"column":45}},"63":{"start":{"line":64,"column":0},"end":{"line":64,"column":54}},"64":{"start":{"line":65,"column":0},"end":{"line":65,"column":12}},"65":{"start":{"line":66,"column":0},"end":{"line":66,"column":62}},"66":{"start":{"line":67,"column":0},"end":{"line":67,"column":46}},"67":{"start":{"line":68,"column":0},"end":{"line":68,"column":5}},"68":{"start":{"line":69,"column":0},"end":{"line":69,"column":0}},"69":{"start":{"line":70,"column":0},"end":{"line":70,"column":62}},"70":{"start":{"line":71,"column":0},"end":{"line":71,"column":34}},"71":{"start":{"line":72,"column":0},"end":{"line":72,"column":65}},"72":{"start":{"line":73,"column":0},"end":{"line":73,"column":0}},"73":{"start":{"line":74,"column":0},"end":{"line":74,"column":24}},"74":{"start":{"line":75,"column":0},"end":{"line":75,"column":1}},"75":{"start":{"line":76,"column":0},"end":{"line":76,"column":0}},"76":{"start":{"line":77,"column":0},"end":{"line":77,"column":50}},"77":{"start":{"line":78,"column":0},"end":{"line":78,"column":87}},"78":{"start":{"line":79,"column":0},"end":{"line":79,"column":0}},"79":{"start":{"line":80,"column":0},"end":{"line":80,"column":75}},"80":{"start":{"line":81,"column":0},"end":{"line":81,"column":1}},"81":{"start":{"line":82,"column":0},"end":{"line":82,"column":0}},"82":{"start":{"line":83,"column":0},"end":{"line":83,"column":60}},"83":{"start":{"line":84,"column":0},"end":{"line":84,"column":39}},"84":{"start":{"line":85,"column":0},"end":{"line":85,"column":20}},"85":{"start":{"line":86,"column":0},"end":{"line":86,"column":0}},"86":{"start":{"line":87,"column":0},"end":{"line":87,"column":37}},"87":{"start":{"line":88,"column":0},"end":{"line":88,"column":17}},"88":{"start":{"line":89,"column":0},"end":{"line":89,"column":69}},"89":{"start":{"line":90,"column":0},"end":{"line":90,"column":21}},"90":{"start":{"line":91,"column":0},"end":{"line":91,"column":5}},"91":{"start":{"line":92,"column":0},"end":{"line":92,"column":0}},"92":{"start":{"line":93,"column":0},"end":{"line":93,"column":47}},"93":{"start":{"line":94,"column":0},"end":{"line":94,"column":40}},"94":{"start":{"line":95,"column":0},"end":{"line":95,"column":0}},"95":{"start":{"line":96,"column":0},"end":{"line":96,"column":44}},"96":{"start":{"line":97,"column":0},"end":{"line":97,"column":33}},"97":{"start":{"line":98,"column":0},"end":{"line":98,"column":0}},"98":{"start":{"line":99,"column":0},"end":{"line":99,"column":31}},"99":{"start":{"line":100,"column":0},"end":{"line":100,"column":58}},"100":{"start":{"line":101,"column":0},"end":{"line":101,"column":46}},"101":{"start":{"line":102,"column":0},"end":{"line":102,"column":5}},"102":{"start":{"line":103,"column":0},"end":{"line":103,"column":0}},"103":{"start":{"line":104,"column":0},"end":{"line":104,"column":48}},"104":{"start":{"line":105,"column":0},"end":{"line":105,"column":10}},"105":{"start":{"line":106,"column":0},"end":{"line":106,"column":1}},"106":{"start":{"line":107,"column":0},"end":{"line":107,"column":0}},"107":{"start":{"line":108,"column":0},"end":{"line":108,"column":65}},"108":{"start":{"line":109,"column":0},"end":{"line":109,"column":34}},"109":{"start":{"line":110,"column":0},"end":{"line":110,"column":43}},"110":{"start":{"line":111,"column":0},"end":{"line":111,"column":0}},"111":{"start":{"line":112,"column":0},"end":{"line":112,"column":74}},"112":{"start":{"line":113,"column":0},"end":{"line":113,"column":34}},"113":{"start":{"line":114,"column":0},"end":{"line":114,"column":0}},"114":{"start":{"line":115,"column":0},"end":{"line":115,"column":53}},"115":{"start":{"line":116,"column":0},"end":{"line":116,"column":49}},"116":{"start":{"line":117,"column":0},"end":{"line":117,"column":0}},"117":{"start":{"line":118,"column":0},"end":{"line":118,"column":48}},"118":{"start":{"line":119,"column":0},"end":{"line":119,"column":28}},"119":{"start":{"line":120,"column":0},"end":{"line":120,"column":36}},"120":{"start":{"line":121,"column":0},"end":{"line":121,"column":46}},"121":{"start":{"line":122,"column":0},"end":{"line":122,"column":59}},"122":{"start":{"line":123,"column":0},"end":{"line":123,"column":19}},"123":{"start":{"line":124,"column":0},"end":{"line":124,"column":5}},"124":{"start":{"line":125,"column":0},"end":{"line":125,"column":0}},"125":{"start":{"line":126,"column":0},"end":{"line":126,"column":48}},"126":{"start":{"line":127,"column":0},"end":{"line":127,"column":52}},"127":{"start":{"line":128,"column":0},"end":{"line":128,"column":34}},"128":{"start":{"line":129,"column":0},"end":{"line":129,"column":0}},"129":{"start":{"line":130,"column":0},"end":{"line":130,"column":52}},"130":{"start":{"line":131,"column":0},"end":{"line":131,"column":34}},"131":{"start":{"line":132,"column":0},"end":{"line":132,"column":46}},"132":{"start":{"line":133,"column":0},"end":{"line":133,"column":5}},"133":{"start":{"line":134,"column":0},"end":{"line":134,"column":0}},"134":{"start":{"line":135,"column":0},"end":{"line":135,"column":65}},"135":{"start":{"line":136,"column":0},"end":{"line":136,"column":16}},"136":{"start":{"line":137,"column":0},"end":{"line":137,"column":1}},"137":{"start":{"line":138,"column":0},"end":{"line":138,"column":0}},"138":{"start":{"line":139,"column":0},"end":{"line":139,"column":63}},"139":{"start":{"line":140,"column":0},"end":{"line":140,"column":39}},"140":{"start":{"line":141,"column":0},"end":{"line":141,"column":20}},"141":{"start":{"line":142,"column":0},"end":{"line":142,"column":0}},"142":{"start":{"line":143,"column":0},"end":{"line":143,"column":26}},"143":{"start":{"line":144,"column":0},"end":{"line":144,"column":21}},"144":{"start":{"line":145,"column":0},"end":{"line":145,"column":54}},"145":{"start":{"line":146,"column":0},"end":{"line":146,"column":21}},"146":{"start":{"line":147,"column":0},"end":{"line":147,"column":5}},"147":{"start":{"line":148,"column":0},"end":{"line":148,"column":0}},"148":{"start":{"line":149,"column":0},"end":{"line":149,"column":56}},"149":{"start":{"line":150,"column":0},"end":{"line":150,"column":46}},"150":{"start":{"line":151,"column":0},"end":{"line":151,"column":64}},"151":{"start":{"line":152,"column":0},"end":{"line":152,"column":23}},"152":{"start":{"line":153,"column":0},"end":{"line":153,"column":5}},"153":{"start":{"line":154,"column":0},"end":{"line":154,"column":0}},"154":{"start":{"line":155,"column":0},"end":{"line":155,"column":42}},"155":{"start":{"line":156,"column":0},"end":{"line":156,"column":41}},"156":{"start":{"line":157,"column":0},"end":{"line":157,"column":65}},"157":{"start":{"line":158,"column":0},"end":{"line":158,"column":54}},"158":{"start":{"line":159,"column":0},"end":{"line":159,"column":27}},"159":{"start":{"line":160,"column":0},"end":{"line":160,"column":9}},"160":{"start":{"line":161,"column":0},"end":{"line":161,"column":56}},"161":{"start":{"line":162,"column":0},"end":{"line":162,"column":62}},"162":{"start":{"line":163,"column":0},"end":{"line":163,"column":5}},"163":{"start":{"line":164,"column":0},"end":{"line":164,"column":0}},"164":{"start":{"line":165,"column":0},"end":{"line":165,"column":67}},"165":{"start":{"line":166,"column":0},"end":{"line":166,"column":56}},"166":{"start":{"line":167,"column":0},"end":{"line":167,"column":48}},"167":{"start":{"line":168,"column":0},"end":{"line":168,"column":10}},"168":{"start":{"line":169,"column":0},"end":{"line":169,"column":1}},"169":{"start":{"line":170,"column":0},"end":{"line":170,"column":0}},"170":{"start":{"line":171,"column":0},"end":{"line":171,"column":56}},"171":{"start":{"line":172,"column":0},"end":{"line":172,"column":98}},"172":{"start":{"line":173,"column":0},"end":{"line":173,"column":42}},"173":{"start":{"line":174,"column":0},"end":{"line":174,"column":57}},"174":{"start":{"line":175,"column":0},"end":{"line":175,"column":0}},"175":{"start":{"line":176,"column":0},"end":{"line":176,"column":39}},"176":{"start":{"line":177,"column":0},"end":{"line":177,"column":58}},"177":{"start":{"line":178,"column":0},"end":{"line":178,"column":48}},"178":{"start":{"line":179,"column":0},"end":{"line":179,"column":92}},"179":{"start":{"line":180,"column":0},"end":{"line":180,"column":22}},"180":{"start":{"line":181,"column":0},"end":{"line":181,"column":13}},"181":{"start":{"line":182,"column":0},"end":{"line":182,"column":9}},"182":{"start":{"line":183,"column":0},"end":{"line":183,"column":0}},"183":{"start":{"line":184,"column":0},"end":{"line":184,"column":30}},"184":{"start":{"line":185,"column":0},"end":{"line":185,"column":52}},"185":{"start":{"line":186,"column":0},"end":{"line":186,"column":44}},"186":{"start":{"line":187,"column":0},"end":{"line":187,"column":9}},"187":{"start":{"line":188,"column":0},"end":{"line":188,"column":0}},"188":{"start":{"line":189,"column":0},"end":{"line":189,"column":40}},"189":{"start":{"line":190,"column":0},"end":{"line":190,"column":87}},"190":{"start":{"line":191,"column":0},"end":{"line":191,"column":103}},"191":{"start":{"line":192,"column":0},"end":{"line":192,"column":18}},"192":{"start":{"line":193,"column":0},"end":{"line":193,"column":9}},"193":{"start":{"line":194,"column":0},"end":{"line":194,"column":0}},"194":{"start":{"line":195,"column":0},"end":{"line":195,"column":40}},"195":{"start":{"line":196,"column":0},"end":{"line":196,"column":45}},"196":{"start":{"line":197,"column":0},"end":{"line":197,"column":45}},"197":{"start":{"line":198,"column":0},"end":{"line":198,"column":0}},"198":{"start":{"line":199,"column":0},"end":{"line":199,"column":87}},"199":{"start":{"line":200,"column":0},"end":{"line":200,"column":53}},"200":{"start":{"line":201,"column":0},"end":{"line":201,"column":42}},"201":{"start":{"line":202,"column":0},"end":{"line":202,"column":29}},"202":{"start":{"line":203,"column":0},"end":{"line":203,"column":14}},"203":{"start":{"line":204,"column":0},"end":{"line":204,"column":51}},"204":{"start":{"line":205,"column":0},"end":{"line":205,"column":63}},"205":{"start":{"line":206,"column":0},"end":{"line":206,"column":14}},"206":{"start":{"line":207,"column":0},"end":{"line":207,"column":51}},"207":{"start":{"line":208,"column":0},"end":{"line":208,"column":63}},"208":{"start":{"line":209,"column":0},"end":{"line":209,"column":14}},"209":{"start":{"line":210,"column":0},"end":{"line":210,"column":9}},"210":{"start":{"line":211,"column":0},"end":{"line":211,"column":6}},"211":{"start":{"line":212,"column":0},"end":{"line":212,"column":1}},"212":{"start":{"line":213,"column":0},"end":{"line":213,"column":0}},"213":{"start":{"line":214,"column":0},"end":{"line":214,"column":52}},"214":{"start":{"line":215,"column":0},"end":{"line":215,"column":61}},"215":{"start":{"line":216,"column":0},"end":{"line":216,"column":48}},"216":{"start":{"line":217,"column":0},"end":{"line":217,"column":62}},"217":{"start":{"line":218,"column":0},"end":{"line":218,"column":20}},"218":{"start":{"line":219,"column":0},"end":{"line":219,"column":5}},"219":{"start":{"line":220,"column":0},"end":{"line":220,"column":0}},"220":{"start":{"line":221,"column":0},"end":{"line":221,"column":62}},"221":{"start":{"line":222,"column":0},"end":{"line":222,"column":58}},"222":{"start":{"line":223,"column":0},"end":{"line":223,"column":20}},"223":{"start":{"line":224,"column":0},"end":{"line":224,"column":5}},"224":{"start":{"line":225,"column":0},"end":{"line":225,"column":0}},"225":{"start":{"line":226,"column":0},"end":{"line":226,"column":15}},"226":{"start":{"line":227,"column":0},"end":{"line":227,"column":1}},"227":{"start":{"line":228,"column":0},"end":{"line":228,"column":0}},"228":{"start":{"line":229,"column":0},"end":{"line":229,"column":53}},"229":{"start":{"line":230,"column":0},"end":{"line":230,"column":23}},"230":{"start":{"line":231,"column":0},"end":{"line":231,"column":40}},"231":{"start":{"line":232,"column":0},"end":{"line":232,"column":39}},"232":{"start":{"line":233,"column":0},"end":{"line":233,"column":0}},"233":{"start":{"line":234,"column":0},"end":{"line":234,"column":45}},"234":{"start":{"line":235,"column":0},"end":{"line":235,"column":63}},"235":{"start":{"line":236,"column":0},"end":{"line":236,"column":0}},"236":{"start":{"line":237,"column":0},"end":{"line":237,"column":86}},"237":{"start":{"line":238,"column":0},"end":{"line":238,"column":31}},"238":{"start":{"line":239,"column":0},"end":{"line":239,"column":0}},"239":{"start":{"line":240,"column":0},"end":{"line":240,"column":20}},"240":{"start":{"line":241,"column":0},"end":{"line":241,"column":0}},"241":{"start":{"line":242,"column":0},"end":{"line":242,"column":68}},"242":{"start":{"line":243,"column":0},"end":{"line":243,"column":0}},"243":{"start":{"line":244,"column":0},"end":{"line":244,"column":27}},"244":{"start":{"line":245,"column":0},"end":{"line":245,"column":19}},"245":{"start":{"line":246,"column":0},"end":{"line":246,"column":98}},"246":{"start":{"line":247,"column":0},"end":{"line":247,"column":9}},"247":{"start":{"line":248,"column":0},"end":{"line":248,"column":0}},"248":{"start":{"line":249,"column":0},"end":{"line":249,"column":27}},"249":{"start":{"line":250,"column":0},"end":{"line":250,"column":53}},"250":{"start":{"line":251,"column":0},"end":{"line":251,"column":9}},"251":{"start":{"line":252,"column":0},"end":{"line":252,"column":0}},"252":{"start":{"line":253,"column":0},"end":{"line":253,"column":32}},"253":{"start":{"line":254,"column":0},"end":{"line":254,"column":65}},"254":{"start":{"line":255,"column":0},"end":{"line":255,"column":60}},"255":{"start":{"line":256,"column":0},"end":{"line":256,"column":27}},"256":{"start":{"line":257,"column":0},"end":{"line":257,"column":13}},"257":{"start":{"line":258,"column":0},"end":{"line":258,"column":24}},"258":{"start":{"line":259,"column":0},"end":{"line":259,"column":9}},"259":{"start":{"line":260,"column":0},"end":{"line":260,"column":0}},"260":{"start":{"line":261,"column":0},"end":{"line":261,"column":30}},"261":{"start":{"line":262,"column":0},"end":{"line":262,"column":45}},"262":{"start":{"line":263,"column":0},"end":{"line":263,"column":46}},"263":{"start":{"line":264,"column":0},"end":{"line":264,"column":48}},"264":{"start":{"line":265,"column":0},"end":{"line":265,"column":22}},"265":{"start":{"line":266,"column":0},"end":{"line":266,"column":13}},"266":{"start":{"line":267,"column":0},"end":{"line":267,"column":102}},"267":{"start":{"line":268,"column":0},"end":{"line":268,"column":18}},"268":{"start":{"line":269,"column":0},"end":{"line":269,"column":9}},"269":{"start":{"line":270,"column":0},"end":{"line":270,"column":0}},"270":{"start":{"line":271,"column":0},"end":{"line":271,"column":41}},"271":{"start":{"line":272,"column":0},"end":{"line":272,"column":0}},"272":{"start":{"line":273,"column":0},"end":{"line":273,"column":39}},"273":{"start":{"line":274,"column":0},"end":{"line":274,"column":42}},"274":{"start":{"line":275,"column":0},"end":{"line":275,"column":48}},"275":{"start":{"line":276,"column":0},"end":{"line":276,"column":14}},"276":{"start":{"line":277,"column":0},"end":{"line":277,"column":16}},"277":{"start":{"line":278,"column":0},"end":{"line":278,"column":45}},"278":{"start":{"line":279,"column":0},"end":{"line":279,"column":9}},"279":{"start":{"line":280,"column":0},"end":{"line":280,"column":0}},"280":{"start":{"line":281,"column":0},"end":{"line":281,"column":38}},"281":{"start":{"line":282,"column":0},"end":{"line":282,"column":37}},"282":{"start":{"line":283,"column":0},"end":{"line":283,"column":54}},"283":{"start":{"line":284,"column":0},"end":{"line":284,"column":10}},"284":{"start":{"line":285,"column":0},"end":{"line":285,"column":0}},"285":{"start":{"line":286,"column":0},"end":{"line":286,"column":37}},"286":{"start":{"line":287,"column":0},"end":{"line":287,"column":45}},"287":{"start":{"line":288,"column":0},"end":{"line":288,"column":0}},"288":{"start":{"line":289,"column":0},"end":{"line":289,"column":64}},"289":{"start":{"line":290,"column":0},"end":{"line":290,"column":44}},"290":{"start":{"line":291,"column":0},"end":{"line":291,"column":48}},"291":{"start":{"line":292,"column":0},"end":{"line":292,"column":22}},"292":{"start":{"line":293,"column":0},"end":{"line":293,"column":13}},"293":{"start":{"line":294,"column":0},"end":{"line":294,"column":59}},"294":{"start":{"line":295,"column":0},"end":{"line":295,"column":33}},"295":{"start":{"line":296,"column":0},"end":{"line":296,"column":10}},"296":{"start":{"line":297,"column":0},"end":{"line":297,"column":0}},"297":{"start":{"line":298,"column":0},"end":{"line":298,"column":38}},"298":{"start":{"line":299,"column":0},"end":{"line":299,"column":45}},"299":{"start":{"line":300,"column":0},"end":{"line":300,"column":69}},"300":{"start":{"line":301,"column":0},"end":{"line":301,"column":10}},"301":{"start":{"line":302,"column":0},"end":{"line":302,"column":0}},"302":{"start":{"line":303,"column":0},"end":{"line":303,"column":51}},"303":{"start":{"line":304,"column":0},"end":{"line":304,"column":45}},"304":{"start":{"line":305,"column":0},"end":{"line":305,"column":81}},"305":{"start":{"line":306,"column":0},"end":{"line":306,"column":33}},"306":{"start":{"line":307,"column":0},"end":{"line":307,"column":10}},"307":{"start":{"line":308,"column":0},"end":{"line":308,"column":6}},"308":{"start":{"line":309,"column":0},"end":{"line":309,"column":1}},"309":{"start":{"line":310,"column":0},"end":{"line":310,"column":0}},"310":{"start":{"line":311,"column":0},"end":{"line":311,"column":41}},"311":{"start":{"line":312,"column":0},"end":{"line":312,"column":80}},"312":{"start":{"line":313,"column":0},"end":{"line":313,"column":80}},"313":{"start":{"line":314,"column":0},"end":{"line":314,"column":82}},"314":{"start":{"line":315,"column":0},"end":{"line":315,"column":62}},"315":{"start":{"line":316,"column":0},"end":{"line":316,"column":38}},"316":{"start":{"line":317,"column":0},"end":{"line":317,"column":16}},"317":{"start":{"line":318,"column":0},"end":{"line":318,"column":20}},"318":{"start":{"line":319,"column":0},"end":{"line":319,"column":65}},"319":{"start":{"line":320,"column":0},"end":{"line":320,"column":32}},"320":{"start":{"line":321,"column":0},"end":{"line":321,"column":5}},"321":{"start":{"line":322,"column":0},"end":{"line":322,"column":55}},"322":{"start":{"line":323,"column":0},"end":{"line":323,"column":20}},"323":{"start":{"line":324,"column":0},"end":{"line":324,"column":30}},"324":{"start":{"line":325,"column":0},"end":{"line":325,"column":46}},"325":{"start":{"line":326,"column":0},"end":{"line":326,"column":46}},"326":{"start":{"line":327,"column":0},"end":{"line":327,"column":5}},"327":{"start":{"line":328,"column":0},"end":{"line":328,"column":13}},"328":{"start":{"line":329,"column":0},"end":{"line":329,"column":1}},"329":{"start":{"line":330,"column":0},"end":{"line":330,"column":0}},"330":{"start":{"line":331,"column":0},"end":{"line":331,"column":49}},"331":{"start":{"line":332,"column":0},"end":{"line":332,"column":50}},"332":{"start":{"line":333,"column":0},"end":{"line":333,"column":71}},"333":{"start":{"line":334,"column":0},"end":{"line":334,"column":0}},"334":{"start":{"line":335,"column":0},"end":{"line":335,"column":74}},"335":{"start":{"line":336,"column":0},"end":{"line":336,"column":85}},"336":{"start":{"line":337,"column":0},"end":{"line":337,"column":5}},"337":{"start":{"line":338,"column":0},"end":{"line":338,"column":0}},"338":{"start":{"line":339,"column":0},"end":{"line":339,"column":15}},"339":{"start":{"line":340,"column":0},"end":{"line":340,"column":118}},"340":{"start":{"line":341,"column":0},"end":{"line":341,"column":29}},"341":{"start":{"line":342,"column":0},"end":{"line":342,"column":0}},"342":{"start":{"line":343,"column":0},"end":{"line":343,"column":28}},"343":{"start":{"line":344,"column":0},"end":{"line":344,"column":52}},"344":{"start":{"line":345,"column":0},"end":{"line":345,"column":21}},"345":{"start":{"line":346,"column":0},"end":{"line":346,"column":5}},"346":{"start":{"line":347,"column":0},"end":{"line":347,"column":0}},"347":{"start":{"line":348,"column":0},"end":{"line":348,"column":94}},"348":{"start":{"line":349,"column":0},"end":{"line":349,"column":0}},"349":{"start":{"line":350,"column":0},"end":{"line":350,"column":16}},"350":{"start":{"line":351,"column":0},"end":{"line":351,"column":20}},"351":{"start":{"line":352,"column":0},"end":{"line":352,"column":49}},"352":{"start":{"line":353,"column":0},"end":{"line":353,"column":51}},"353":{"start":{"line":354,"column":0},"end":{"line":354,"column":5}},"354":{"start":{"line":355,"column":0},"end":{"line":355,"column":0}},"355":{"start":{"line":356,"column":0},"end":{"line":356,"column":28}},"356":{"start":{"line":357,"column":0},"end":{"line":357,"column":28}},"357":{"start":{"line":358,"column":0},"end":{"line":358,"column":40}},"358":{"start":{"line":359,"column":0},"end":{"line":359,"column":32}},"359":{"start":{"line":360,"column":0},"end":{"line":360,"column":6}},"360":{"start":{"line":361,"column":0},"end":{"line":361,"column":0}},"361":{"start":{"line":362,"column":0},"end":{"line":362,"column":16}},"362":{"start":{"line":363,"column":0},"end":{"line":363,"column":1}}},"s":{"0":19,"1":19,"2":19,"3":19,"4":19,"5":19,"6":19,"7":19,"8":19,"9":19,"10":19,"11":20,"12":20,"13":20,"14":20,"15":20,"16":20,"17":20,"18":20,"19":0,"20":0,"21":20,"22":20,"23":0,"24":0,"25":20,"26":20,"27":20,"28":20,"29":0,"30":0,"31":0,"32":20,"33":20,"34":20,"35":20,"36":19,"37":20,"38":20,"39":20,"40":20,"41":20,"42":20,"43":20,"44":20,"45":20,"46":20,"47":20,"48":20,"49":20,"50":20,"51":20,"52":0,"53":0,"54":0,"55":0,"56":19,"57":11,"58":0,"59":11,"60":11,"61":11,"62":2,"63":2,"64":2,"65":11,"66":9,"67":8,"68":8,"69":11,"70":11,"71":11,"72":7,"73":7,"74":7,"75":7,"76":19,"77":4,"78":2,"79":2,"80":2,"81":2,"82":19,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":19,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":19,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":19,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0,"207":0,"208":0,"209":0,"210":0,"211":0,"212":0,"213":19,"214":0,"215":0,"216":0,"217":0,"218":0,"219":0,"220":0,"221":0,"222":0,"223":0,"224":0,"225":0,"226":0,"227":0,"228":19,"229":0,"230":0,"231":0,"232":0,"233":0,"234":0,"235":0,"236":0,"237":0,"238":0,"239":0,"240":0,"241":0,"242":0,"243":0,"244":0,"245":0,"246":0,"247":0,"248":0,"249":0,"250":0,"251":0,"252":0,"253":0,"254":0,"255":0,"256":0,"257":0,"258":0,"259":0,"260":0,"261":0,"262":0,"263":0,"264":0,"265":0,"266":0,"267":0,"268":0,"269":0,"270":0,"271":0,"272":0,"273":0,"274":0,"275":0,"276":0,"277":0,"278":0,"279":0,"280":0,"281":0,"282":0,"283":0,"284":0,"285":0,"286":0,"287":0,"288":0,"289":0,"290":0,"291":0,"292":0,"293":0,"294":0,"295":0,"296":0,"297":0,"298":0,"299":0,"300":0,"301":0,"302":0,"303":0,"304":0,"305":0,"306":0,"307":0,"308":0,"309":0,"310":19,"311":2,"312":2,"313":2,"314":2,"315":2,"316":2,"317":2,"318":2,"319":2,"320":2,"321":2,"322":2,"323":2,"324":0,"325":0,"326":0,"327":2,"328":2,"329":2,"330":19,"331":5,"332":5,"333":0,"334":5,"335":5,"336":2,"337":2,"338":5,"339":5,"340":5,"341":5,"342":5,"343":5,"344":2,"345":2,"346":2,"347":5,"348":1,"349":1,"350":1,"351":5,"352":5,"353":1,"354":5,"355":5,"356":5,"357":5,"358":6,"359":2,"360":2,"361":5,"362":5},"branchMap":{"0":{"type":"branch","line":1,"loc":{"start":{"line":1,"column":0},"end":{"line":363,"column":1}},"locations":[{"start":{"line":1,"column":0},"end":{"line":363,"column":1}}]},"1":{"type":"branch","line":12,"loc":{"start":{"line":12,"column":-1},"end":{"line":37,"column":11}},"locations":[{"start":{"line":12,"column":-1},"end":{"line":37,"column":11}}]},"2":{"type":"branch","line":18,"loc":{"start":{"line":18,"column":5},"end":{"line":18,"column":11}},"locations":[{"start":{"line":18,"column":5},"end":{"line":18,"column":11}}]},"3":{"type":"branch","line":19,"loc":{"start":{"line":19,"column":11},"end":{"line":22,"column":11}},"locations":[{"start":{"line":19,"column":11},"end":{"line":22,"column":11}}]},"4":{"type":"branch","line":23,"loc":{"start":{"line":23,"column":11},"end":{"line":26,"column":11}},"locations":[{"start":{"line":23,"column":11},"end":{"line":26,"column":11}}]},"5":{"type":"branch","line":29,"loc":{"start":{"line":29,"column":11},"end":{"line":33,"column":11}},"locations":[{"start":{"line":29,"column":11},"end":{"line":33,"column":11}}]},"6":{"type":"branch","line":38,"loc":{"start":{"line":38,"column":-1},"end":{"line":57,"column":11}},"locations":[{"start":{"line":38,"column":-1},"end":{"line":57,"column":11}}]},"7":{"type":"branch","line":57,"loc":{"start":{"line":57,"column":34},"end":{"line":77,"column":11}},"locations":[{"start":{"line":57,"column":34},"end":{"line":77,"column":11}}]},"8":{"type":"branch","line":58,"loc":{"start":{"line":58,"column":40},"end":{"line":60,"column":11}},"locations":[{"start":{"line":58,"column":40},"end":{"line":60,"column":11}}]},"9":{"type":"branch","line":62,"loc":{"start":{"line":62,"column":11},"end":{"line":66,"column":5}},"locations":[{"start":{"line":62,"column":11},"end":{"line":66,"column":5}}]},"10":{"type":"branch","line":62,"loc":{"start":{"line":62,"column":54},"end":{"line":63,"column":12}},"locations":[{"start":{"line":62,"column":54},"end":{"line":63,"column":12}}]},"11":{"type":"branch","line":66,"loc":{"start":{"line":66,"column":5},"end":{"line":70,"column":11}},"locations":[{"start":{"line":66,"column":5},"end":{"line":70,"column":11}}]},"12":{"type":"branch","line":66,"loc":{"start":{"line":66,"column":55},"end":{"line":67,"column":12}},"locations":[{"start":{"line":66,"column":55},"end":{"line":67,"column":12}}]},"13":{"type":"branch","line":67,"loc":{"start":{"line":67,"column":12},"end":{"line":70,"column":11}},"locations":[{"start":{"line":67,"column":12},"end":{"line":70,"column":11}}]},"14":{"type":"branch","line":70,"loc":{"start":{"line":70,"column":11},"end":{"line":70,"column":29}},"locations":[{"start":{"line":70,"column":11},"end":{"line":70,"column":29}}]},"15":{"type":"branch","line":70,"loc":{"start":{"line":70,"column":29},"end":{"line":70,"column":49}},"locations":[{"start":{"line":70,"column":29},"end":{"line":70,"column":49}}]},"16":{"type":"branch","line":70,"loc":{"start":{"line":70,"column":51},"end":{"line":71,"column":12}},"locations":[{"start":{"line":70,"column":51},"end":{"line":71,"column":12}}]},"17":{"type":"branch","line":71,"loc":{"start":{"line":71,"column":12},"end":{"line":71,"column":27}},"locations":[{"start":{"line":71,"column":12},"end":{"line":71,"column":27}}]},"18":{"type":"branch","line":71,"loc":{"start":{"line":71,"column":27},"end":{"line":72,"column":12}},"locations":[{"start":{"line":71,"column":27},"end":{"line":72,"column":12}}]},"19":{"type":"branch","line":72,"loc":{"start":{"line":72,"column":12},"end":{"line":72,"column":37}},"locations":[{"start":{"line":72,"column":12},"end":{"line":72,"column":37}}]},"20":{"type":"branch","line":72,"loc":{"start":{"line":72,"column":37},"end":{"line":72,"column":57}},"locations":[{"start":{"line":72,"column":37},"end":{"line":72,"column":57}}]},"21":{"type":"branch","line":72,"loc":{"start":{"line":72,"column":57},"end":{"line":77,"column":10}},"locations":[{"start":{"line":72,"column":57},"end":{"line":77,"column":10}}]},"22":{"type":"branch","line":77,"loc":{"start":{"line":77,"column":43},"end":{"line":83,"column":11}},"locations":[{"start":{"line":77,"column":43},"end":{"line":83,"column":11}}]},"23":{"type":"branch","line":78,"loc":{"start":{"line":78,"column":51},"end":{"line":83,"column":10}},"locations":[{"start":{"line":78,"column":51},"end":{"line":83,"column":10}}]},"24":{"type":"branch","line":311,"loc":{"start":{"line":311,"column":39},"end":{"line":331,"column":11}},"locations":[{"start":{"line":311,"column":39},"end":{"line":331,"column":11}}]},"25":{"type":"branch","line":319,"loc":{"start":{"line":319,"column":37},"end":{"line":320,"column":11}},"locations":[{"start":{"line":319,"column":37},"end":{"line":320,"column":11}}]},"26":{"type":"branch","line":320,"loc":{"start":{"line":320,"column":6},"end":{"line":320,"column":10}},"locations":[{"start":{"line":320,"column":6},"end":{"line":320,"column":10}}]},"27":{"type":"branch","line":322,"loc":{"start":{"line":322,"column":48},"end":{"line":323,"column":12}},"locations":[{"start":{"line":322,"column":48},"end":{"line":323,"column":12}}]},"28":{"type":"branch","line":324,"loc":{"start":{"line":324,"column":11},"end":{"line":328,"column":12}},"locations":[{"start":{"line":324,"column":11},"end":{"line":328,"column":12}}]},"29":{"type":"branch","line":331,"loc":{"start":{"line":331,"column":30},"end":{"line":363,"column":1}},"locations":[{"start":{"line":331,"column":30},"end":{"line":363,"column":1}}]},"30":{"type":"branch","line":333,"loc":{"start":{"line":333,"column":24},"end":{"line":333,"column":69}},"locations":[{"start":{"line":333,"column":24},"end":{"line":333,"column":69}}]},"31":{"type":"branch","line":334,"loc":{"start":{"line":334,"column":-1},"end":{"line":335,"column":11}},"locations":[{"start":{"line":334,"column":-1},"end":{"line":335,"column":11}}]},"32":{"type":"branch","line":335,"loc":{"start":{"line":335,"column":43},"end":{"line":336,"column":9}},"locations":[{"start":{"line":335,"column":43},"end":{"line":336,"column":9}}]},"33":{"type":"branch","line":336,"loc":{"start":{"line":336,"column":11},"end":{"line":339,"column":11}},"locations":[{"start":{"line":336,"column":11},"end":{"line":339,"column":11}}]},"34":{"type":"branch","line":339,"loc":{"start":{"line":339,"column":11},"end":{"line":340,"column":67}},"locations":[{"start":{"line":339,"column":11},"end":{"line":340,"column":67}}]},"35":{"type":"branch","line":340,"loc":{"start":{"line":340,"column":67},"end":{"line":340,"column":108}},"locations":[{"start":{"line":340,"column":67},"end":{"line":340,"column":108}}]},"36":{"type":"branch","line":340,"loc":{"start":{"line":340,"column":109},"end":{"line":341,"column":12}},"locations":[{"start":{"line":340,"column":109},"end":{"line":341,"column":12}}]},"37":{"type":"branch","line":344,"loc":{"start":{"line":344,"column":11},"end":{"line":348,"column":11}},"locations":[{"start":{"line":344,"column":11},"end":{"line":348,"column":11}}]},"38":{"type":"branch","line":348,"loc":{"start":{"line":348,"column":11},"end":{"line":352,"column":40}},"locations":[{"start":{"line":348,"column":11},"end":{"line":352,"column":40}}]},"39":{"type":"branch","line":352,"loc":{"start":{"line":352,"column":40},"end":{"line":353,"column":11}},"locations":[{"start":{"line":352,"column":40},"end":{"line":353,"column":11}}]},"40":{"type":"branch","line":353,"loc":{"start":{"line":353,"column":36},"end":{"line":354,"column":5}},"locations":[{"start":{"line":353,"column":36},"end":{"line":354,"column":5}}]},"41":{"type":"branch","line":356,"loc":{"start":{"line":356,"column":-1},"end":{"line":356,"column":4}},"locations":[{"start":{"line":356,"column":-1},"end":{"line":356,"column":4}}]},"42":{"type":"branch","line":358,"loc":{"start":{"line":358,"column":4},"end":{"line":362,"column":10}},"locations":[{"start":{"line":358,"column":4},"end":{"line":362,"column":10}}]},"43":{"type":"branch","line":359,"loc":{"start":{"line":359,"column":6},"end":{"line":359,"column":12}},"locations":[{"start":{"line":359,"column":6},"end":{"line":359,"column":12}}]},"44":{"type":"branch","line":359,"loc":{"start":{"line":359,"column":12},"end":{"line":362,"column":9}},"locations":[{"start":{"line":359,"column":12},"end":{"line":362,"column":9}}]}},"b":{"0":[19],"1":[20],"2":[0],"3":[0],"4":[0],"5":[0],"6":[20],"7":[11],"8":[0],"9":[2],"10":[0],"11":[9],"12":[1],"13":[8],"14":[10],"15":[1],"16":[0],"17":[10],"18":[2],"19":[8],"20":[1],"21":[7],"22":[4],"23":[2],"24":[2],"25":[1],"26":[0],"27":[1],"28":[0],"29":[5],"30":[3],"31":[0],"32":[2],"33":[2],"34":[3],"35":[0],"36":[3],"37":[2],"38":[1],"39":[0],"40":[1],"41":[0],"42":[6],"43":[4],"44":[2]},"fnMap":{"0":{"name":"exports.register","decl":{"start":{"line":12,"column":-1},"end":{"line":37,"column":11}},"loc":{"start":{"line":12,"column":-1},"end":{"line":37,"column":11}},"line":12},"1":{"name":"exports.load_smtp_forward_ini","decl":{"start":{"line":38,"column":-1},"end":{"line":57,"column":11}},"loc":{"start":{"line":38,"column":-1},"end":{"line":57,"column":11}},"line":38},"2":{"name":"exports.get_config","decl":{"start":{"line":57,"column":34},"end":{"line":77,"column":11}},"loc":{"start":{"line":57,"column":34},"end":{"line":77,"column":11}},"line":57},"3":{"name":"exports.is_outbound_enabled","decl":{"start":{"line":77,"column":43},"end":{"line":83,"column":11}},"loc":{"start":{"line":77,"column":43},"end":{"line":83,"column":11}},"line":77},"4":{"name":"exports.check_sender","decl":{"start":{"line":83,"column":36},"end":{"line":108,"column":11}},"loc":{"start":{"line":83,"column":36},"end":{"line":108,"column":11}},"line":83},"5":{"name":"exports.set_queue","decl":{"start":{"line":108,"column":33},"end":{"line":139,"column":11}},"loc":{"start":{"line":108,"column":33},"end":{"line":139,"column":11}},"line":108},"6":{"name":"exports.check_recipient","decl":{"start":{"line":139,"column":39},"end":{"line":171,"column":11}},"loc":{"start":{"line":139,"column":39},"end":{"line":171,"column":11}},"line":139},"7":{"name":"exports.auth","decl":{"start":{"line":171,"column":28},"end":{"line":214,"column":11}},"loc":{"start":{"line":171,"column":28},"end":{"line":214,"column":11}},"line":171},"8":{"name":"exports.forward_enabled","decl":{"start":{"line":214,"column":39},"end":{"line":229,"column":11}},"loc":{"start":{"line":214,"column":39},"end":{"line":229,"column":11}},"line":214},"9":{"name":"exports.queue_forward","decl":{"start":{"line":229,"column":37},"end":{"line":311,"column":11}},"loc":{"start":{"line":229,"column":37},"end":{"line":311,"column":11}},"line":229},"10":{"name":"exports.get_mx_next_hop","decl":{"start":{"line":311,"column":39},"end":{"line":331,"column":11}},"loc":{"start":{"line":311,"column":39},"end":{"line":331,"column":11}},"line":311},"11":{"name":"exports.get_mx","decl":{"start":{"line":331,"column":30},"end":{"line":363,"column":1}},"loc":{"start":{"line":331,"column":30},"end":{"line":363,"column":1}},"line":331}},"f":{"0":20,"1":20,"2":11,"3":4,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":2,"11":5}}
2
- }
@@ -1,33 +0,0 @@
1
- {"total": {"lines":{"total":9613,"covered":6804,"skipped":0,"pct":70.77},"statements":{"total":9613,"covered":6804,"skipped":0,"pct":70.77},"functions":{"total":411,"covered":332,"skipped":0,"pct":80.77},"branches":{"total":1970,"covered":1462,"skipped":0,"pct":74.21},"branchesTrue":{"total":0,"covered":0,"skipped":0,"pct":100}}
2
- ,"/Users/matt/git/haraka/Haraka/connection.js": {"lines":{"total":1849,"covered":1040,"skipped":0,"pct":56.24},"functions":{"total":66,"covered":53,"skipped":0,"pct":80.3},"statements":{"total":1849,"covered":1040,"skipped":0,"pct":56.24},"branches":{"total":340,"covered":182,"skipped":0,"pct":53.52}}
3
- ,"/Users/matt/git/haraka/Haraka/endpoint.js": {"lines":{"total":83,"covered":79,"skipped":0,"pct":95.18},"functions":{"total":5,"covered":5,"skipped":0,"pct":100},"statements":{"total":83,"covered":79,"skipped":0,"pct":95.18},"branches":{"total":47,"covered":42,"skipped":0,"pct":89.36}}
4
- ,"/Users/matt/git/haraka/Haraka/host_pool.js": {"lines":{"total":169,"covered":163,"skipped":0,"pct":96.44},"functions":{"total":7,"covered":6,"skipped":0,"pct":85.71},"statements":{"total":169,"covered":163,"skipped":0,"pct":96.44},"branches":{"total":24,"covered":22,"skipped":0,"pct":91.66}}
5
- ,"/Users/matt/git/haraka/Haraka/logger.js": {"lines":{"total":322,"covered":295,"skipped":0,"pct":91.61},"functions":{"total":16,"covered":15,"skipped":0,"pct":93.75},"statements":{"total":322,"covered":295,"skipped":0,"pct":91.61},"branches":{"total":99,"covered":84,"skipped":0,"pct":84.84}}
6
- ,"/Users/matt/git/haraka/Haraka/plugins.js": {"lines":{"total":604,"covered":485,"skipped":0,"pct":80.29},"functions":{"total":27,"covered":24,"skipped":0,"pct":88.88},"statements":{"total":604,"covered":485,"skipped":0,"pct":80.29},"branches":{"total":144,"covered":109,"skipped":0,"pct":75.69}}
7
- ,"/Users/matt/git/haraka/Haraka/rfc1869.js": {"lines":{"total":93,"covered":89,"skipped":0,"pct":95.69},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":93,"covered":89,"skipped":0,"pct":95.69},"branches":{"total":31,"covered":29,"skipped":0,"pct":93.54}}
8
- ,"/Users/matt/git/haraka/Haraka/server.js": {"lines":{"total":681,"covered":272,"skipped":0,"pct":39.94},"functions":{"total":27,"covered":14,"skipped":0,"pct":51.85},"statements":{"total":681,"covered":272,"skipped":0,"pct":39.94},"branches":{"total":58,"covered":35,"skipped":0,"pct":60.34}}
9
- ,"/Users/matt/git/haraka/Haraka/smtp_client.js": {"lines":{"total":494,"covered":489,"skipped":0,"pct":98.98},"functions":{"total":17,"covered":17,"skipped":0,"pct":100},"statements":{"total":494,"covered":489,"skipped":0,"pct":98.98},"branches":{"total":155,"covered":144,"skipped":0,"pct":92.9}}
10
- ,"/Users/matt/git/haraka/Haraka/tls_socket.js": {"lines":{"total":721,"covered":580,"skipped":0,"pct":80.44},"functions":{"total":38,"covered":26,"skipped":0,"pct":68.42},"statements":{"total":721,"covered":580,"skipped":0,"pct":80.44},"branches":{"total":112,"covered":84,"skipped":0,"pct":75}}
11
- ,"/Users/matt/git/haraka/Haraka/transaction.js": {"lines":{"total":267,"covered":261,"skipped":0,"pct":97.75},"functions":{"total":15,"covered":15,"skipped":0,"pct":100},"statements":{"total":267,"covered":261,"skipped":0,"pct":97.75},"branches":{"total":101,"covered":89,"skipped":0,"pct":88.11}}
12
- ,"/Users/matt/git/haraka/Haraka/outbound/client_pool.js": {"lines":{"total":59,"covered":17,"skipped":0,"pct":28.81},"functions":{"total":2,"covered":0,"skipped":0,"pct":0},"statements":{"total":59,"covered":17,"skipped":0,"pct":28.81},"branches":{"total":1,"covered":1,"skipped":0,"pct":100}}
13
- ,"/Users/matt/git/haraka/Haraka/outbound/config.js": {"lines":{"total":134,"covered":124,"skipped":0,"pct":92.53},"functions":{"total":4,"covered":4,"skipped":0,"pct":100},"statements":{"total":134,"covered":124,"skipped":0,"pct":92.53},"branches":{"total":38,"covered":27,"skipped":0,"pct":71.05}}
14
- ,"/Users/matt/git/haraka/Haraka/outbound/fsync_writestream.js": {"lines":{"total":44,"covered":13,"skipped":0,"pct":29.54},"functions":{"total":2,"covered":1,"skipped":0,"pct":50},"statements":{"total":44,"covered":13,"skipped":0,"pct":29.54},"branches":{"total":2,"covered":2,"skipped":0,"pct":100}}
15
- ,"/Users/matt/git/haraka/Haraka/outbound/hmail.js": {"lines":{"total":1514,"covered":938,"skipped":0,"pct":61.95},"functions":{"total":42,"covered":32,"skipped":0,"pct":76.19},"statements":{"total":1514,"covered":938,"skipped":0,"pct":61.95},"branches":{"total":223,"covered":137,"skipped":0,"pct":61.43}}
16
- ,"/Users/matt/git/haraka/Haraka/outbound/index.js": {"lines":{"total":349,"covered":244,"skipped":0,"pct":69.91},"functions":{"total":8,"covered":7,"skipped":0,"pct":87.5},"statements":{"total":349,"covered":244,"skipped":0,"pct":69.91},"branches":{"total":35,"covered":22,"skipped":0,"pct":62.85}}
17
- ,"/Users/matt/git/haraka/Haraka/outbound/qfile.js": {"lines":{"total":93,"covered":93,"skipped":0,"pct":100},"functions":{"total":6,"covered":6,"skipped":0,"pct":100},"statements":{"total":93,"covered":93,"skipped":0,"pct":100},"branches":{"total":25,"covered":21,"skipped":0,"pct":84}}
18
- ,"/Users/matt/git/haraka/Haraka/outbound/queue.js": {"lines":{"total":396,"covered":278,"skipped":0,"pct":70.2},"functions":{"total":25,"covered":20,"skipped":0,"pct":80},"statements":{"total":396,"covered":278,"skipped":0,"pct":70.2},"branches":{"total":72,"covered":56,"skipped":0,"pct":77.77}}
19
- ,"/Users/matt/git/haraka/Haraka/outbound/timer_queue.js": {"lines":{"total":86,"covered":79,"skipped":0,"pct":91.86},"functions":{"total":9,"covered":9,"skipped":0,"pct":100},"statements":{"total":86,"covered":79,"skipped":0,"pct":91.86},"branches":{"total":24,"covered":20,"skipped":0,"pct":83.33}}
20
- ,"/Users/matt/git/haraka/Haraka/outbound/tls.js": {"lines":{"total":126,"covered":85,"skipped":0,"pct":67.46},"functions":{"total":7,"covered":5,"skipped":0,"pct":71.42},"statements":{"total":126,"covered":85,"skipped":0,"pct":67.46},"branches":{"total":15,"covered":7,"skipped":0,"pct":46.66}}
21
- ,"/Users/matt/git/haraka/Haraka/outbound/todo.js": {"lines":{"total":17,"covered":17,"skipped":0,"pct":100},"functions":{"total":1,"covered":1,"skipped":0,"pct":100},"statements":{"total":17,"covered":17,"skipped":0,"pct":100},"branches":{"total":2,"covered":2,"skipped":0,"pct":100}}
22
- ,"/Users/matt/git/haraka/Haraka/plugins/rcpt_to.host_list_base.js": {"lines":{"total":65,"covered":59,"skipped":0,"pct":90.76},"functions":{"total":5,"covered":5,"skipped":0,"pct":100},"statements":{"total":65,"covered":59,"skipped":0,"pct":90.76},"branches":{"total":18,"covered":14,"skipped":0,"pct":77.77}}
23
- ,"/Users/matt/git/haraka/Haraka/plugins/rcpt_to.in_host_list.js": {"lines":{"total":56,"covered":53,"skipped":0,"pct":94.64},"functions":{"total":2,"covered":2,"skipped":0,"pct":100},"statements":{"total":56,"covered":53,"skipped":0,"pct":94.64},"branches":{"total":16,"covered":15,"skipped":0,"pct":93.75}}
24
- ,"/Users/matt/git/haraka/Haraka/plugins/record_envelope_addresses.js": {"lines":{"total":17,"covered":17,"skipped":0,"pct":100},"functions":{"total":2,"covered":2,"skipped":0,"pct":100},"statements":{"total":17,"covered":17,"skipped":0,"pct":100},"branches":{"total":5,"covered":5,"skipped":0,"pct":100}}
25
- ,"/Users/matt/git/haraka/Haraka/plugins/status.js": {"lines":{"total":245,"covered":122,"skipped":0,"pct":49.79},"functions":{"total":18,"covered":11,"skipped":0,"pct":61.11},"statements":{"total":245,"covered":122,"skipped":0,"pct":49.79},"branches":{"total":38,"covered":25,"skipped":0,"pct":65.78}}
26
- ,"/Users/matt/git/haraka/Haraka/plugins/tls.js": {"lines":{"total":156,"covered":105,"skipped":0,"pct":67.3},"functions":{"total":9,"covered":8,"skipped":0,"pct":88.88},"statements":{"total":156,"covered":105,"skipped":0,"pct":67.3},"branches":{"total":28,"covered":13,"skipped":0,"pct":46.42}}
27
- ,"/Users/matt/git/haraka/Haraka/plugins/xclient.js": {"lines":{"total":122,"covered":100,"skipped":0,"pct":81.96},"functions":{"total":5,"covered":3,"skipped":0,"pct":60},"statements":{"total":122,"covered":100,"skipped":0,"pct":81.96},"branches":{"total":43,"covered":34,"skipped":0,"pct":79.06}}
28
- ,"/Users/matt/git/haraka/Haraka/plugins/auth/auth_base.js": {"lines":{"total":255,"covered":240,"skipped":0,"pct":94.11},"functions":{"total":15,"covered":14,"skipped":0,"pct":93.33},"statements":{"total":255,"covered":240,"skipped":0,"pct":94.11},"branches":{"total":105,"covered":95,"skipped":0,"pct":90.47}}
29
- ,"/Users/matt/git/haraka/Haraka/plugins/auth/auth_vpopmaild.js": {"lines":{"total":162,"covered":53,"skipped":0,"pct":32.71},"functions":{"total":7,"covered":3,"skipped":0,"pct":42.85},"statements":{"total":162,"covered":53,"skipped":0,"pct":32.71},"branches":{"total":10,"covered":7,"skipped":0,"pct":70}}
30
- ,"/Users/matt/git/haraka/Haraka/plugins/auth/flat_file.js": {"lines":{"total":44,"covered":36,"skipped":0,"pct":81.81},"functions":{"total":4,"covered":4,"skipped":0,"pct":100},"statements":{"total":44,"covered":36,"skipped":0,"pct":81.81},"branches":{"total":9,"covered":5,"skipped":0,"pct":55.55}}
31
- ,"/Users/matt/git/haraka/Haraka/plugins/queue/discard.js": {"lines":{"total":27,"covered":24,"skipped":0,"pct":88.88},"functions":{"total":3,"covered":3,"skipped":0,"pct":100},"statements":{"total":27,"covered":24,"skipped":0,"pct":88.88},"branches":{"total":10,"covered":4,"skipped":0,"pct":40}}
32
- ,"/Users/matt/git/haraka/Haraka/plugins/queue/smtp_forward.js": {"lines":{"total":363,"covered":354,"skipped":0,"pct":97.52},"functions":{"total":16,"covered":16,"skipped":0,"pct":100},"statements":{"total":363,"covered":354,"skipped":0,"pct":97.52},"branches":{"total":140,"covered":130,"skipped":0,"pct":92.85}}
33
- }