mihrab-methods 1.0.1 → 1.1.0

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 (47) hide show
  1. package/README.md +104 -287
  2. package/certification.json +31 -20
  3. package/data/corrections/indonesia.json +721 -28
  4. package/data/corrections/morocco.json +201 -914
  5. package/dist/cjs/authorities/morocco.js +7 -6
  6. package/dist/cjs/core/compute.js +1 -1
  7. package/dist/cjs/core/types.d.ts +4 -0
  8. package/dist/cjs/data/generated/algeriaCertification.js +1 -1
  9. package/dist/cjs/data/generated/diyanetCertification.js +1 -1
  10. package/dist/cjs/data/generated/diyanetWorldPoints.js +1 -1
  11. package/dist/cjs/data/generated/indonesiaCertification.js +1 -1
  12. package/dist/cjs/data/generated/indonesiaCorrections.js +1 -1
  13. package/dist/cjs/data/generated/moroccoCertification.js +1 -1
  14. package/dist/cjs/data/generated/moroccoCorrections.js +1 -1
  15. package/dist/cjs/data/generated/moroccoMethodPoints.js +1 -1
  16. package/dist/cjs/data/generated/swedenCertification.js +1 -1
  17. package/dist/cjs/methods/morocco.d.ts +43 -20
  18. package/dist/cjs/methods/morocco.js +59 -25
  19. package/dist/cjs/methods/revisions.d.ts +1 -1
  20. package/dist/cjs/methods/revisions.js +1 -1
  21. package/dist/cjs/server.d.ts +12 -0
  22. package/dist/cjs/server.js +132 -0
  23. package/dist/esm/authorities/morocco.js +7 -6
  24. package/dist/esm/core/compute.js +1 -1
  25. package/dist/esm/core/types.d.ts +4 -0
  26. package/dist/esm/data/generated/algeriaCertification.js +1 -1
  27. package/dist/esm/data/generated/diyanetCertification.js +1 -1
  28. package/dist/esm/data/generated/diyanetWorldPoints.js +1 -1
  29. package/dist/esm/data/generated/indonesiaCertification.js +1 -1
  30. package/dist/esm/data/generated/indonesiaCorrections.js +1 -1
  31. package/dist/esm/data/generated/moroccoCertification.js +1 -1
  32. package/dist/esm/data/generated/moroccoCorrections.js +1 -1
  33. package/dist/esm/data/generated/moroccoMethodPoints.js +1 -1
  34. package/dist/esm/data/generated/swedenCertification.js +1 -1
  35. package/dist/esm/methods/morocco.d.ts +43 -20
  36. package/dist/esm/methods/morocco.js +54 -24
  37. package/dist/esm/methods/revisions.d.ts +1 -1
  38. package/dist/esm/methods/revisions.js +1 -1
  39. package/dist/esm/server.d.ts +12 -0
  40. package/dist/esm/server.js +126 -0
  41. package/docs/methods.md +24 -8
  42. package/package.json +5 -1
  43. package/schemas/certification.schema.json +119 -24
  44. package/dist/cjs/methods/scratch-congress.d.ts +0 -87
  45. package/dist/cjs/methods/scratch-congress.js +0 -539
  46. package/dist/esm/methods/scratch-congress.d.ts +0 -87
  47. package/dist/esm/methods/scratch-congress.js +0 -534
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const data = { "certified": true, "checkedAt": "2026-10-16", "checks": [{ "tables": "Indonesia — Kemenag", "places": 517, "times": 266772, "off": 0, "from": "2026-10-07", "to": "2026-12-31" }], "corrections": { "from": "2026-10-07", "to": "2026-12-31", "entries": 84, "sha256": "7c7d3b09a5b01a4d77c605ad8a37fbdac4fd3ef65df483332d75c67891b2359e" }, "revision": 1 };
3
+ const data = { "certified": true, "checkedAt": "2026-11-04", "places": 517, "checks": [{ "tables": "Indonesia — Kemenag", "places": 517, "times": 362934, "off": 0, "offWithoutCorrections": 405, "from": "2026-10-07", "to": "2027-01-31" }], "corrections": { "from": "2026-10-07", "to": "2027-01-31", "entries": 405, "sha256": "5d9dc4703832e0ae850aff0af79a6d2436e013f5e1e2203ace41c6e05b36978d" }, "revision": 1 };
4
4
  exports.default = data;
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const data = { "from": "2026-10-07", "to": "2026-12-31", "points": { "-0.309,100.372": ["2026-11-22 isha -1"], "-0.333,111.739": ["2026-10-11 maghrib +1"], "-0.387,102.442": ["2026-10-09 fajr +1"], "-0.498,132.086": ["2026-11-13 sunrise -1", "2026-11-27 sunrise -1"], "-0.506,117.122": ["2026-10-10 asr +1"], "-0.870,121.586": ["2026-12-09 fajr +1"], "-0.926,100.364": ["2026-11-21 maghrib +1"], "-0.955,100.622": ["2026-10-19 asr +1", "2026-12-13 maghrib -1"], "-1.551,101.251": ["2026-10-14 maghrib +1"], "-1.588,123.503": ["2026-12-09 fajr -1"], "-1.993,121.339": ["2026-12-04 sunrise -1"], "-10.453,121.877": ["2026-11-03 asr -1", "2026-12-11 asr -1"], "-2.331,138.045": ["2026-11-20 maghrib -1"], "-2.572,101.120": ["2026-11-12 isha +1"], "-2.737,111.167": ["2026-12-21 sunrise -1"], "-3.381,112.552": ["2026-10-11 sunrise +1"], "-3.747,137.042": ["2026-10-08 asr +1"], "-3.751,102.427": ["2026-11-27 maghrib -1"], "-3.783,103.539": ["2026-11-22 sunrise -1", "2026-12-06 sunrise -1"], "-4.002,137.629": ["2026-10-12 sunrise +1"], "-4.031,121.923": ["2026-10-08 asr +1", "2026-12-09 asr +1"], "-4.350,119.887": ["2026-11-14 fajr +1"], "-6.014,106.050": ["2026-10-10 fajr +1"], "-6.384,106.773": ["2026-10-10 maghrib +1"], "-6.607,106.773": ["2026-10-23 isha +1", "2026-10-29 fajr +1", "2026-12-19 fajr -1"], "-6.760,111.038": ["2026-12-03 maghrib -1", "2026-12-13 maghrib -1", "2026-12-25 maghrib -1"], "-6.849,107.518": ["2026-11-03 fajr -1", "2026-12-26 fajr -1", "2026-12-27 sunrise -1"], "-6.867,109.138": ["2026-11-03 dhuhr +1"], "-6.921,107.607": ["2026-11-05 sunrise +1"], "-7.024,112.748": ["2026-11-21 asr +1"], "-7.392,111.440": ["2026-12-05 sunrise -1", "2026-12-13 sunrise -1"], "-7.643,112.906": ["2026-11-17 asr -1", "2026-11-28 asr -1"], "-7.715,110.357": ["2026-10-25 fajr +1", "2026-12-30 fajr +1"], "-7.870,112.527": ["2026-12-20 maghrib -1"], "-7.914,113.822": ["2026-10-22 sunrise +1"], "-7.982,112.631": ["2026-10-14 sunrise +1"], "-8.132,112.219": ["2026-12-30 maghrib -1"], "-8.194,111.103": ["2026-11-11 sunrise +1"], "-8.210,114.374": ["2026-10-16 sunrise +1"], "-8.376,123.416": ["2026-10-14 asr -1"], "-8.454,118.730": ["2026-12-13 sunrise -1"], "-8.655,116.537": ["2026-10-13 asr -1"], "-8.659,115.214": ["2026-11-30 maghrib -1"], "-8.818,120.614": ["2026-11-07 asr -1", "2026-11-16 asr -1"], "0.330,127.879": ["2026-10-29 maghrib +1"], "0.568,97.821": ["2026-10-25 isha +1"], "0.626,122.981": ["2026-10-12 sunrise +1"], "0.895,100.309": ["2026-12-13 asr -1"], "1.182,124.569": ["2026-12-29 maghrib -1"], "1.320,124.838": ["2026-10-14 maghrib +1"], "1.403,98.355": ["2026-10-19 asr -1"], "1.713,98.786": ["2026-10-09 sunrise +1", "2026-10-11 fajr +1", "2026-10-16 asr +1", "2026-10-29 fajr +1", "2026-11-25 sunrise +1", "2026-11-28 sunrise +1", "2026-12-10 sunrise +1", "2026-12-14 fajr +1"], "1.879,100.084": ["2026-12-25 isha -1"], "2.098,99.834": ["2026-12-13 fajr -1"], "2.333,99.052": ["2026-11-22 maghrib +1"], "3.107,98.498": ["2026-11-14 sunrise -1", "2026-11-22 sunrise -1", "2026-11-28 sunrise -1"], "3.741,96.836": ["2026-12-11 fajr -1"], "3.999,126.676": ["2026-12-03 sunrise +1"], "4.618,96.845": ["2026-10-18 asr +1"], "5.554,95.318": ["2026-11-27 maghrib -1"] } };
3
+ const data = { "from": "2026-10-07", "to": "2027-01-31", "points": { "-0.076,111.496": ["2027-01-22 sunrise -1"], "-0.128,109.410": ["2027-01-25 maghrib +1"], "-0.228,100.635": ["2027-01-29 maghrib -1"], "-0.238,104.608": ["2027-01-01 sunrise +1", "2027-01-06 maghrib -1", "2027-01-29 sunrise +1"], "-0.309,100.372": ["2026-11-22 isha -1", "2027-01-07 fajr +1", "2027-01-13 dhuhr -1"], "-0.316,100.031": ["2027-01-11 isha -1"], "-0.331,103.157": ["2027-01-22 isha -1"], "-0.333,111.739": ["2026-10-11 maghrib +1", "2027-01-08 fajr +1", "2027-01-23 fajr +1"], "-0.387,102.442": ["2026-10-09 fajr +1"], "-0.466,100.403": ["2027-01-15 maghrib +1", "2027-01-27 dhuhr +1"], "-0.498,132.086": ["2026-11-13 sunrise -1", "2026-11-27 sunrise -1", "2027-01-15 maghrib +1"], "-0.506,117.122": ["2026-10-10 asr +1"], "-0.622,100.284": ["2027-01-11 maghrib +1", "2027-01-20 maghrib +1"], "-0.665,119.744": ["2027-01-08 maghrib +1"], "-0.729,135.739": ["2027-01-19 maghrib +1"], "-0.794,100.663": ["2027-01-21 sunrise -1"], "-0.860,134.073": ["2027-01-12 sunrise -1"], "-0.870,121.586": ["2026-12-09 fajr +1", "2027-01-12 isha -1"], "-0.926,100.364": ["2026-11-21 maghrib +1"], "-0.942,122.792": ["2027-01-03 sunrise -1"], "-0.955,100.622": ["2026-10-19 asr +1", "2026-12-13 maghrib -1"], "-1.159,132.466": ["2027-01-20 maghrib -1"], "-1.186,136.089": ["2027-01-11 sunrise +1"], "-1.277,116.830": ["2027-01-31 dhuhr +1"], "-1.392,133.873": ["2027-01-21 sunrise -1"], "-1.551,101.251": ["2026-10-14 maghrib +1"], "-1.587,103.608": ["2027-01-28 sunrise -1", "2027-01-30 maghrib +1"], "-1.588,123.503": ["2026-12-09 fajr -1", "2027-01-10 isha +1", "2027-01-12 maghrib +1"], "-1.877,138.758": ["2027-01-16 isha +1", "2027-01-25 maghrib +1"], "-1.952,124.385": ["2027-01-09 fajr +1", "2027-01-18 isha -1"], "-1.969,101.356": ["2027-01-21 asr -1"], "-1.993,121.339": ["2026-12-04 sunrise -1", "2027-01-28 fajr -1"], "-10.173,123.581": ["2027-01-17 fajr +1"], "-10.453,121.877": ["2026-11-03 asr -1", "2026-12-11 asr -1", "2027-01-03 asr -1"], "-2.069,102.272": ["2027-01-09 sunrise -1"], "-2.093,119.489": ["2027-01-14 isha -1", "2027-01-16 sunrise -1"], "-2.120,115.173": ["2027-01-09 asr +1"], "-2.182,115.440": ["2027-01-02 dhuhr -1"], "-2.331,138.045": ["2026-11-20 maghrib -1", "2027-01-12 maghrib -1", "2027-01-15 maghrib -1"], "-2.426,115.256": ["2027-01-14 maghrib -1", "2027-01-31 sunrise +1"], "-2.487,106.411": ["2027-01-04 isha +1"], "-2.572,101.120": ["2026-11-12 isha +1", "2027-01-04 maghrib +1", "2027-01-08 dhuhr +1", "2027-01-09 isha +1"], "-2.586,115.384": ["2027-01-13 fajr +1"], "-2.670,111.638": ["2027-01-26 fajr -1"], "-2.672,118.890": ["2027-01-16 dhuhr +1", "2027-01-22 maghrib +1"], "-2.710,102.911": ["2027-01-06 sunrise +1", "2027-01-25 asr +1"], "-2.737,111.167": ["2026-12-21 sunrise -1", "2027-01-28 maghrib -1"], "-2.819,134.533": ["2027-01-15 fajr +1", "2027-01-19 fajr +1"], "-2.904,140.750": ["2027-01-04 fajr -1", "2027-01-29 maghrib -1"], "-2.928,115.163": ["2027-01-26 maghrib +1"], "-2.932,132.297": ["2027-01-14 asr +1"], "-2.938,119.377": ["2027-01-07 isha +1"], "-3.022,106.509": ["2027-01-07 dhuhr -1", "2027-01-25 isha -1"], "-3.257,127.100": ["2027-01-08 isha +1", "2027-01-25 isha +1"], "-3.272,103.824": ["2027-01-11 isha -1", "2027-01-23 fajr -1", "2027-01-30 asr -1"], "-3.295,102.863": ["2027-01-22 asr +1"], "-3.301,128.961": ["2027-01-06 isha +1"], "-3.381,112.552": ["2026-10-11 sunrise +1"], "-3.384,120.366": ["2027-01-13 dhuhr -1", "2027-01-23 asr -1", "2027-01-26 sunrise -1"], "-3.396,104.834": ["2027-01-04 isha -1", "2027-01-21 isha -1"], "-3.411,119.319": ["2027-01-10 isha +1"], "-3.438,102.198": ["2027-01-03 asr -1", "2027-01-21 sunrise -1"], "-3.462,114.825": ["2027-01-01 fajr +1"], "-3.481,102.527": ["2027-01-18 maghrib -1"], "-3.594,103.938": ["2027-01-22 isha +1", "2027-01-30 fajr +1"], "-3.660,103.777": ["2027-01-26 sunrise +1"], "-3.666,139.062": ["2027-01-29 asr +1"], "-3.684,138.480": ["2027-01-26 fajr -1"], "-3.730,137.967": ["2027-01-18 isha -1"], "-3.747,137.042": ["2026-10-08 asr +1", "2027-01-19 fajr +1"], "-3.751,102.427": ["2026-11-27 maghrib -1", "2027-01-12 sunrise +1"], "-3.783,103.539": ["2026-11-22 sunrise -1", "2026-12-06 sunrise -1", "2027-01-09 fajr -1", "2027-01-18 sunrise -1"], "-3.807,119.651": ["2027-01-28 fajr -1"], "-3.857,122.050": ["2027-01-07 isha -1", "2027-01-20 asr -1"], "-3.931,136.373": ["2027-01-11 asr -1", "2027-01-13 sunrise -1"], "-4.002,137.629": ["2026-10-12 sunrise +1"], "-4.017,119.636": ["2027-01-11 maghrib -1", "2027-01-16 fajr +1", "2027-01-24 isha -1"], "-4.031,121.923": ["2026-10-08 asr +1", "2026-12-09 asr +1", "2027-01-11 dhuhr +1", "2027-01-23 maghrib -1"], "-4.043,136.279": ["2027-01-21 dhuhr -1"], "-4.097,138.943": ["2027-01-11 isha +1", "2027-01-12 sunrise -1", "2027-01-17 maghrib +1"], "-4.317,104.347": ["2027-01-17 isha -1"], "-4.350,119.887": ["2026-11-14 fajr +1"], "-4.494,139.498": ["2027-01-06 asr +1"], "-4.495,105.221": ["2027-01-30 asr +1"], "-4.504,105.091": ["2027-01-18 maghrib -1", "2027-01-26 isha -1"], "-4.544,136.892": ["2027-01-06 maghrib +1"], "-4.745,122.012": ["2027-01-09 maghrib +1"], "-4.780,103.347": ["2027-01-07 maghrib +1", "2027-01-28 maghrib +1"], "-4.905,140.633": ["2027-01-02 sunrise -1", "2027-01-05 isha -1", "2027-01-18 isha -1"], "-5.069,105.551": ["2027-01-06 isha -1"], "-5.116,105.307": ["2027-01-01 asr -1"], "-5.133,119.420": ["2027-01-04 dhuhr -1", "2027-01-09 maghrib -1", "2027-01-12 maghrib -1"], "-5.288,122.497": ["2027-01-11 isha +1"], "-5.420,119.440": ["2027-01-22 isha -1"], "-5.431,105.262": ["2027-01-01 maghrib -1", "2027-01-21 asr +1"], "-5.555,120.194": ["2027-01-24 sunrise +1"], "-5.644,132.734": ["2027-01-19 isha +1", "2027-01-25 asr -1"], "-5.746,106.614": ["2027-01-30 fajr -1"], "-6.014,106.050": ["2026-10-10 fajr +1"], "-6.094,140.299": ["2027-01-03 isha +1"], "-6.120,106.174": ["2027-01-29 sunrise -1"], "-6.120,120.462": ["2027-01-02 sunrise +1", "2027-01-06 fajr +1", "2027-01-14 maghrib +1", "2027-01-30 fajr +1"], "-6.167,106.833": ["2027-01-06 maghrib +1"], "-6.170,106.640": ["2027-01-04 maghrib -1"], "-6.239,107.002": ["2027-01-12 isha +1"], "-6.284,106.714": ["2027-01-14 dhuhr -1", "2027-01-17 maghrib -1"], "-6.309,106.105": ["2027-01-15 maghrib -1", "2027-01-16 sunrise -1"], "-6.326,107.286": ["2027-01-05 dhuhr -1", "2027-01-25 dhuhr -1", "2027-01-30 dhuhr -1"], "-6.364,107.174": ["2027-01-04 dhuhr +1"], "-6.384,106.773": ["2026-10-10 maghrib +1"], "-6.479,106.824": ["2027-01-21 sunrise -1"], "-6.533,139.322": ["2027-01-15 fajr +1", "2027-01-28 asr +1"], "-6.607,106.773": ["2026-10-23 isha +1", "2026-10-29 fajr +1", "2026-12-19 fajr -1"], "-6.708,111.348": ["2027-01-15 isha -1", "2027-01-26 dhuhr -1"], "-6.760,111.038": ["2026-12-03 maghrib -1", "2026-12-13 maghrib -1", "2026-12-25 maghrib -1", "2027-01-03 maghrib -1"], "-6.764,108.479": ["2027-01-26 maghrib -1"], "-6.805,110.832": ["2027-01-27 fajr -1"], "-6.839,108.221": ["2027-01-17 isha -1", "2027-01-29 isha -1"], "-6.849,107.518": ["2026-11-03 fajr -1", "2026-12-26 fajr -1", "2026-12-27 sunrise -1"], "-6.867,109.138": ["2026-11-03 dhuhr +1"], "-6.872,109.036": ["2027-01-05 dhuhr -1", "2027-01-05 maghrib -1", "2027-01-07 sunrise -1", "2027-01-28 asr -1"], "-6.876,107.541": ["2027-01-24 maghrib -1", "2027-01-30 dhuhr -1"], "-6.888,109.675": ["2027-01-11 dhuhr -1"], "-6.889,112.063": ["2027-01-20 sunrise -1", "2027-01-21 isha +1", "2027-01-25 sunrise -1"], "-6.921,106.926": ["2027-01-13 sunrise -1"], "-6.921,107.607": ["2026-11-05 sunrise +1"], "-6.922,110.203": ["2027-01-12 fajr -1"], "-7.009,113.860": ["2027-01-10 fajr +1"], "-7.024,112.748": ["2026-11-21 asr +1", "2027-01-15 isha +1", "2027-01-29 dhuhr +1"], "-7.026,107.532": ["2027-01-18 fajr +1"], "-7.034,109.590": ["2027-01-06 sunrise +1", "2027-01-27 isha -1"], "-7.082,110.916": ["2027-01-01 sunrise -1"], "-7.114,112.416": ["2027-01-24 isha +1", "2027-01-27 sunrise -1"], "-7.161,113.482": ["2027-01-21 maghrib -1", "2027-01-24 dhuhr -1"], "-7.166,112.617": ["2027-01-08 dhuhr +1", "2027-01-24 asr +1"], "-7.318,110.175": ["2027-01-01 maghrib -1"], "-7.325,108.351": ["2027-01-11 sunrise -1"], "-7.327,110.498": ["2027-01-02 fajr -1", "2027-01-07 sunrise -1"], "-7.331,108.222": ["2027-01-08 sunrise +1", "2027-01-24 fajr +1"], "-7.361,109.902": ["2027-01-27 dhuhr -1"], "-7.368,108.541": ["2027-01-01 sunrise -1", "2027-01-30 dhuhr -1"], "-7.391,109.693": ["2027-01-08 sunrise -1", "2027-01-18 maghrib -1", "2027-01-24 fajr -1"], "-7.392,111.440": ["2026-12-05 sunrise -1", "2026-12-13 sunrise -1", "2027-01-02 dhuhr -1", "2027-01-08 sunrise -1", "2027-01-10 sunrise -1", "2027-01-12 sunrise -1", "2027-01-14 sunrise -1", "2027-01-24 fajr -1"], "-7.427,109.230": ["2027-01-03 isha -1"], "-7.558,112.232": ["2027-01-04 maghrib -1", "2027-01-23 fajr -1"], "-7.561,110.221": ["2027-01-03 sunrise +1"], "-7.598,112.785": ["2027-01-16 asr +1"], "-7.602,111.901": ["2027-01-19 fajr -1"], "-7.643,112.906": ["2026-11-17 asr -1", "2026-11-28 asr -1"], "-7.702,108.495": ["2027-01-01 maghrib -1", "2027-01-13 isha -1"], "-7.708,114.006": ["2027-01-20 sunrise +1"], "-7.715,110.357": ["2026-10-25 fajr +1", "2026-12-30 fajr +1"], "-7.727,109.010": ["2027-01-31 asr +1"], "-7.745,113.215": ["2027-01-03 maghrib -1"], "-7.759,113.416": ["2027-01-03 fajr -1"], "-7.819,112.043": ["2027-01-17 asr +1", "2027-01-31 isha +1"], "-7.827,112.010": ["2027-01-08 sunrise -1", "2027-01-16 maghrib -1"], "-7.870,112.527": ["2026-12-20 maghrib -1", "2027-01-09 sunrise -1"], "-7.873,111.460": ["2027-01-03 isha -1", "2027-01-11 maghrib -1", "2027-01-20 maghrib -1"], "-7.914,113.822": ["2026-10-22 sunrise +1"], "-7.982,112.631": ["2026-10-14 sunrise +1"], "-8.051,111.710": ["2027-01-10 maghrib -1"], "-8.107,115.090": ["2027-01-24 isha -1"], "-8.132,112.219": ["2026-12-30 maghrib -1"], "-8.137,113.223": ["2027-01-29 maghrib -1"], "-8.167,113.701": ["2027-01-28 dhuhr -1"], "-8.172,127.790": ["2027-01-02 fajr +1", "2027-01-21 asr +1"], "-8.194,111.103": ["2026-11-11 sunrise +1"], "-8.210,114.374": ["2026-10-16 sunrise +1"], "-8.343,114.571": ["2027-01-04 maghrib +1"], "-8.376,123.416": ["2026-10-14 asr -1", "2027-01-23 dhuhr -1", "2027-01-31 fajr -1"], "-8.454,118.730": ["2026-12-13 sunrise -1", "2027-01-30 sunrise -1"], "-8.461,115.354": ["2027-01-19 sunrise -1"], "-8.504,117.425": ["2027-01-02 sunrise -1"], "-8.509,118.619": ["2027-01-01 isha -1", "2027-01-04 isha -1"], "-8.540,115.404": ["2027-01-13 isha -1"], "-8.655,116.537": ["2026-10-13 asr -1", "2027-01-21 maghrib -1"], "-8.659,115.214": ["2026-11-30 maghrib -1"], "-8.704,116.268": ["2027-01-14 isha -1"], "-8.818,120.614": ["2026-11-07 asr -1", "2026-11-16 asr -1"], "-9.099,124.898": ["2027-01-04 maghrib +1", "2027-01-06 fajr -1", "2027-01-10 maghrib +1"], "-9.569,124.909": ["2027-01-02 maghrib -1", "2027-01-11 maghrib -1"], "-9.586,119.578": ["2027-01-19 maghrib +1"], "-9.646,120.258": ["2027-01-12 maghrib -1"], "-9.867,124.271": ["2027-01-19 maghrib -1"], "0.005,110.956": ["2027-01-19 fajr +1"], "0.330,127.879": ["2026-10-29 maghrib +1"], "0.341,101.031": ["2027-01-14 fajr +1", "2027-01-24 sunrise +1"], "0.379,109.954": ["2027-01-14 isha -1"], "0.382,123.985": ["2027-01-05 maghrib -1"], "0.399,101.859": ["2027-01-25 sunrise +1"], "0.498,115.271": ["2027-01-13 maghrib -1"], "0.568,97.821": ["2026-10-25 isha +1"], "0.626,122.981": ["2026-10-12 sunrise +1"], "0.656,127.445": ["2027-01-30 fajr -1"], "0.762,124.615": ["2027-01-03 asr -1"], "0.808,102.031": ["2027-01-14 isha -1"], "0.857,99.564": ["2027-01-03 maghrib -1"], "0.873,112.924": ["2027-01-28 sunrise -1"], "0.895,100.309": ["2026-12-13 asr -1"], "0.931,104.443": ["2027-01-02 dhuhr -1", "2027-01-28 sunrise -1"], "1.001,97.495": ["2027-01-29 fajr -1"], "1.068,127.469": ["2027-01-23 sunrise -1"], "1.126,104.054": ["2027-01-26 fajr +1"], "1.182,124.569": ["2026-12-29 maghrib -1", "2027-01-24 sunrise -1", "2027-01-26 fajr -1"], "1.320,124.838": ["2026-10-14 maghrib +1"], "1.360,109.307": ["2027-01-07 maghrib -1"], "1.403,98.355": ["2026-10-19 asr -1", "2027-01-01 fajr -1", "2027-01-01 isha +1"], "1.437,125.130": ["2027-01-07 fajr -1", "2027-01-09 fajr -1"], "1.496,124.844": ["2027-01-25 isha +1"], "1.713,98.786": ["2026-10-09 sunrise +1", "2026-10-11 fajr +1", "2026-10-16 asr +1", "2026-10-29 fajr +1", "2026-11-25 sunrise +1", "2026-11-28 sunrise +1", "2026-12-10 sunrise +1", "2026-12-14 fajr +1", "2027-01-04 sunrise +1", "2027-01-18 fajr +1", "2027-01-30 sunrise +1"], "1.722,128.012": ["2027-01-25 isha -1", "2027-01-26 fajr +1"], "1.879,100.084": ["2026-12-25 isha -1", "2027-01-05 fajr +1", "2027-01-07 fajr +1", "2027-01-11 sunrise +1", "2027-01-23 maghrib -1", "2027-01-30 sunrise +1"], "2.098,99.834": ["2026-12-13 fajr -1"], "2.160,100.801": ["2027-01-22 sunrise -1"], "2.333,99.052": ["2026-11-22 maghrib +1"], "2.476,96.382": ["2027-01-17 maghrib -1"], "2.543,98.324": ["2027-01-09 sunrise -1"], "2.743,125.361": ["2027-01-08 dhuhr -1"], "2.845,117.367": ["2027-01-03 asr +1"], "2.949,99.058": ["2027-01-16 fajr +1"], "2.963,99.801": ["2027-01-07 isha -1"], "2.972,99.632": ["2027-01-07 sunrise +1"], "3.001,107.785": ["2027-01-21 dhuhr +1"], "3.107,98.498": ["2026-11-14 sunrise -1", "2026-11-22 sunrise -1", "2026-11-28 sunrise -1", "2027-01-17 sunrise -1", "2027-01-26 fajr -1"], "3.256,97.180": ["2027-01-07 isha -1"], "3.302,117.619": ["2027-01-13 fajr -1", "2027-01-23 isha -1"], "3.509,99.113": ["2027-01-10 isha +1"], "3.573,98.690": ["2027-01-22 asr +1"], "3.586,116.604": ["2027-01-11 asr -1", "2027-01-29 fajr -1"], "3.611,125.488": ["2027-01-01 sunrise -1"], "3.612,116.909": ["2027-01-17 fajr -1"], "3.741,96.836": ["2026-12-11 fajr -1"], "3.956,108.384": ["2027-01-13 fajr -1"], "3.999,126.676": ["2026-12-03 sunrise +1", "2027-01-24 isha -1", "2027-01-30 isha -1"], "4.176,96.306": ["2027-01-15 dhuhr -1"], "4.264,98.061": ["2027-01-06 sunrise -1"], "4.463,97.972": ["2027-01-02 sunrise +1"], "4.618,96.845": ["2026-10-18 asr +1"], "4.636,95.583": ["2027-01-31 dhuhr +1"], "4.728,96.873": ["2027-01-19 isha +1"], "4.949,97.773": ["2027-01-13 maghrib -1"], "5.175,97.143": ["2027-01-30 sunrise +1"], "5.183,96.706": ["2027-01-11 maghrib -1", "2027-01-18 maghrib -1", "2027-01-19 isha -1", "2027-01-26 fajr +1"], "5.232,96.264": ["2027-01-01 fajr +1", "2027-01-04 sunrise +1", "2027-01-12 sunrise +1"], "5.554,95.318": ["2026-11-27 maghrib -1"] } };
4
4
  exports.default = data;
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const data = { "certified": true, "checkedAt": "2026-10-16", "checks": [{ "tables": "Morocco — Habous", "places": 164, "times": 75768, "off": 0, "from": "2026-08-27", "to": "2026-11-11" }], "corrections": { "from": "2026-08-27", "to": "2026-11-11", "entries": 665, "sha256": "26ccb0979ee3e632c5acd736fdba3f8272530b48577cb1c0f2897d061e695bd0" }, "revision": 1 };
3
+ const data = { "certified": true, "checkedAt": "2026-11-04", "places": 164, "checks": [{ "tables": "Morocco — Habous", "places": 164, "times": 94350, "off": 0, "offWithoutCorrections": 114, "from": "2026-08-27", "to": "2026-11-30" }], "corrections": { "from": "2026-08-27", "to": "2026-11-30", "entries": 114, "sha256": "2ae7161a7164f7ccebf1aa9f81628a810ce8fdd337e0645907e6c58d0be6aae9" }, "revision": 2 };
4
4
  exports.default = data;
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const data = { "from": "2026-08-27", "to": "2026-11-11", "points": { "20.798,-17.098": ["2026-08-31 fajr -1", "2026-09-05 asr +1", "2026-10-01 isha +1", "2026-10-07 maghrib -1"], "21.696,-16.465": ["2026-08-28 fajr +1", "2026-09-01 isha -1", "2026-09-02 isha -1", "2026-09-03 asr -1", "2026-09-03 isha -1", "2026-09-17 maghrib -1", "2026-09-18 maghrib -1", "2026-10-14 maghrib +1", "2026-10-16 sunrise -1", "2026-10-21 sunrise -1", "2026-10-27 asr +1", "2026-10-31 maghrib +1", "2026-11-05 fajr -1", "2026-11-08 maghrib +1", "2026-11-10 sunrise -1"], "22.512,-14.299": ["2026-08-29 maghrib +1"], "23.691,-15.982": ["2026-09-13 maghrib -1", "2026-11-02 asr +1"], "25.078,-12.368": ["2026-09-06 sunrise -1", "2026-09-08 maghrib +1", "2026-09-09 isha +1", "2026-10-30 fajr +1", "2026-11-01 fajr +1", "2026-11-08 isha -1"], "26.115,-14.535": ["2026-09-08 isha +1", "2026-11-03 maghrib +1", "2026-11-06 sunrise -1", "2026-11-10 maghrib +1"], "26.338,-12.837": ["2026-09-01 sunrise -1", "2026-09-03 maghrib +1", "2026-11-10 isha -1"], "26.760,-11.682": ["2026-08-30 maghrib +1"], "27.396,-9.050": ["2026-10-30 asr +1", "2026-10-31 maghrib +1", "2026-11-01 fajr +1", "2026-11-10 sunrise -1"], "27.926,-12.933": ["2026-08-30 maghrib +1", "2026-10-13 asr +1", "2026-10-17 sunrise -1", "2026-11-03 sunrise -1", "2026-11-08 maghrib +1", "2026-11-09 asr +1"], "28.006,-9.300": ["2026-08-30 fajr -1", "2026-09-12 maghrib -1", "2026-09-29 maghrib -1", "2026-10-25 sunrise -1", "2026-10-31 sunrise -1"], "28.031,-12.050": ["2026-08-31 sunrise -1"], "28.393,-11.119": ["2026-11-03 isha -1"], "28.558,-9.450": ["2026-10-14 asr +1", "2026-11-05 maghrib +1", "2026-11-06 sunrise -1", "2026-11-10 sunrise -1"], "28.949,-10.066": ["2026-08-27 sunrise -1", "2026-08-31 fajr -1", "2026-09-02 maghrib +1", "2026-09-04 isha +1", "2026-09-17 fajr -1", "2026-11-05 maghrib +1", "2026-11-07 asr +1"], "29.177,-9.732": ["2026-09-20 sunrise +1", "2026-09-22 sunrise +1", "2026-10-05 maghrib -1", "2026-10-11 asr +1", "2026-10-12 sunrise +1", "2026-10-15 asr +1", "2026-11-02 asr +1", "2026-11-10 asr +1"], "29.369,-10.184": ["2026-08-30 fajr -1", "2026-09-25 maghrib -1", "2026-10-13 maghrib -1", "2026-11-10 sunrise -1"], "29.391,-8.249": ["2026-11-06 maghrib +1", "2026-11-11 maghrib +1", "2026-11-11 sunrise -1"], "29.689,-9.733": ["2026-09-25 maghrib -1", "2026-11-05 sunrise -1"], "29.705,-8.982": ["2026-11-04 maghrib +1"], "29.746,-7.984": ["2026-10-27 asr +1"], "30.066,-8.467": ["2026-09-04 sunrise -1", "2026-09-09 fajr -1", "2026-10-03 sunrise +1", "2026-10-06 fajr -1", "2026-10-30 maghrib +1", "2026-11-06 sunrise -1"], "30.071,-6.865": ["2026-09-16 sunrise +1", "2026-10-01 asr +1", "2026-11-04 maghrib +1", "2026-11-10 maghrib +1"], "30.308,-5.849": ["2026-08-30 sunrise -1", "2026-11-02 asr +1"], "30.367,-9.567": ["2026-08-28 maghrib +1", "2026-10-25 asr +1", "2026-10-31 asr +1", "2026-11-07 asr +1", "2026-11-09 asr +1"], "30.373,-9.218": ["2026-09-06 sunrise -1", "2026-11-10 isha -1"], "30.441,-8.804": ["2026-08-27 fajr -1", "2026-08-28 maghrib +1", "2026-09-02 isha +1", "2026-09-26 fajr -1", "2026-10-09 fajr -1", "2026-11-07 sunrise -1"], "30.522,-7.933": ["2026-10-08 sunrise +1", "2026-10-10 maghrib -1", "2026-10-23 maghrib +1"], "30.665,-6.451": ["2026-08-31 maghrib +1", "2026-09-02 isha +1", "2026-09-04 asr +1", "2026-09-09 fajr -1", "2026-11-09 maghrib +1"], "30.726,-5.566": ["2026-09-08 asr +1", "2026-10-08 sunrise +1", "2026-10-20 sunrise +1"], "30.950,-7.850": ["2026-09-23 sunrise +1", "2026-10-14 asr +1", "2026-10-30 maghrib +1", "2026-11-01 sunrise -1", "2026-11-06 sunrise -1"], "30.971,-9.685": ["2026-08-27 sunrise -1", "2026-09-01 sunrise -1", "2026-09-07 fajr -1", "2026-09-26 maghrib -1", "2026-10-10 fajr -1", "2026-11-05 maghrib +1"], "31.106,-5.184": ["2026-10-07 asr +1", "2026-10-18 asr +1"], "31.160,-8.854": ["2026-09-12 fajr -1", "2026-10-18 isha -1", "2026-10-21 isha -1", "2026-11-03 sunrise -1"], "31.210,-6.151": ["2026-08-31 fajr -1", "2026-09-19 maghrib -1", "2026-10-01 fajr -1", "2026-11-06 maghrib +1", "2026-11-09 asr +1"], "31.248,-4.268": ["2026-09-02 fajr -1", "2026-10-28 maghrib +1", "2026-11-06 sunrise -1", "2026-11-09 isha -1"], "31.276,-9.452": ["2026-08-30 sunrise -1", "2026-10-31 maghrib +1"], "31.280,-7.966": ["2026-08-29 sunrise -1", "2026-10-26 maghrib +1", "2026-11-03 maghrib +1", "2026-11-07 maghrib +1", "2026-11-08 sunrise -1", "2026-11-10 maghrib +1"], "31.366,-5.999": ["2026-08-27 sunrise -1", "2026-10-30 maghrib +1", "2026-11-11 maghrib +1"], "31.405,-4.233": ["2026-10-04 sunrise +1", "2026-10-16 sunrise +1", "2026-10-30 asr +1", "2026-10-31 maghrib +1"], "31.489,-8.099": ["2026-09-13 maghrib -1", "2026-09-25 sunrise +1", "2026-11-06 asr +1", "2026-11-11 sunrise -1"], "31.490,-5.032": ["2026-11-05 maghrib +1"], "31.491,-5.532": ["2026-08-30 sunrise -1", "2026-11-02 sunrise -1", "2026-11-09 maghrib +1"], "31.501,-9.784": ["2026-09-27 sunrise +1", "2026-11-11 maghrib +1"], "31.502,-8.768": ["2026-08-31 maghrib +1", "2026-09-11 maghrib +1", "2026-10-22 sunrise +1", "2026-11-01 isha -1"], "31.536,-7.650": ["2026-08-27 fajr -1", "2026-11-08 asr +1", "2026-11-10 asr +1", "2026-11-11 sunrise -1"], "31.543,-7.949": ["2026-09-26 sunrise +1", "2026-10-04 sunrise +1", "2026-10-05 maghrib -1", "2026-10-24 asr +1", "2026-10-28 sunrise -1", "2026-10-31 asr +1"], "31.622,-8.035": ["2026-10-23 asr +1", "2026-10-30 sunrise -1", "2026-10-31 maghrib +1", "2026-11-09 maghrib +1", "2026-11-11 sunrise -1"], "31.641,-5.814": ["2026-08-27 maghrib +1", "2026-08-27 sunrise -1", "2026-08-31 isha +1", "2026-09-01 asr +1", "2026-09-04 fajr -1", "2026-09-26 fajr -1", "2026-10-02 sunrise +1"], "31.661,-4.952": ["2026-09-04 maghrib +1", "2026-09-18 fajr -1"], "31.706,-7.018": ["2026-08-31 sunrise -1", "2026-11-01 maghrib +1", "2026-11-06 maghrib +1", "2026-11-07 sunrise -1"], "31.788,-6.118": ["2026-08-29 fajr -1", "2026-09-05 sunrise -1", "2026-10-30 maghrib +1", "2026-11-05 maghrib +1"], "31.906,-5.184": ["2026-08-30 sunrise -1", "2026-09-04 fajr -1", "2026-10-05 maghrib -1", "2026-10-26 asr +1"], "31.925,-4.449": ["2026-09-01 maghrib +1", "2026-10-29 maghrib +1", "2026-11-05 maghrib +1", "2026-11-11 sunrise -1"], "31.931,-6.585": ["2026-08-31 sunrise -1", "2026-11-11 sunrise -1"], "32.037,-7.417": ["2026-08-31 sunrise -1", "2026-11-05 asr +1"], "32.045,-3.049": ["2026-09-12 maghrib -1", "2026-10-20 asr +1", "2026-11-09 maghrib +1"], "32.093,-1.233": ["2026-10-12 maghrib -1", "2026-10-26 asr +1", "2026-11-02 sunrise -1"], "32.142,-5.616": ["2026-09-05 asr +1", "2026-09-25 maghrib -1", "2026-10-13 asr +1", "2026-10-24 asr +1", "2026-10-28 asr +1", "2026-11-04 maghrib +1", "2026-11-08 maghrib +1", "2026-11-11 maghrib +1"], "32.174,-2.519": ["2026-09-03 fajr -1", "2026-09-06 sunrise -1"], "32.219,-7.966": ["2026-09-08 sunrise +1", "2026-09-23 fajr -1", "2026-10-27 asr +1"], "32.241,-8.532": ["2026-10-26 asr +1", "2026-11-02 maghrib +1", "2026-11-07 asr +1", "2026-11-07 maghrib +1", "2026-11-07 sunrise -1"], "32.257,-4.467": ["2026-08-28 maghrib +1", "2026-10-19 sunrise +1", "2026-11-04 maghrib +1", "2026-11-08 maghrib +1", "2026-11-11 maghrib +1"], "32.263,-9.248": ["2026-08-29 asr +1", "2026-09-02 isha +1", "2026-09-05 sunrise -1", "2026-09-07 fajr -1", "2026-09-29 maghrib -1", "2026-11-03 isha -1", "2026-11-03 sunrise -1"], "32.300,-6.370": ["2026-09-04 dhuhr -1", "2026-09-04 fajr -1", "2026-09-09 fajr -1"], "32.470,-7.918": ["2026-08-27 fajr -1", "2026-10-21 isha -1", "2026-10-31 sunrise -1", "2026-11-02 maghrib +1", "2026-11-07 maghrib +1", "2026-11-11 asr +1"], "32.487,-6.702": ["2026-09-27 sunrise +1"], "32.488,-7.201": ["2026-10-26 maghrib -1"], "32.529,-3.433": ["2026-10-22 maghrib +1", "2026-10-30 maghrib +1", "2026-11-06 maghrib +1", "2026-11-09 asr +1", "2026-11-10 sunrise -1", "2026-11-11 asr +1"], "32.530,-1.966": ["2026-10-19 asr +1", "2026-10-26 maghrib +1", "2026-11-05 maghrib +1", "2026-11-09 maghrib +1"], "32.557,-6.051": ["2026-09-03 sunrise -1", "2026-09-15 maghrib -1", "2026-10-03 maghrib -1", "2026-10-27 sunrise -1", "2026-11-03 asr +1", "2026-11-08 asr +1", "2026-11-09 sunrise -1"], "32.577,-6.282": ["2026-11-08 maghrib +1", "2026-11-09 sunrise -1"], "32.587,-8.717": ["2026-09-03 fajr -1", "2026-10-28 sunrise -1", "2026-11-11 asr +1", "2026-11-11 sunrise -1"], "32.645,-4.752": ["2026-08-28 isha +1", "2026-09-03 fajr -1", "2026-09-04 maghrib +1", "2026-09-09 fajr -1", "2026-09-26 isha +1", "2026-09-29 fajr -1", "2026-10-03 asr -1"], "32.645,-8.437": ["2026-08-31 sunrise -1", "2026-11-11 maghrib +1"], "32.712,-9.033": ["2026-10-24 asr +1", "2026-11-04 maghrib +1"], "32.843,-6.581": ["2026-09-07 isha +1", "2026-10-08 sunrise +1", "2026-11-11 asr +1"], "32.856,-6.919": ["2026-08-28 fajr -1", "2026-09-18 sunrise +1"], "32.902,-5.684": ["2026-08-27 fajr -1", "2026-08-28 sunrise -1", "2026-09-06 isha +1", "2026-09-21 isha +1", "2026-10-31 sunrise -1", "2026-11-02 maghrib +1", "2026-11-11 maghrib +1"], "32.985,-7.634": ["2026-10-29 sunrise -1", "2026-11-07 maghrib +1", "2026-11-11 asr +1"], "33.031,-4.016": ["2026-09-11 fajr -1", "2026-10-21 asr +1", "2026-11-11 maghrib +1"], "33.036,-1.998": ["2026-09-25 asr +1", "2026-10-06 maghrib -1", "2026-10-14 maghrib -1", "2026-11-08 asr +1", "2026-11-11 maghrib +1"], "33.059,-7.252": ["2026-09-28 maghrib -1", "2026-10-05 fajr -1", "2026-10-30 maghrib +1", "2026-11-03 sunrise -1"], "33.228,-6.201": ["2026-09-18 maghrib -1", "2026-09-29 maghrib -1", "2026-11-01 asr +1"], "33.236,-8.515": ["2026-11-11 sunrise -1"], "33.246,-7.233": ["2026-09-08 fajr -1", "2026-09-20 isha +1", "2026-09-27 isha +1", "2026-10-09 isha +1"], "33.249,-7.583": ["2026-08-27 isha +1", "2026-08-27 sunrise -1", "2026-09-03 maghrib +1", "2026-11-08 maghrib +1"], "33.276,-8.350": ["2026-09-16 maghrib -1", "2026-10-26 asr +1", "2026-11-08 asr +1", "2026-11-11 sunrise -1"], "33.357,-4.732": ["2026-08-27 maghrib +1", "2026-09-30 sunrise +1", "2026-10-24 asr +1", "2026-11-04 maghrib +1", "2026-11-07 asr +1"], "33.407,-6.000": ["2026-11-11 maghrib +1"], "33.430,-5.232": ["2026-10-02 maghrib -1", "2026-10-03 sunrise +1", "2026-10-18 asr +1", "2026-10-26 maghrib +1", "2026-10-29 asr +1", "2026-10-29 maghrib +1", "2026-10-30 maghrib +1"], "33.485,-6.602": ["2026-08-31 fajr -1", "2026-09-12 maghrib -1"], "33.558,-7.668": ["2026-09-01 maghrib +1", "2026-10-01 sunrise +1", "2026-10-20 maghrib +1", "2026-10-21 asr +1", "2026-11-05 maghrib +1", "2026-11-05 sunrise -1", "2026-11-06 asr +1"], "33.611,-7.133": ["2026-08-30 maghrib +1", "2026-09-01 sunrise -1", "2026-09-29 maghrib -1", "2026-10-31 sunrise -1", "2026-11-09 asr +1", "2026-11-10 sunrise -1"], "33.668,-7.399": ["2026-08-28 fajr -1", "2026-09-19 fajr -1"], "33.675,-5.384": ["2026-08-27 fajr -1", "2026-09-07 fajr -1", "2026-09-19 maghrib -1", "2026-10-16 sunrise +1"], "33.730,-5.016": ["2026-09-27 maghrib -1", "2026-10-09 asr +1", "2026-10-17 maghrib +1", "2026-11-01 maghrib +1"], "33.757,-7.167": ["2026-08-28 isha +1", "2026-08-30 isha +1", "2026-09-01 isha +1", "2026-09-25 isha +1", "2026-10-02 fajr -1", "2026-10-16 sunrise +1", "2026-11-05 maghrib +1", "2026-11-08 fajr +1"], "33.791,-6.784": ["2026-08-31 maghrib +1"], "33.793,-4.849": ["2026-08-27 sunrise -1", "2026-09-02 maghrib +1", "2026-09-22 fajr -1", "2026-10-30 sunrise -1"], "33.806,-4.420": ["2026-08-27 maghrib +1", "2026-10-02 sunrise +1", "2026-10-28 asr +1", "2026-11-01 asr +1"], "33.822,-6.083": ["2026-10-18 asr +1", "2026-10-23 maghrib +1", "2026-10-27 sunrise -1", "2026-11-03 maghrib +1", "2026-11-04 sunrise -1", "2026-11-08 asr +1"], "33.890,-5.583": ["2026-09-10 fajr -1", "2026-10-30 asr +1", "2026-11-07 maghrib +1", "2026-11-11 maghrib +1", "2026-11-11 sunrise -1"], "33.905,-6.336": ["2026-09-01 maghrib +1", "2026-09-23 sunrise +1", "2026-11-04 maghrib +1", "2026-11-09 maghrib +1"], "33.988,-3.017": ["2026-08-31 sunrise -1", "2026-10-07 fajr -1", "2026-10-13 maghrib -1", "2026-11-02 maghrib +1", "2026-11-04 asr +1", "2026-11-05 sunrise -1"], "34.014,-6.850": ["2026-08-27 sunrise -1", "2026-10-07 asr +1", "2026-11-03 asr +1", "2026-11-05 sunrise -1", "2026-11-06 asr +1", "2026-11-11 asr +1"], "34.033,-5.535": ["2026-09-02 sunrise -1", "2026-11-04 asr +1", "2026-11-06 maghrib +1"], "34.037,-4.433": ["2026-09-11 fajr -1", "2026-10-23 sunrise -1", "2026-11-08 asr +1", "2026-11-11 sunrise -1"], "34.044,-4.418": ["2026-08-31 maghrib +1", "2026-09-20 sunrise +1", "2026-10-17 asr +1", "2026-10-27 maghrib +1", "2026-10-31 maghrib +1", "2026-11-08 maghrib +1", "2026-11-10 sunrise -1"], "34.063,-5.017": ["2026-09-29 sunrise +1", "2026-10-22 asr +1", "2026-11-01 asr +1", "2026-11-07 maghrib +1", "2026-11-11 maghrib +1"], "34.071,-4.557": ["2026-08-28 maghrib +1", "2026-09-06 fajr -1", "2026-09-29 fajr -1", "2026-11-01 maghrib +1"], "34.075,-5.184": ["2026-10-06 sunrise +1"], "34.078,-4.600": ["2026-08-31 maghrib +1", "2026-10-26 maghrib +1", "2026-10-27 sunrise -1", "2026-11-02 maghrib +1", "2026-11-09 asr +1"], "34.149,-4.282": ["2026-09-07 isha +1", "2026-09-23 sunrise +1", "2026-10-07 maghrib -1"], "34.205,-3.366": ["2026-09-25 fajr -1", "2026-10-08 asr +1", "2026-11-07 maghrib +1"], "34.212,-5.717": ["2026-10-24 maghrib +1", "2026-11-04 maghrib +1", "2026-11-06 sunrise -1", "2026-11-09 maghrib +1"], "34.225,-6.604": ["2026-09-05 fajr -1", "2026-09-15 maghrib -1", "2026-11-02 isha -1", "2026-11-03 sunrise -1"], "34.253,-5.952": ["2026-09-03 isha +1", "2026-09-07 sunrise +1", "2026-09-17 maghrib -1", "2026-11-01 maghrib +1", "2026-11-03 asr +1"], "34.295,-4.683": ["2026-09-30 sunrise +1", "2026-10-02 maghrib -1", "2026-10-04 asr +1", "2026-10-19 asr +1", "2026-10-26 asr +1", "2026-10-28 maghrib +1", "2026-10-31 maghrib +1", "2026-11-01 sunrise -1", "2026-11-09 asr +1"], "34.299,-2.168": ["2026-10-27 maghrib +1", "2026-11-01 maghrib +1", "2026-11-07 sunrise -1"], "34.304,-6.316": ["2026-09-01 fajr -1", "2026-10-28 maghrib +1", "2026-10-31 maghrib +1", "2026-11-01 maghrib +1", "2026-11-05 asr +1"], "34.322,-5.216": ["2026-08-27 isha +1", "2026-09-04 sunrise -1", "2026-09-08 fajr -1"], "34.411,-2.882": ["2026-09-01 maghrib +1", "2026-09-01 sunrise -1", "2026-10-28 asr +1", "2026-11-05 maghrib +1", "2026-11-10 asr +1", "2026-11-10 maghrib +1", "2026-11-10 sunrise -1", "2026-11-11 sunrise -1"], "34.518,-4.653": ["2026-09-24 fajr -1", "2026-09-29 fajr -1", "2026-10-01 sunrise +1", "2026-10-27 sunrise -1", "2026-10-29 maghrib +1", "2026-10-30 maghrib +1", "2026-10-31 maghrib +1", "2026-11-05 asr +1", "2026-11-07 sunrise -1", "2026-11-08 sunrise -1"], "34.565,-2.501": ["2026-10-21 isha -1", "2026-10-27 sunrise -1", "2026-11-04 asr +1", "2026-11-07 asr +1", "2026-11-08 sunrise -1", "2026-11-09 maghrib +1"], "34.626,-3.883": ["2026-09-11 isha +1", "2026-10-19 maghrib +1", "2026-11-09 maghrib +1", "2026-11-11 asr +1"], "34.678,-1.933": ["2026-08-27 sunrise -1", "2026-10-25 maghrib +1", "2026-11-02 asr +1", "2026-11-02 sunrise -1", "2026-11-04 maghrib +1"], "34.725,-4.099": ["2026-09-24 asr +1", "2026-09-25 maghrib -1", "2026-10-25 maghrib +1", "2026-11-04 maghrib +1", "2026-11-05 sunrise -1"], "34.764,-3.799": ["2026-09-02 sunrise -1", "2026-09-28 asr +1", "2026-10-27 asr +1", "2026-10-30 sunrise -1", "2026-11-06 maghrib +1", "2026-11-10 asr +1"], "34.794,-2.402": ["2026-10-26 maghrib +1", "2026-11-03 maghrib +1", "2026-11-11 sunrise -1"], "34.795,-5.583": ["2026-10-16 maghrib +1", "2026-10-31 sunrise -1"], "34.869,-6.285": ["2026-10-23 maghrib +1", "2026-11-07 maghrib +1", "2026-11-10 sunrise -1", "2026-11-11 sunrise -1"], "34.876,-4.631": ["2026-09-24 maghrib -1", "2026-10-17 asr +1", "2026-10-26 asr +1", "2026-10-29 sunrise -1", "2026-11-04 asr +1", "2026-11-07 asr +1"], "34.891,-2.357": ["2026-09-01 maghrib +1", "2026-09-20 fajr -1", "2026-09-26 fajr -1", "2026-10-09 isha -1", "2026-10-11 fajr -1", "2026-11-03 sunrise -1"], "34.895,-5.937": ["2026-09-04 fajr -1", "2026-10-03 fajr -1", "2026-11-10 sunrise -1"], "34.912,-2.200": ["2026-11-04 sunrise -1", "2026-11-05 maghrib +1", "2026-11-05 sunrise -1"], "34.925,-3.390": ["2026-08-28 maghrib +1", "2026-09-13 fajr -1", "2026-10-19 dhuhr -1", "2026-10-26 dhuhr -1", "2026-11-04 maghrib +1"], "34.930,-2.717": ["2026-08-28 sunrise -1", "2026-08-29 maghrib +1", "2026-10-30 asr +1", "2026-10-31 sunrise -1", "2026-11-03 asr +1", "2026-11-08 maghrib +1"], "34.940,-2.101": ["2026-10-28 sunrise -1", "2026-11-05 maghrib +1"], "34.984,-5.918": ["2026-08-27 sunrise -1", "2026-09-27 fajr -1", "2026-09-27 maghrib -1", "2026-10-30 sunrise -1"], "34.991,-4.883": ["2026-09-01 maghrib +1", "2026-09-08 sunrise -1", "2026-10-27 asr +1", "2026-11-01 asr +1", "2026-11-01 sunrise -1", "2026-11-08 maghrib +1"], "35.035,-2.940": ["2026-08-29 maghrib +1", "2026-09-21 fajr -1", "2026-09-27 fajr -1", "2026-11-07 isha -1", "2026-11-10 isha -1"], "35.115,-2.418": ["2026-09-04 isha +1", "2026-09-08 sunrise -1", "2026-09-11 fajr -1", "2026-09-15 maghrib +1", "2026-10-02 isha +1", "2026-10-19 maghrib +1", "2026-11-11 sunrise -1"], "35.140,-5.270": ["2026-08-28 maghrib +1", "2026-09-15 fajr -1", "2026-10-31 sunrise -1"], "35.171,-2.251": ["2026-08-27 maghrib +1", "2026-11-04 asr +1", "2026-11-04 maghrib +1", "2026-11-10 asr +1"], "35.172,-6.153": ["2026-09-19 fajr -1", "2026-11-11 sunrise -1"], "35.183,-2.936": ["2026-09-11 fajr -1", "2026-09-21 maghrib -1", "2026-10-08 sunrise +1", "2026-10-30 sunrise -1", "2026-11-05 asr +1", "2026-11-08 asr +1"], "35.186,-4.670": ["2026-09-10 fajr -1"], "35.227,-3.933": ["2026-08-31 maghrib +1", "2026-11-02 fajr +1", "2026-11-09 maghrib +1"], "35.254,-2.984": ["2026-09-08 maghrib +1", "2026-09-10 isha +1", "2026-10-15 sunrise +1", "2026-11-10 isha -1"], "35.264,-2.918": ["2026-09-12 maghrib -1", "2026-10-03 sunrise +1", "2026-10-31 maghrib +1", "2026-11-01 maghrib +1"], "35.264,-2.966": ["2026-08-27 maghrib +1", "2026-08-29 isha +1", "2026-09-04 maghrib +1", "2026-09-10 fajr -1"], "35.414,-5.100": ["2026-08-27 isha +1", "2026-10-02 asr +1", "2026-10-26 sunrise -1", "2026-11-04 maghrib +1"], "35.438,-6.052": ["2026-09-11 fajr -1", "2026-10-14 fajr -1", "2026-11-05 maghrib +1"], "35.546,-5.369": ["2026-09-04 dhuhr -1", "2026-09-12 fajr -1"], "35.606,-5.285": ["2026-09-25 maghrib -1", "2026-10-26 sunrise -1"], "35.677,-5.333": ["2026-10-30 sunrise -1", "2026-11-06 asr +1", "2026-11-08 maghrib +1", "2026-11-09 asr +1"], "35.728,-5.821": ["2026-08-27 maghrib +1", "2026-08-28 dhuhr -1", "2026-09-04 sunrise -1", "2026-09-06 maghrib +1", "2026-10-13 dhuhr -1"], "35.821,-5.566": ["2026-09-24 sunrise +1", "2026-10-20 maghrib +1", "2026-10-22 asr +1", "2026-10-26 sunrise -1", "2026-10-30 asr +1", "2026-11-07 asr +1", "2026-11-08 maghrib +1"], "35.827,-5.368": ["2026-08-28 sunrise -1", "2026-09-18 fajr -1", "2026-10-03 fajr -1"], "35.868,-5.352": ["2026-08-27 maghrib +1", "2026-08-27 sunrise -1", "2026-09-25 maghrib -1", "2026-10-21 asr +1", "2026-11-10 sunrise -1", "2026-11-11 sunrise -1"] } };
3
+ const data = { "from": "2026-08-27", "to": "2026-11-30", "points": { "21.626,-16.466": ["2026-09-01 isha -1"], "23.701,-15.984": ["2026-11-04 dhuhr -1"], "26.125,-14.532": ["2026-09-08 isha +1"], "26.358,-12.833": ["2026-09-03 maghrib +1"], "26.763,-11.682": ["2026-11-16 dhuhr +1"], "27.152,-13.232": ["2026-08-28 fajr +1"], "27.406,-9.051": ["2026-09-24 asr -1", "2026-10-30 asr +1", "2026-11-16 maghrib +1"], "27.926,-12.933": ["2026-11-16 dhuhr +1", "2026-11-19 maghrib -1"], "28.051,-12.050": ["2026-11-29 dhuhr +1"], "28.433,-11.119": ["2026-09-11 asr -1", "2026-11-17 fajr -1"], "29.382,-10.184": ["2026-10-20 asr -1"], "29.715,-8.983": ["2026-11-12 maghrib +1"], "30.387,-9.567": ["2026-08-30 isha -1"], "30.475,-8.801": ["2026-10-09 fajr -1"], "30.532,-7.933": ["2026-10-10 maghrib -1", "2026-11-28 asr +1"], "30.695,-6.451": ["2026-11-26 maghrib +1"], "30.950,-7.850": ["2026-10-15 maghrib -1"], "31.189,-8.851": ["2026-08-29 isha -1"], "31.240,-6.151": ["2026-09-19 maghrib -1", "2026-11-14 maghrib +1", "2026-11-16 maghrib +1"], "31.268,-4.266": ["2026-11-25 sunrise -1"], "31.280,-7.966": ["2026-10-22 maghrib -1", "2026-10-25 maghrib -1"], "31.366,-5.999": ["2026-11-19 maghrib +1"], "31.501,-5.534": ["2026-11-21 maghrib +1"], "31.510,-5.034": ["2026-09-11 isha -1", "2026-09-14 asr -1"], "31.545,-8.766": ["2026-08-31 maghrib +1"], "31.567,-7.652": ["2026-11-28 maghrib +1"], "31.631,-8.032": ["2026-11-14 maghrib +1"], "31.691,-4.952": ["2026-11-10 asr -1"], "31.829,-6.117": ["2026-09-26 maghrib -1", "2026-11-21 maghrib +1"], "31.927,-4.449": ["2026-11-29 maghrib +1"], "31.936,-5.184": ["2026-09-28 maghrib -1", "2026-10-05 maghrib -1"], "31.951,-6.584": ["2026-08-30 isha -1", "2026-11-20 maghrib +1", "2026-11-27 maghrib +1"], "32.142,-5.616": ["2026-09-05 asr +1", "2026-09-25 maghrib -1"], "32.267,-4.467": ["2026-09-01 maghrib -1", "2026-10-06 maghrib -1"], "32.330,-6.367": ["2026-11-13 maghrib +1"], "32.480,-7.915": ["2026-10-23 isha +1"], "32.497,-6.699": ["2026-11-24 isha +1"], "32.539,-3.433": ["2026-08-29 isha -1", "2026-11-26 maghrib +1"], "32.655,-8.434": ["2026-10-14 asr -1"], "32.682,-4.752": ["2026-10-03 asr -1", "2026-10-19 asr -1", "2026-11-27 maghrib +1"], "32.862,-6.584": ["2026-10-16 isha -1"], "32.886,-6.917": ["2026-09-03 asr -1", "2026-10-04 isha -1"], "32.932,-5.683": ["2026-11-02 maghrib +1"], "33.036,-1.998": ["2026-09-25 asr +1", "2026-11-20 sunrise +1"], "33.236,-8.515": ["2026-11-22 sunrise +1"], "33.260,-7.581": ["2026-10-28 sunrise +1"], "33.283,-8.350": ["2026-09-24 maghrib +1"], "33.416,-6.000": ["2026-11-16 maghrib +1"], "33.430,-5.232": ["2026-10-02 maghrib -1"], "33.522,-6.599": ["2026-09-12 maghrib -1"], "33.558,-7.668": ["2026-09-20 asr -1", "2026-11-14 isha -1", "2026-11-18 asr -1"], "33.611,-7.133": ["2026-11-29 maghrib -1", "2026-11-30 fajr +1"], "33.685,-5.384": ["2026-09-14 isha -1", "2026-09-16 isha -1", "2026-11-14 maghrib +1"], "33.791,-6.784": ["2026-11-18 asr -1", "2026-11-21 asr -1"], "33.900,-5.583": ["2026-11-11 sunrise -1"], "34.053,-5.535": ["2026-11-26 maghrib +1"], "34.054,-4.418": ["2026-09-02 isha -1"], "34.088,-4.598": ["2026-10-26 maghrib +1"], "34.189,-4.284": ["2026-09-02 asr -1"], "34.205,-4.015": ["2026-11-05 asr -1"], "34.215,-3.366": ["2026-11-07 maghrib +1", "2026-11-30 sunrise -1"], "34.265,-5.950": ["2026-09-03 asr -1"], "34.309,-2.165": ["2026-10-13 isha +1"], "34.411,-2.882": ["2026-11-05 maghrib +1"], "34.528,-4.650": ["2026-09-20 sunrise -1"], "34.725,-4.098": ["2026-09-24 asr +1"], "34.764,-3.799": ["2026-11-20 fajr +1", "2026-11-25 maghrib +1"], "34.876,-4.631": ["2026-11-17 maghrib +1", "2026-11-27 maghrib +1"], "34.915,-2.200": ["2026-11-22 maghrib +1"], "34.918,-5.933": ["2026-10-14 asr +1"], "34.920,-2.351": ["2026-10-09 isha -1"], "34.929,-2.715": ["2026-11-19 fajr +1", "2026-11-21 isha +1"], "34.960,-2.101": ["2026-09-17 isha -1"], "35.181,-2.251": ["2026-09-09 asr -1", "2026-09-18 maghrib +1"], "35.182,-6.153": ["2026-10-28 asr -1"], "35.294,-2.965": ["2026-11-15 fajr +1", "2026-11-23 isha +1"], "35.569,-5.367": ["2026-09-10 isha -1"], "35.616,-5.285": ["2026-10-20 asr -1"], "35.687,-5.333": ["2026-09-19 fajr +1"], "35.821,-5.566": ["2026-11-14 fajr +1", "2026-11-28 asr -1", "2026-11-28 maghrib -1"] } };
4
4
  exports.default = data;
@@ -1,5 +1,5 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  // Generated by scripts/embed.mjs — do not edit; edit the JSON under data/ instead.
4
- const data = { "1": [34.0138, -6.8498, 0.015, 0.034], "2": [33.822, -6.083, 0.346, 0.319], "3": [33.905, -6.336, 0.356, 0.328], "4": [33.4846, -6.6018, 0.378, 0.361], "5": [33.4065, -6, 0.797, 0.702], "6": [33.757, -7.167, -0.02, -0.005], "7": [34.225, -6.604, 0.122, 0.136], "8": [34.212, -5.717, 0.343, 0.326], "9": [34.304, -6.316, 0.122, 0.126], "10": [34.2529, -5.9515, -0.002, 0.006], "12": [34.895, -5.937, 0.127, 0.131], "13": [34.8688, -6.285, -0.014, -0.001], "14": [35.7276, -5.8205, 0.227, 0.221], "15": [35.5458, -5.3688, 0.406, 0.379], "16": [35.172, -6.1527, -0.006, 0.011], "17": [35.438, -6.052, 0.031, 0.038], "18": [35.1401, -5.27, 0.753, 0.659], "19": [35.6064, -5.285, -0.014, 0.018], "20": [35.6774, -5.3328, -0.009, 0.009], "21": [34.9842, -5.9185, 0.054, 0.072], "22": [35.821, -5.566, 0.065, 0.077], "23": [35.2271, -3.9335, 0.123, 0.127], "24": [35.868, -5.352, 0.387, 0.368], "25": [35.827, -5.3676, 0.174, 0.175], "26": [35.1863, -4.6695, 0.177, 0.178], "27": [35.414, -5.1, -0.009, 0.009], "28": [34.9909, -4.8826, 0.792, 0.693], "29": [34.7948, -5.5828, 0.517, 0.461], "31": [34.678, -1.933, 0.529, 0.485], "32": [34.8905, -2.3568, 0.127, 0.121], "33": [32.093, -1.2333, 0.615, 0.56], "34": [32.53, -1.966, 0.619, 0.558], "35": [34.205, -3.366, 0.309, 0.292], "36": [34.299, -2.168, 0.714, 0.63], "37": [32.174, -2.5192, 0.621, 0.555], "38": [34.4114, -2.8816, 0.676, 0.603], "39": [35.1828, -2.9357, 0.129, 0.133], "40": [35.264, -2.966, -0.014, 0.009], "41": [33.9882, -3.0168, 0.725, 0.645], "42": [35.035, -2.94, 0.229, 0.218], "43": [35.264, -2.918, 0.13, 0.133], "44": [35.2539, -2.9836, 0.13, 0.129], "45": [32.5295, -3.4335, 0.882, 0.751], "46": [33.036, -1.998, 0.892, 0.769], "47": [34.565, -2.501, 0.463, 0.428], "49": [35.171, -2.251, -0.006, 0.006], "50": [35.1153, -2.4185, -0.008, 0], "51": [34.7935, -2.4025, 0.631, 0.559], "52": [34.9123, -2.2005, 0.566, 0.522], "53": [34.94, -2.101, 0.223, 0.222], "54": [34.9299, -2.7169, 0.451, 0.424], "55": [34.9247, -3.3898, 0.458, 0.41], "57": [32.045, -3.049, 0.597, 0.54], "58": [33.5583, -7.6677, 0.123, 0.123], "59": [33.6676, -7.3987, -0.024, 0.001], "60": [33.611, -7.133, 0.214, 0.22], "61": [32.9852, -7.6344, 0.307, 0.29], "62": [33.246, -7.233, 0.314, 0.305], "63": [32.4878, -7.2013, 0.373, 0.359], "64": [33.0593, -7.252, 0.482, 0.441], "65": [33.2495, -7.583, 0.17, 0.168], "66": [33.236, -8.515, -0.019, -0.009], "67": [33.2761, -8.3498, 0.059, 0.067], "68": [32.6448, -8.4365, 0.102, 0.109], "69": [32.5875, -8.7171, 0.105, 0.112], "70": [32.9018, -5.6835, 0.671, 0.593], "71": [33.228, -6.201, 0.628, 0.562], "72": [31.788, -6.118, 1.256, 1.019], "73": [32.3, -6.37, 0.769, 0.669], "74": [31.931, -6.585, 0.98, 0.822], "75": [32.4869, -6.7015, 0.377, 0.359], "76": [31.7062, -7.0176, 0.958, 0.825], "77": [32.5569, -6.0509, 0.813, 0.716], "78": [32.5767, -6.2822, 0.402, 0.376], "79": [32.856, -6.919, 0.592, 0.521], "80": [32.8425, -6.5808, 0.61, 0.545], "81": [34.063, -5.017, 0.349, 0.317], "82": [33.7927, -4.849, 0.673, 0.6], "83": [34.0745, -5.1845, 0.306, 0.294], "84": [33.357, -4.732, 1.27, 1.037], "85": [33.0311, -4.016, 0.619, 0.553], "86": [33.8055, -4.4195, 0.91, 0.78], "88": [33.73, -5.016, 0.917, 0.786], "89": [34.2052, -4.015, 0.623, 0.552], "90": [34.518, -4.653, 0.573, 0.518], "91": [34.626, -3.8826, 0.845, 0.738], "92": [34.7642, -3.7989, 0.884, 0.772], "93": [34.7255, -4.0988, 0.628, 0.566], "94": [34.037, -4.433, 0.392, 0.377], "95": [34.295, -4.683, 0.229, 0.232], "96": [34.3219, -5.2161, 0.174, 0.171], "97": [34.8762, -4.6314, 1.001, 0.872], "98": [34.149, -4.282, 0.303, 0.297], "99": [33.89, -5.583, 0.442, 0.415], "101": [33.675, -5.384, 0.76, 0.671], "102": [34.0327, -5.535, 0.605, 0.537], "103": [33.43, -5.232, 0.878, 0.758], "104": [31.6223, -8.0352, 0.438, 0.403], "105": [32.0369, -7.4165, 0.402, 0.386], "106": [31.501, -9.784, 0.005, 0.021], "107": [31.5021, -8.7682, 0.374, 0.339], "108": [32.219, -7.966, 0.415, 0.383], "109": [32.47, -7.918, 0.541, 0.482], "110": [30.9709, -9.6847, 0.317, 0.318], "111": [32.2631, -9.248, 0.042, 0.062], "112": [32.7118, -9.033, -0.016, -0.011], "113": [32.2408, -8.532, 0.337, 0.325], "114": [31.543, -7.949, 0.441, 0.41], "115": [31.489, -8.099, 0.439, 0.413], "117": [30.367, -9.567, 0.204, 0.192], "118": [30.4407, -8.8039, 0.202, 0.195], "119": [29.6886, -9.7334, 0.203, 0.206], "120": [30.0658, -8.4669, 1.083, 0.903], "121": [30.522, -7.933, 0.873, 0.747], "122": [29.705, -8.982, 0.91, 0.775], "123": [29.7462, -7.9836, 0.508, 0.463], "124": [29.3909, -8.249, 0.885, 0.754], "127": [30.3735, -9.2181, 0.205, 0.198], "128": [31.9251, -4.4485, 0.672, 0.59], "129": [31.2483, -4.268, 0.663, 0.592], "130": [31.4054, -4.2329, 0.674, 0.587], "132": [31.6606, -4.9515, 0.673, 0.592], "133": [32.142, -5.616, 1.164, 0.96], "134": [31.49, -5.0322, 0.663, 0.592], "135": [32.257, -4.467, 0.844, 0.72], "136": [32.645, -4.752, 0.943, 0.807], "137": [30.3079, -5.8488, 0.553, 0.501], "138": [30.9012, -6.9335, 0.764, 0.669], "139": [31.491, -5.532, 0.897, 0.769], "141": [31.2099, -6.1505, 0.898, 0.769], "142": [30.665, -6.451, 0.912, 0.771], "143": [31.3665, -5.9994, 0.932, 0.798], "144": [31.1063, -5.1835, 0.602, 0.544], "145": [31.9057, -5.1835, 1.352, 1.095], "146": [31.641, -5.814, 1.124, 0.934], "147": [30.7259, -5.5657, 0.366, 0.349], "148": [29.3691, -10.1845, 0.242, 0.249], "149": [28.9494, -10.0665, 0.456, 0.418], "150": [28.558, -9.45, 0.195, 0.189], "151": [28.0058, -9.2999, 0.276, 0.273], "152": [28.3934, -11.1188, 0.201, 0.199], "153": [29.1774, -9.7324, 0.425, 0.392], "154": [27.3957, -9.0499, 0.316, 0.294], "156": [27.1425, -13.2334, -0.043, -0.024], "157": [26.7596, -11.6825, 0.185, 0.186], "158": [26.115, -14.535, -0.042, -0.023], "159": [27.9259, -12.9327, -0.049, -0.021], "161": [26.3376, -12.837, 0.187, 0.182], "162": [25.0776, -12.3678, 0.179, 0.175], "164": [28.0309, -12.0501, 0.193, 0.197], "165": [23.6911, -15.9819, 0.021, 0.039], "166": [20.798, -17.098, -0.07, -0.034], "167": [22.512, -14.2987, 0.168, 0.171], "168": [21.696, -16.465, 0.165, 0.178], "302": [34.078, -4.6, 0.222, 0.217], "303": [34.0444, -4.4185, 0.401, 0.371], "304": [34.071, -4.557, 0.061, 0.06], "305": [31.1595, -8.8538, 0.617, 0.548], "306": [31.276, -9.452, 0.666, 0.584], "312": [33.7911, -6.784, 0.118, 0.123], "314": [31.5357, -7.6497, 0.498, 0.455], "315": [31.2796, -7.9661, 0.761, 0.671], "317": [30.95, -7.85, 1.255, 1.023], "320": [30.071, -6.865, 0.894, 0.757] };
4
+ const data = { "1": [34.0138, -6.8488, 0.395, 0.421], "2": [33.832, -6.081, 0.729, 0.719], "3": [33.915, -6.333, 0.726, 0.724], "4": [33.5216, -6.5988, 0.761, 0.756], "5": [33.4165, -6, 1.182, 1.095], "6": [33.797, -7.166, 0.363, 0.392], "7": [34.245, -6.599, 0.495, 0.517], "8": [34.212, -5.717, 0.723, 0.716], "9": [34.314, -6.316, 0.498, 0.516], "10": [34.2649, -5.9505, 0.365, 0.393], "12": [34.918, -5.933, 0.497, 0.516], "13": [34.8788, -6.283, 0.364, 0.392], "14": [35.7586, -5.8145, 0.597, 0.61], "15": [35.5688, -5.3668, 0.776, 0.764], "16": [35.182, -6.1527, 0.367, 0.391], "17": [35.468, -6.051, 0.395, 0.423], "18": [35.1701, -5.267, 1.133, 1.049], "19": [35.6164, -5.285, 0.366, 0.393], "20": [35.6874, -5.3328, 0.362, 0.392], "21": [34.9942, -5.9155, 0.434, 0.462], "22": [35.821, -5.566, 0.435, 0.46], "23": [35.2471, -3.9335, 0.496, 0.517], "24": [35.888, -5.355, 0.767, 0.748], "25": [35.847, -5.3666, 0.55, 0.562], "26": [35.1993, -4.6675, 0.55, 0.558], "27": [35.434, -5.1, 0.364, 0.392], "28": [34.9999, -4.8836, 1.169, 1.086], "29": [34.7948, -5.5828, 0.89, 0.861], "31": [34.678, -1.933, 0.909, 0.875], "32": [34.9205, -2.3508, 0.499, 0.518], "33": [32.113, -1.2333, 1.005, 0.957], "34": [32.53, -1.966, 1.005, 0.958], "35": [34.215, -3.366, 0.679, 0.682], "36": [34.309, -2.165, 1.091, 1.026], "37": [32.204, -2.5152, 1.006, 0.955], "38": [34.4114, -2.8816, 1.056, 0.993], "39": [35.1838, -2.9337, 0.497, 0.518], "40": [35.294, -2.965, 0.363, 0.396], "41": [33.9982, -3.0168, 1.108, 1.035], "42": [35.065, -2.933, 0.599, 0.611], "43": [35.264, -2.918, 0.5, 0.515], "44": [35.2839, -2.9826, 0.5, 0.516], "45": [32.5395, -3.4335, 1.265, 1.154], "46": [33.036, -1.998, 1.274, 1.162], "47": [34.575, -2.4997, 0.84, 0.818], "49": [35.181, -2.251, 0.364, 0.389], "50": [35.1453, -2.4155, 0.362, 0.395], "51": [34.8035, -2.3995, 1, 0.951], "52": [34.9153, -2.2005, 0.951, 0.909], "53": [34.96, -2.101, 0.603, 0.612], "54": [34.9289, -2.7149, 0.831, 0.811], "55": [34.9617, -3.3828, 0.825, 0.807], "57": [32.045, -3.049, 0.98, 0.936], "58": [33.5583, -7.6677, 0.503, 0.516], "59": [33.6976, -7.3987, 0.363, 0.394], "60": [33.611, -7.133, 0.599, 0.61], "61": [32.9982, -7.6324, 0.692, 0.683], "62": [33.283, -7.233, 0.704, 0.698], "63": [32.4978, -7.1993, 0.763, 0.751], "64": [33.0596, -7.251, 0.861, 0.834], "65": [33.2595, -7.581, 0.55, 0.568], "66": [33.236, -8.515, 0.364, 0.391], "67": [33.2831, -8.3498, 0.439, 0.457], "68": [32.6548, -8.4335, 0.482, 0.509], "69": [32.6075, -8.7161, 0.495, 0.512], "70": [32.9318, -5.6825, 1.056, 0.993], "71": [33.228, -6.201, 1.005, 0.952], "72": [31.829, -6.117, 1.646, 1.429], "73": [32.33, -6.367, 1.152, 1.07], "74": [31.951, -6.584, 1.365, 1.225], "75": [32.4972, -6.6985, 0.76, 0.752], "76": [31.7362, -7.0146, 1.363, 1.233], "77": [32.5639, -6.0509, 1.201, 1.106], "78": [32.5967, -6.2852, 0.792, 0.773], "79": [32.886, -6.917, 0.969, 0.921], "80": [32.8625, -6.5838, 0.995, 0.945], "81": [34.063, -5.017, 0.719, 0.717], "82": [33.8327, -4.849, 1.057, 0.996], "83": [34.0845, -5.1835, 0.684, 0.685], "84": [33.367, -4.732, 1.65, 1.43], "85": [33.0471, -4.016, 1.004, 0.958], "86": [33.8155, -4.4185, 1.287, 1.17], "88": [33.73, -5.016, 1.294, 1.179], "89": [34.2052, -4.015, 1, 0.955], "90": [34.528, -4.6503, 0.95, 0.908], "91": [34.647, -3.8826, 1.221, 1.127], "92": [34.7642, -3.7989, 1.264, 1.162], "93": [34.7255, -4.0978, 0.998, 0.956], "94": [34.048, -4.4327, 0.774, 0.767], "95": [34.295, -4.683, 0.608, 0.617], "96": [34.3619, -5.2161, 0.55, 0.567], "97": [34.8762, -4.6314, 1.384, 1.249], "98": [34.189, -4.284, 0.685, 0.684], "99": [33.9, -5.583, 0.822, 0.808], "101": [33.685, -5.384, 1.137, 1.056], "102": [34.0527, -5.535, 0.985, 0.934], "103": [33.43, -5.232, 1.255, 1.154], "104": [31.6313, -8.0322, 0.828, 0.808], "105": [32.0569, -7.4185, 0.795, 0.783], "106": [31.511, -9.784, 0.395, 0.422], "107": [31.5451, -8.7662, 0.76, 0.748], "108": [32.226, -7.966, 0.795, 0.781], "109": [32.48, -7.915, 0.921, 0.888], "110": [30.9979, -9.6837, 0.724, 0.721], "111": [32.2991, -9.25, 0.436, 0.462], "112": [32.7148, -9.033, 0.364, 0.392], "113": [32.2478, -8.533, 0.73, 0.725], "114": [31.543, -7.949, 0.828, 0.81], "115": [31.495, -8.099, 0.829, 0.808], "117": [30.387, -9.567, 0.604, 0.602], "118": [30.4747, -8.8006, 0.594, 0.605], "119": [29.6986, -9.7324, 0.6, 0.613], "120": [30.0828, -8.4669, 1.478, 1.313], "121": [30.532, -7.933, 1.266, 1.154], "122": [29.715, -8.983, 1.31, 1.18], "123": [29.7462, -7.9836, 0.906, 0.873], "124": [29.3909, -8.249, 1.285, 1.167], "127": [30.3935, -9.2171, 0.6, 0.608], "128": [31.9271, -4.4485, 1.057, 0.996], "129": [31.2683, -4.266, 1.057, 1], "130": [31.4154, -4.2329, 1.054, 0.997], "132": [31.6906, -4.9515, 1.058, 0.992], "133": [32.142, -5.616, 1.544, 1.365], "134": [31.51, -5.0342, 1.06, 0.997], "135": [32.267, -4.467, 1.224, 1.128], "136": [32.682, -4.752, 1.333, 1.204], "137": [30.3279, -5.8488, 0.953, 0.907], "138": [30.9182, -6.9335, 1.156, 1.069], "139": [31.501, -5.534, 1.287, 1.169], "141": [31.2399, -6.1505, 1.288, 1.172], "142": [30.695, -6.451, 1.305, 1.181], "143": [31.3665, -5.9994, 1.322, 1.201], "144": [31.1163, -5.1835, 0.991, 0.944], "145": [31.9357, -5.1835, 1.742, 1.503], "146": [31.691, -5.815, 1.511, 1.339], "147": [30.7659, -5.5657, 0.759, 0.759], "148": [29.3821, -10.1845, 0.645, 0.649], "149": [28.9794, -10.0665, 0.856, 0.834], "150": [28.571, -9.452, 0.602, 0.609], "151": [28.0148, -9.2999, 0.685, 0.685], "152": [28.4334, -11.1188, 0.601, 0.606], "153": [29.1804, -9.7324, 0.815, 0.802], "154": [27.4057, -9.0509, 0.727, 0.714], "156": [27.1525, -13.2324, 0.363, 0.399], "157": [26.7626, -11.6825, 0.598, 0.61], "158": [26.1247, -14.532, 0.361, 0.397], "159": [27.9259, -12.9327, 0.364, 0.398], "161": [26.3576, -12.833, 0.597, 0.602], "162": [25.1276, -12.3678, 0.6, 0.608], "164": [28.0509, -12.0501, 0.603, 0.61], "165": [23.7011, -15.9839, 0.438, 0.464], "166": [20.848, -17.1, 0.368, 0.401], "167": [22.549, -14.2997, 0.598, 0.611], "168": [21.626, -16.466, 0.598, 0.608], "302": [34.088, -4.598, 0.599, 0.61], "303": [34.0544, -4.4185, 0.778, 0.761], "304": [34.101, -4.55, 0.437, 0.46], "305": [31.1895, -8.8505, 1.011, 0.951], "306": [31.296, -9.449, 1.056, 0.997], "312": [33.7911, -6.784, 0.498, 0.514], "314": [31.5667, -7.6517, 0.893, 0.858], "315": [31.2796, -7.9661, 1.154, 1.074], "317": [30.95, -7.85, 1.648, 1.433], "320": [30.081, -6.865, 1.284, 1.177] };
5
5
  exports.default = data;
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- const data = { "certified": true, "checkedAt": "2026-10-16", "checks": [{ "tables": "Sweden — Islamiska Förbundet’s tables", "places": 107, "times": 59640, "off": 0, "from": "2026-10-11", "to": "2027-11-19", "setAside": { "misplaced": [], "sourceFaults": 33395, "copiedRows": 646 } }, { "tables": "Sweden — Diyanet’s own tables", "places": 159, "times": 1393794, "off": 0, "from": "2024-01-01", "to": "2027-12-31" }], "corrections": { "from": "2024-01-01", "to": "2027-12-31", "entries": 270, "sha256": "173d7145b5ec917882f8ac9890dd1fa5f3143bd714eb540482861bf8a6bac660" }, "revision": 1 };
3
+ const data = { "certified": true, "checkedAt": "2026-11-04", "places": 108, "checks": [{ "tables": "Sweden — Islamiska Förbundet’s tables", "places": 107, "times": 61344, "off": 0, "offWithoutCorrections": 20, "from": "2026-10-11", "to": "2027-12-07", "setAside": { "misplaced": [], "sourceFaults": 35037, "copiedRows": 682 } }, { "tables": "Sweden — Diyanet’s own tables", "places": 159, "times": 1393794, "off": 0, "offWithoutCorrections": 259, "from": "2024-01-01", "to": "2027-12-31" }], "corrections": { "from": "2024-01-01", "to": "2027-12-31", "entries": 270, "sha256": "173d7145b5ec917882f8ac9890dd1fa5f3143bd714eb540482861bf8a6bac660" }, "revision": 1 };
4
4
  exports.default = data;
@@ -2,26 +2,44 @@
2
2
  * Morocco — the Ministry of Habous and Islamic Affairs's method, as its
3
3
  * timetable is computed (issue #10).
4
4
  *
5
- * Read off 77 days of the ministry's tables for its 164 located cities:
5
+ * Read off the ministry's tables: 96 days of 2026 for its 164 located
6
+ * cities, and — through the Internet Archive — its pages of 2014–2025 for
7
+ * Rabat, Figuig, Tangier, Casablanca, Laayoune and a dozen more, every
8
+ * month of the year. The ministry's program changed between 2019 and
9
+ * 2023; this is the one it has used since (2023–2026), and what it does:
6
10
  *
7
11
  * • a precise Sun — Meeus's apparent Sun with the full nutation and his
8
12
  * chapter-28 equation of time; a JPL ephemeris fits no better, NOAA's
9
13
  * and the Almanac's series far worse — taken at each prayer's own
10
14
  * moment (iterated), declination and equation of time alike;
11
- * • Fajr 19°, Isha 17°, Asr one shadow length (Shafi'i);
15
+ * • Fajr 19° and Isha 17°, true altitudes;
12
16
  * • Dhuhr five minutes after the transit;
13
- * • sunrise 2.85 minutes before, and Maghrib 3.7 after, the Sun's upper
14
- * limb on the horizon — refraction 34′ and the Sun's semi-diameter for
15
- * its distance that day — less the city's own horizon dip;
17
+ * • Asr on the APPARENT Sun, by the classical rule: a gnomon's shadow at
18
+ * noon (the noon declination, the noon altitude raised by refraction)
19
+ * plus one length (Shafi'i), and the moment the apparent Sun casts it
20
+ * — refraction by Sæmundsson's formula from the true altitude at noon,
21
+ * Bennett's from the apparent at Asr (Meeus 16.4 and 16.3);
22
+ * • sunrise one minute before, and Maghrib 1.8 minutes after, the Sun
23
+ * on an altitude −(34′ + s) − dip: refraction, the semi-diameter for
24
+ * its distance that day, and the city's own allowance for its horizon;
16
25
  * • Fajr rounded down to the minute, the rest to the nearest.
17
26
  *
18
- * The dip is the ministry's own per city and per side — the horizon east
19
- * at sunrise, west at Maghrib, which mountains or the sea make different —
20
- * fitted from its tables with the city's point (`data/moroccoMethodPoints.json`,
21
- * about 0.02° per √metre of height); elsewhere 0.02°·√height, 0.86 of it at
22
- * Maghrib. On 77 days of the ministry's tables for its 164 located cities
23
- * this is its printed minute for 99.12 % of times, and never further than
24
- * one; `data/corrections/morocco.json` holds the rest.
27
+ * The horizon allowance ("dip") is the ministry's own per city and per
28
+ * side — east at sunrise, west at Maghrib — fitted from its tables with
29
+ * the city's point (`data/moroccoMethodPoints.json`); it follows the
30
+ * city's height closely (about 0.32° + 0.025°·√metres east, 0.37° +
31
+ * 0.021°·√metres west; 92 % correlation), which is what a city off the
32
+ * list gets. It is an angle, not minutes: the allowance in minutes grows
33
+ * towards the solstices, as the ministry's does, and the fixed minute
34
+ * margins are the small rest. Fitted on the autumn alone (the first
35
+ * version of this method) the two could not be told apart, and the method
36
+ * drifted a tenth of a minute by late November.
37
+ *
38
+ * On the 2026 tables this is the ministry's printed minute for 99.88 % of
39
+ * times (114 of 94,350 off, each within a second or two of a minute's
40
+ * edge: the ministry's Sun and this one differ by that much), and never
41
+ * further than one; `data/corrections/morocco.json` holds the rest. On
42
+ * the archive's 2023–2026 pages, every month of the year, 99.3 %.
25
43
  */
26
44
  export type MoroccoInstants = {
27
45
  fajr: Date;
@@ -37,15 +55,20 @@ export declare function meeusApparentSun(d: number): {
37
55
  eot: number;
38
56
  };
39
57
  /** Minutes before the horizon crossing that the ministry prints sunrise, and after it Maghrib. */
40
- export declare const MOROCCO_SUNRISE_MARGIN = -2.85;
41
- export declare const MOROCCO_MAGHRIB_MARGIN = 3.7;
42
- /** The share of the horizon dip Maghrib takes, against sunrise's whole, where a city's own is not known. */
43
- export declare const MOROCCO_MAGHRIB_DIP_SHARE = 0.86;
44
- /** Degrees of dip per √metre where the ministry's own value is not known. */
45
- export declare const MOROCCO_DIP_PER_SQRT_M = 0.02;
58
+ export declare const MOROCCO_SUNRISE_MARGIN = -1;
59
+ export declare const MOROCCO_MAGHRIB_MARGIN = 1.8;
60
+ /** The horizon allowance of a city whose own is not known: degrees, from its height in metres, east (sunrise) and west (Maghrib). */
61
+ export declare const moroccoDipEast: (heightM: number) => number;
62
+ export declare const moroccoDipWest: (heightM: number) => number;
63
+ /** Refraction (degrees) that lifts a TRUE altitude h (degrees) to its apparent one — Sæmundsson, Meeus 16.4. */
64
+ export declare const refractionFromTrue: (h: number) => number;
65
+ /** Refraction (degrees) under an APPARENT altitude h (degrees) — Bennett, Meeus 16.3. */
66
+ export declare const refractionFromApparent: (h: number) => number;
46
67
  /** Exact times, minutes past 00:00 UT of the civil date, margins applied, before rounding. NaN where one does not form. */
47
- export declare function moroccoRawMinutes(latitude: number, longitude: number, year: number, month: number, day: number, dipDeg?: number, asrShadow?: number,
48
- /** The horizon's dip westward, at Maghrib; MOROCCO_MAGHRIB_DIP_SHARE of `dipDeg` when not known. */
68
+ export declare function moroccoRawMinutes(latitude: number, longitude: number, year: number, month: number, day: number,
69
+ /** The horizon allowance eastward, at sunrise, degrees: the city's own, else `moroccoDipEast(height)`. */
70
+ dipDeg?: number, asrShadow?: number,
71
+ /** The horizon allowance westward, at Maghrib; `moroccoDipWest(0)` offset by the east's excess when not known. */
49
72
  dipMaghribDeg?: number): {
50
73
  fajr: number;
51
74
  sunrise: number;
@@ -3,29 +3,47 @@
3
3
  * Morocco — the Ministry of Habous and Islamic Affairs's method, as its
4
4
  * timetable is computed (issue #10).
5
5
  *
6
- * Read off 77 days of the ministry's tables for its 164 located cities:
6
+ * Read off the ministry's tables: 96 days of 2026 for its 164 located
7
+ * cities, and — through the Internet Archive — its pages of 2014–2025 for
8
+ * Rabat, Figuig, Tangier, Casablanca, Laayoune and a dozen more, every
9
+ * month of the year. The ministry's program changed between 2019 and
10
+ * 2023; this is the one it has used since (2023–2026), and what it does:
7
11
  *
8
12
  * • a precise Sun — Meeus's apparent Sun with the full nutation and his
9
13
  * chapter-28 equation of time; a JPL ephemeris fits no better, NOAA's
10
14
  * and the Almanac's series far worse — taken at each prayer's own
11
15
  * moment (iterated), declination and equation of time alike;
12
- * • Fajr 19°, Isha 17°, Asr one shadow length (Shafi'i);
16
+ * • Fajr 19° and Isha 17°, true altitudes;
13
17
  * • Dhuhr five minutes after the transit;
14
- * • sunrise 2.85 minutes before, and Maghrib 3.7 after, the Sun's upper
15
- * limb on the horizon — refraction 34′ and the Sun's semi-diameter for
16
- * its distance that day — less the city's own horizon dip;
18
+ * • Asr on the APPARENT Sun, by the classical rule: a gnomon's shadow at
19
+ * noon (the noon declination, the noon altitude raised by refraction)
20
+ * plus one length (Shafi'i), and the moment the apparent Sun casts it
21
+ * — refraction by Sæmundsson's formula from the true altitude at noon,
22
+ * Bennett's from the apparent at Asr (Meeus 16.4 and 16.3);
23
+ * • sunrise one minute before, and Maghrib 1.8 minutes after, the Sun
24
+ * on an altitude −(34′ + s) − dip: refraction, the semi-diameter for
25
+ * its distance that day, and the city's own allowance for its horizon;
17
26
  * • Fajr rounded down to the minute, the rest to the nearest.
18
27
  *
19
- * The dip is the ministry's own per city and per side — the horizon east
20
- * at sunrise, west at Maghrib, which mountains or the sea make different —
21
- * fitted from its tables with the city's point (`data/moroccoMethodPoints.json`,
22
- * about 0.02° per √metre of height); elsewhere 0.02°·√height, 0.86 of it at
23
- * Maghrib. On 77 days of the ministry's tables for its 164 located cities
24
- * this is its printed minute for 99.12 % of times, and never further than
25
- * one; `data/corrections/morocco.json` holds the rest.
28
+ * The horizon allowance ("dip") is the ministry's own per city and per
29
+ * side — east at sunrise, west at Maghrib — fitted from its tables with
30
+ * the city's point (`data/moroccoMethodPoints.json`); it follows the
31
+ * city's height closely (about 0.32° + 0.025°·√metres east, 0.37° +
32
+ * 0.021°·√metres west; 92 % correlation), which is what a city off the
33
+ * list gets. It is an angle, not minutes: the allowance in minutes grows
34
+ * towards the solstices, as the ministry's does, and the fixed minute
35
+ * margins are the small rest. Fitted on the autumn alone (the first
36
+ * version of this method) the two could not be told apart, and the method
37
+ * drifted a tenth of a minute by late November.
38
+ *
39
+ * On the 2026 tables this is the ministry's printed minute for 99.88 % of
40
+ * times (114 of 94,350 off, each within a second or two of a minute's
41
+ * edge: the ministry's Sun and this one differ by that much), and never
42
+ * further than one; `data/corrections/morocco.json` holds the rest. On
43
+ * the archive's 2023–2026 pages, every month of the year, 99.3 %.
26
44
  */
27
45
  Object.defineProperty(exports, "__esModule", { value: true });
28
- exports.MOROCCO_DIP_PER_SQRT_M = exports.MOROCCO_MAGHRIB_DIP_SHARE = exports.MOROCCO_MAGHRIB_MARGIN = exports.MOROCCO_SUNRISE_MARGIN = void 0;
46
+ exports.refractionFromApparent = exports.refractionFromTrue = exports.moroccoDipWest = exports.moroccoDipEast = exports.MOROCCO_MAGHRIB_MARGIN = exports.MOROCCO_SUNRISE_MARGIN = void 0;
29
47
  exports.meeusApparentSun = meeusApparentSun;
30
48
  exports.moroccoRawMinutes = moroccoRawMinutes;
31
49
  exports.moroccoTimes = moroccoTimes;
@@ -55,16 +73,25 @@ function meeusApparentSun(d) {
55
73
  }
56
74
  const ITERATIONS = 3;
57
75
  /** Minutes before the horizon crossing that the ministry prints sunrise, and after it Maghrib. */
58
- exports.MOROCCO_SUNRISE_MARGIN = -2.85;
59
- exports.MOROCCO_MAGHRIB_MARGIN = 3.7;
60
- /** The share of the horizon dip Maghrib takes, against sunrise's whole, where a city's own is not known. */
61
- exports.MOROCCO_MAGHRIB_DIP_SHARE = 0.86;
62
- /** Degrees of dip per √metre where the ministry's own value is not known. */
63
- exports.MOROCCO_DIP_PER_SQRT_M = 0.02;
76
+ exports.MOROCCO_SUNRISE_MARGIN = -1.0;
77
+ exports.MOROCCO_MAGHRIB_MARGIN = 1.8;
78
+ /** The horizon allowance of a city whose own is not known: degrees, from its height in metres, east (sunrise) and west (Maghrib). */
79
+ const moroccoDipEast = (heightM) => 0.32 + 0.025 * Math.sqrt(Math.max(heightM, 0));
80
+ exports.moroccoDipEast = moroccoDipEast;
81
+ const moroccoDipWest = (heightM) => 0.37 + 0.021 * Math.sqrt(Math.max(heightM, 0));
82
+ exports.moroccoDipWest = moroccoDipWest;
83
+ /** Refraction (degrees) that lifts a TRUE altitude h (degrees) to its apparent one — Sæmundsson, Meeus 16.4. */
84
+ const refractionFromTrue = (h) => (1.02 / Math.tan((h + 10.3 / (h + 5.11)) * RAD)) / 60;
85
+ exports.refractionFromTrue = refractionFromTrue;
86
+ /** Refraction (degrees) under an APPARENT altitude h (degrees) — Bennett, Meeus 16.3. */
87
+ const refractionFromApparent = (h) => (1 / Math.tan((h + 7.31 / (h + 4.4)) * RAD)) / 60;
88
+ exports.refractionFromApparent = refractionFromApparent;
64
89
  /** Exact times, minutes past 00:00 UT of the civil date, margins applied, before rounding. NaN where one does not form. */
65
- function moroccoRawMinutes(latitude, longitude, year, month, day, dipDeg = 0, asrShadow = 1,
66
- /** The horizon's dip westward, at Maghrib; MOROCCO_MAGHRIB_DIP_SHARE of `dipDeg` when not known. */
67
- dipMaghribDeg = exports.MOROCCO_MAGHRIB_DIP_SHARE * dipDeg) {
90
+ function moroccoRawMinutes(latitude, longitude, year, month, day,
91
+ /** The horizon allowance eastward, at sunrise, degrees: the city's own, else `moroccoDipEast(height)`. */
92
+ dipDeg = (0, exports.moroccoDipEast)(0), asrShadow = 1,
93
+ /** The horizon allowance westward, at Maghrib; `moroccoDipWest(0)` offset by the east's excess when not known. */
94
+ dipMaghribDeg = dipDeg + ((0, exports.moroccoDipWest)(0) - (0, exports.moroccoDipEast)(0))) {
68
95
  const d0 = (Date.UTC(year, month, day) - Date.UTC(2000, 0, 1)) / DAY_MS - 0.5;
69
96
  const at = (t) => meeusApparentSun(d0 + t / 1440);
70
97
  let noon = 720 - 4 * longitude;
@@ -88,12 +115,19 @@ dipMaghribDeg = exports.MOROCCO_MAGHRIB_DIP_SHARE * dipDeg) {
88
115
  return t;
89
116
  };
90
117
  const fixed = (a) => () => a;
91
- const asrAltitude = (dec) => Math.atan(1 / (asrShadow + Math.tan(Math.abs(latitude - dec / RAD) * RAD))) / RAD;
118
+ // Asr on the apparent Sun: the noon shadow of a gnomon from the apparent noon altitude (the noon
119
+ // declination), plus `asrShadow` lengths; the Sun's apparent altitude that casts it; the true
120
+ // altitude under it is what the hour angle is solved for, with the declination at the event.
121
+ const noonDec = at(noon).dec;
122
+ const noonTrue = 90 - Math.abs(latitude - noonDec / RAD);
123
+ const noonApparent = noonTrue + (0, exports.refractionFromTrue)(noonTrue);
124
+ const asrApparent = Math.atan(1 / (asrShadow + 1 / Math.tan(noonApparent * RAD))) / RAD;
125
+ const asrTrue = asrApparent - (0, exports.refractionFromApparent)(asrApparent);
92
126
  return {
93
127
  fajr: event(fixed(-19), -1, noon - 420) - 0.5,
94
128
  sunrise: event(fixed(horizon - dipDeg), -1, noon - 360) + exports.MOROCCO_SUNRISE_MARGIN,
95
129
  dhuhr: noon + 5,
96
- asr: event(asrAltitude, 1, noon + 200),
130
+ asr: event(fixed(asrTrue), 1, noon + 200),
97
131
  maghrib: event(fixed(horizon - dipMaghribDeg), 1, noon + 360) + exports.MOROCCO_MAGHRIB_MARGIN,
98
132
  isha: event(fixed(-17), 1, noon + 420),
99
133
  };
@@ -102,7 +136,7 @@ dipMaghribDeg = exports.MOROCCO_MAGHRIB_DIP_SHARE * dipDeg) {
102
136
  * The ministry's times for a point and civil date (month 0-based), on the
103
137
  * minute. Null when a time does not form there.
104
138
  */
105
- function moroccoTimes(latitude, longitude, year, month, day, dipDeg = 0, asrShadow = 1, dipMaghribDeg) {
139
+ function moroccoTimes(latitude, longitude, year, month, day, dipDeg, asrShadow = 1, dipMaghribDeg) {
106
140
  const r = moroccoRawMinutes(latitude, longitude, year, month, day, dipDeg, asrShadow, dipMaghribDeg);
107
141
  const all = [r.fajr, r.sunrise, r.dhuhr, r.asr, r.maghrib, r.isha];
108
142
  if (!all.every(Number.isFinite))
@@ -9,7 +9,7 @@
9
9
  export declare const METHOD_REVISION: {
10
10
  readonly sweden: 1;
11
11
  readonly diyanet: 1;
12
- readonly morocco: 1;
12
+ readonly morocco: 2;
13
13
  readonly algeria: 1;
14
14
  readonly indonesia: 1;
15
15
  };
@@ -12,7 +12,7 @@ exports.METHOD_REVISION = void 0;
12
12
  exports.METHOD_REVISION = {
13
13
  sweden: 1,
14
14
  diyanet: 1,
15
- morocco: 1,
15
+ morocco: 2,
16
16
  algeria: 1,
17
17
  indonesia: 1,
18
18
  };
@@ -0,0 +1,12 @@
1
+ export declare class HttpError extends Error {
2
+ readonly status: number;
3
+ constructor(status: number, message: string);
4
+ }
5
+ /** The answer to a request path and query. Throws HttpError, UncertifiedMethodError, RangeError or TypeError. */
6
+ export declare function handle(url: URL): unknown;
7
+ /** Status, body and headers for a request, errors included — what both servers send. */
8
+ export declare function respond(url: URL): {
9
+ status: number;
10
+ body: string;
11
+ headers: Record<string, string>;
12
+ };