kerykeion 5.1.2__tar.gz → 5.1.4__tar.gz

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.

Potentially problematic release.


This version of kerykeion might be problematic. Click here for more details.

Files changed (246) hide show
  1. {kerykeion-5.1.2 → kerykeion-5.1.4}/PKG-INFO +1 -1
  2. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/charts/charts_utils.py +94 -64
  3. {kerykeion-5.1.2 → kerykeion-5.1.4}/pyproject.toml +1 -1
  4. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/Albert Einstein - Natal Chart.svg +3 -3
  5. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/Amitabh Bachchan - Natal Chart.svg +2 -2
  6. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/Angelina Jolie and Brad Pitt Composite Chart - Black and White Theme - Composite Chart.svg +2 -2
  7. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/Angelina Jolie and Brad Pitt Composite Chart - Composite Chart.svg +2 -2
  8. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/Antonio Banderas - Natal Chart.svg +3 -3
  9. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/Cristiano Ronaldo - Natal Chart.svg +3 -3
  10. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/Hua Chenyu - Natal Chart.svg +3 -3
  11. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/Jeanne Moreau - Natal Chart.svg +2 -2
  12. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - All Active Points - Natal Chart.svg +3 -3
  13. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - Black and White Theme - DualReturnChart Chart - Solar Return.svg +3 -3
  14. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - Black and White Theme - Natal Chart.svg +3 -3
  15. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - Black and White Theme - Transit Chart.svg +3 -3
  16. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - Dark High Contrast Theme - Natal Chart.svg +3 -3
  17. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - Dark Theme - Natal Chart.svg +3 -3
  18. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - Dark Theme External - Natal Chart.svg +3 -3
  19. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - DualReturnChart Chart - Lunar Return.svg +3 -3
  20. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - DualReturnChart Chart - Solar Return.svg +3 -3
  21. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - ExternalNatal - Natal Chart.svg +3 -3
  22. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - Heliocentric - Natal Chart.svg +2 -2
  23. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - House System Morinus - Natal Chart.svg +3 -3
  24. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - Light Theme - Natal Chart.svg +3 -3
  25. kerykeion-5.1.4/tests/charts/svg/John Lennon - Minified - Natal Chart.svg +1 -0
  26. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - Natal Chart.svg +3 -3
  27. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - TCWTG - Transit Chart.svg +3 -3
  28. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - Topocentric - Natal Chart.svg +3 -3
  29. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - Transit Chart.svg +3 -3
  30. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - Transparent Background - Natal Chart.svg +3 -3
  31. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - True Geocentric - Natal Chart.svg +3 -3
  32. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon DeLuce - Natal Chart.svg +3 -3
  33. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon Fagan-Bradley - Natal Chart.svg +3 -3
  34. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon J2000 - Natal Chart.svg +3 -3
  35. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon Lahiri - Natal Chart.svg +3 -3
  36. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon Lunar Return - SingleReturnChart Chart.svg +2 -2
  37. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon Solar Return - Black and White Theme - SingleReturnChart Chart.svg +3 -3
  38. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon Solar Return - SingleReturnChart Chart.svg +3 -3
  39. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/Kanye - Natal Chart.svg +3 -3
  40. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/Mehmet Oz - Natal Chart.svg +3 -3
  41. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/Mikhail Bulgakov - Natal Chart.svg +2 -2
  42. kerykeion-5.1.4/tests/charts/svg/Moon Phases.svg +102 -0
  43. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/Sophia Loren - Natal Chart.svg +3 -3
  44. kerykeion-5.1.4/tests/charts/test_lunar_phase_svg.py +51 -0
  45. kerykeion-5.1.2/tests/charts/svg/John Lennon - Minified - Natal Chart.svg +0 -1
  46. {kerykeion-5.1.2 → kerykeion-5.1.4}/.coveragerc +0 -0
  47. {kerykeion-5.1.2 → kerykeion-5.1.4}/.github/FUNDING.yml +0 -0
  48. {kerykeion-5.1.2 → kerykeion-5.1.4}/.gitignore +0 -0
  49. {kerykeion-5.1.2 → kerykeion-5.1.4}/CHANGELOG.md +0 -0
  50. {kerykeion-5.1.2 → kerykeion-5.1.4}/DEVELOPMENT.md +0 -0
  51. {kerykeion-5.1.2 → kerykeion-5.1.4}/LICENSE +0 -0
  52. {kerykeion-5.1.2 → kerykeion-5.1.4}/MANIFEST.in +0 -0
  53. {kerykeion-5.1.2 → kerykeion-5.1.4}/README.md +0 -0
  54. {kerykeion-5.1.2 → kerykeion-5.1.4}/TODO.md +0 -0
  55. {kerykeion-5.1.2 → kerykeion-5.1.4}/docs/index.html +0 -0
  56. {kerykeion-5.1.2 → kerykeion-5.1.4}/docs/kerykeion/aspects/aspects_utils.html +0 -0
  57. {kerykeion-5.1.2 → kerykeion-5.1.4}/docs/kerykeion/aspects/natal_aspects.html +0 -0
  58. {kerykeion-5.1.2 → kerykeion-5.1.4}/docs/kerykeion/aspects/synastry_aspects.html +0 -0
  59. {kerykeion-5.1.2 → kerykeion-5.1.4}/docs/kerykeion/aspects/transits_time_range.html +0 -0
  60. {kerykeion-5.1.2 → kerykeion-5.1.4}/docs/kerykeion/aspects.html +0 -0
  61. {kerykeion-5.1.2 → kerykeion-5.1.4}/docs/kerykeion/astrological_subject.html +0 -0
  62. {kerykeion-5.1.2 → kerykeion-5.1.4}/docs/kerykeion/charts/charts_utils.html +0 -0
  63. {kerykeion-5.1.2 → kerykeion-5.1.4}/docs/kerykeion/charts/draw_planets.html +0 -0
  64. {kerykeion-5.1.2 → kerykeion-5.1.4}/docs/kerykeion/charts/kerykeion_chart_svg.html +0 -0
  65. {kerykeion-5.1.2 → kerykeion-5.1.4}/docs/kerykeion/charts.html +0 -0
  66. {kerykeion-5.1.2 → kerykeion-5.1.4}/docs/kerykeion/composite_subject_factory.html +0 -0
  67. {kerykeion-5.1.2 → kerykeion-5.1.4}/docs/kerykeion/enums.html +0 -0
  68. {kerykeion-5.1.2 → kerykeion-5.1.4}/docs/kerykeion/ephemeris_data.html +0 -0
  69. {kerykeion-5.1.2 → kerykeion-5.1.4}/docs/kerykeion/fetch_geonames.html +0 -0
  70. {kerykeion-5.1.2 → kerykeion-5.1.4}/docs/kerykeion/kr_types/chart_types.html +0 -0
  71. {kerykeion-5.1.2 → kerykeion-5.1.4}/docs/kerykeion/kr_types/kerykeion_exception.html +0 -0
  72. {kerykeion-5.1.2 → kerykeion-5.1.4}/docs/kerykeion/kr_types/kr_literals.html +0 -0
  73. {kerykeion-5.1.2 → kerykeion-5.1.4}/docs/kerykeion/kr_types/kr_models.html +0 -0
  74. {kerykeion-5.1.2 → kerykeion-5.1.4}/docs/kerykeion/kr_types/settings_models.html +0 -0
  75. {kerykeion-5.1.2 → kerykeion-5.1.4}/docs/kerykeion/kr_types.html +0 -0
  76. {kerykeion-5.1.2 → kerykeion-5.1.4}/docs/kerykeion/relationship_score/relationship_score.html +0 -0
  77. {kerykeion-5.1.2 → kerykeion-5.1.4}/docs/kerykeion/relationship_score/relationship_score_factory.html +0 -0
  78. {kerykeion-5.1.2 → kerykeion-5.1.4}/docs/kerykeion/relationship_score.html +0 -0
  79. {kerykeion-5.1.2 → kerykeion-5.1.4}/docs/kerykeion/report.html +0 -0
  80. {kerykeion-5.1.2 → kerykeion-5.1.4}/docs/kerykeion/settings/config_constants.html +0 -0
  81. {kerykeion-5.1.2 → kerykeion-5.1.4}/docs/kerykeion/settings/kerykeion_settings.html +0 -0
  82. {kerykeion-5.1.2 → kerykeion-5.1.4}/docs/kerykeion/settings.html +0 -0
  83. {kerykeion-5.1.2 → kerykeion-5.1.4}/docs/kerykeion/transits_time_range.html +0 -0
  84. {kerykeion-5.1.2 → kerykeion-5.1.4}/docs/kerykeion/utilities.html +0 -0
  85. {kerykeion-5.1.2 → kerykeion-5.1.4}/docs/kerykeion.html +0 -0
  86. {kerykeion-5.1.2 → kerykeion-5.1.4}/docs/search.js +0 -0
  87. {kerykeion-5.1.2 → kerykeion-5.1.4}/examples/aspects_synastry.py +0 -0
  88. {kerykeion-5.1.2 → kerykeion-5.1.4}/examples/composite_report_example.py +0 -0
  89. {kerykeion-5.1.2 → kerykeion-5.1.4}/examples/current_time_report.py +0 -0
  90. {kerykeion-5.1.2 → kerykeion-5.1.4}/examples/dual_return_report_example.py +0 -0
  91. {kerykeion-5.1.2 → kerykeion-5.1.4}/examples/natal_report_example.py +0 -0
  92. {kerykeion-5.1.2 → kerykeion-5.1.4}/examples/planetary_return.py +0 -0
  93. {kerykeion-5.1.2 → kerykeion-5.1.4}/examples/quickstart_natal_chart.py +0 -0
  94. {kerykeion-5.1.2 → kerykeion-5.1.4}/examples/solar_return_report_example.py +0 -0
  95. {kerykeion-5.1.2 → kerykeion-5.1.4}/examples/subject_report_example.py +0 -0
  96. {kerykeion-5.1.2 → kerykeion-5.1.4}/examples/synastry_report_example.py +0 -0
  97. {kerykeion-5.1.2 → kerykeion-5.1.4}/examples/transit_report_example.py +0 -0
  98. {kerykeion-5.1.2 → kerykeion-5.1.4}/examples/transits_time_range.py +0 -0
  99. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/__init__.py +0 -0
  100. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/aspects/__init__.py +0 -0
  101. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/aspects/aspects_factory.py +0 -0
  102. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/aspects/aspects_utils.py +0 -0
  103. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/astrological_subject_factory.py +0 -0
  104. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/backword.py +0 -0
  105. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/chart_data_factory.py +0 -0
  106. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/charts/__init__.py +0 -0
  107. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/charts/chart_drawer.py +0 -0
  108. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/charts/draw_planets.py +0 -0
  109. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/charts/templates/aspect_grid_only.xml +0 -0
  110. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/charts/templates/chart.xml +0 -0
  111. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/charts/templates/wheel_only.xml +0 -0
  112. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/charts/themes/black-and-white.css +0 -0
  113. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/charts/themes/classic.css +0 -0
  114. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/charts/themes/dark-high-contrast.css +0 -0
  115. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/charts/themes/dark.css +0 -0
  116. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/charts/themes/light.css +0 -0
  117. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/charts/themes/strawberry.css +0 -0
  118. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/composite_subject_factory.py +0 -0
  119. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/ephemeris_data_factory.py +0 -0
  120. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/fetch_geonames.py +0 -0
  121. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/house_comparison/__init__.py +0 -0
  122. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/house_comparison/house_comparison_factory.py +0 -0
  123. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/house_comparison/house_comparison_utils.py +0 -0
  124. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/kr_types/__init__.py +0 -0
  125. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/kr_types/chart_template_model.py +0 -0
  126. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/kr_types/kerykeion_exception.py +0 -0
  127. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/kr_types/kr_literals.py +0 -0
  128. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/kr_types/kr_models.py +0 -0
  129. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/kr_types/settings_models.py +0 -0
  130. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/planetary_return_factory.py +0 -0
  131. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/relationship_score_factory.py +0 -0
  132. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/report.py +0 -0
  133. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/schemas/__init__.py +0 -0
  134. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/schemas/chart_template_model.py +0 -0
  135. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/schemas/kerykeion_exception.py +0 -0
  136. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/schemas/kr_literals.py +0 -0
  137. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/schemas/kr_models.py +0 -0
  138. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/schemas/settings_models.py +0 -0
  139. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/settings/__init__.py +0 -0
  140. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/settings/chart_defaults.py +0 -0
  141. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/settings/config_constants.py +0 -0
  142. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/settings/kerykeion_settings.py +0 -0
  143. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/settings/translation_strings.py +0 -0
  144. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/settings/translations.py +0 -0
  145. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/sweph/README.md +0 -0
  146. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/sweph/ast136/s136108s.se1 +0 -0
  147. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/sweph/ast136/s136199s.se1 +0 -0
  148. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/sweph/ast136/s136472s.se1 +0 -0
  149. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/sweph/ast28/se28978s.se1 +0 -0
  150. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/sweph/ast50/se50000s.se1 +0 -0
  151. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/sweph/ast90/se90377s.se1 +0 -0
  152. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/sweph/ast90/se90482s.se1 +0 -0
  153. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/sweph/seas_18.se1 +0 -0
  154. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/sweph/sefstars.txt +0 -0
  155. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/transits_time_range_factory.py +0 -0
  156. {kerykeion-5.1.2 → kerykeion-5.1.4}/kerykeion/utilities.py +0 -0
  157. {kerykeion-5.1.2 → kerykeion-5.1.4}/release_notes/V4.14.0.md +0 -0
  158. {kerykeion-5.1.2 → kerykeion-5.1.4}/release_notes/V4.16.0.md +0 -0
  159. {kerykeion-5.1.2 → kerykeion-5.1.4}/release_notes/V4.17.0.md +0 -0
  160. {kerykeion-5.1.2 → kerykeion-5.1.4}/release_notes/V4.19.0.md +0 -0
  161. {kerykeion-5.1.2 → kerykeion-5.1.4}/release_notes/V4.21.0.md +0 -0
  162. {kerykeion-5.1.2 → kerykeion-5.1.4}/release_notes/V4.22.0.md +0 -0
  163. {kerykeion-5.1.2 → kerykeion-5.1.4}/release_notes/V4.23.0.md +0 -0
  164. {kerykeion-5.1.2 → kerykeion-5.1.4}/release_notes/V4.24.0.md +0 -0
  165. {kerykeion-5.1.2 → kerykeion-5.1.4}/release_notes/V4.25.0.md +0 -0
  166. {kerykeion-5.1.2 → kerykeion-5.1.4}/release_notes/V4.26.0.md +0 -0
  167. {kerykeion-5.1.2 → kerykeion-5.1.4}/release_notes/v5.0.0.md +0 -0
  168. {kerykeion-5.1.2 → kerykeion-5.1.4}/release_notes/v5.0.0a.md +0 -0
  169. {kerykeion-5.1.2 → kerykeion-5.1.4}/release_notes/v5.0.0b.md +0 -0
  170. {kerykeion-5.1.2 → kerykeion-5.1.4}/release_notes/v5.1.0.md +0 -0
  171. {kerykeion-5.1.2 → kerykeion-5.1.4}/scripts/README.md +0 -0
  172. {kerykeion-5.1.2 → kerykeion-5.1.4}/scripts/__init__.py +0 -0
  173. {kerykeion-5.1.2 → kerykeion-5.1.4}/scripts/quality_check.py +0 -0
  174. {kerykeion-5.1.2 → kerykeion-5.1.4}/scripts/regenerate_expected_aspects.py +0 -0
  175. {kerykeion-5.1.2 → kerykeion-5.1.4}/scripts/regenerate_synastry_aspects.py +0 -0
  176. {kerykeion-5.1.2 → kerykeion-5.1.4}/scripts/regenerate_synastry_from_test.py +0 -0
  177. {kerykeion-5.1.2 → kerykeion-5.1.4}/scripts/regenerate_test_charts.py +0 -0
  178. {kerykeion-5.1.2 → kerykeion-5.1.4}/scripts/test_markdown_snippets.py +0 -0
  179. {kerykeion-5.1.2 → kerykeion-5.1.4}/site-docs/aspects.md +0 -0
  180. {kerykeion-5.1.2 → kerykeion-5.1.4}/site-docs/astrological_subject_factory.md +0 -0
  181. {kerykeion-5.1.2 → kerykeion-5.1.4}/site-docs/chart_data_factory.md +0 -0
  182. {kerykeion-5.1.2 → kerykeion-5.1.4}/site-docs/charts.md +0 -0
  183. {kerykeion-5.1.2 → kerykeion-5.1.4}/site-docs/composite_subject_factory.md +0 -0
  184. {kerykeion-5.1.2 → kerykeion-5.1.4}/site-docs/element_quality_distribution.md +0 -0
  185. {kerykeion-5.1.2 → kerykeion-5.1.4}/site-docs/ephemeris_data_factory.md +0 -0
  186. {kerykeion-5.1.2 → kerykeion-5.1.4}/site-docs/house_comparison.md +0 -0
  187. {kerykeion-5.1.2 → kerykeion-5.1.4}/site-docs/planetary_return_factory.md +0 -0
  188. {kerykeion-5.1.2 → kerykeion-5.1.4}/site-docs/relationship_score_factory.md +0 -0
  189. {kerykeion-5.1.2 → kerykeion-5.1.4}/site-docs/report.md +0 -0
  190. {kerykeion-5.1.2 → kerykeion-5.1.4}/site-docs/transits_time_range_factory.md +0 -0
  191. {kerykeion-5.1.2 → kerykeion-5.1.4}/site-docs/utilities.md +0 -0
  192. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/__init__.py +0 -0
  193. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/aspects/__init__.py +0 -0
  194. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/aspects/expected_natal_aspects.py +0 -0
  195. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/aspects/expected_synastry_aspects.py +0 -0
  196. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/aspects/test_natal_aspects.py +0 -0
  197. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/aspects/test_synastry_aspects.py +0 -0
  198. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/__init__.py +0 -0
  199. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/compare_svg_lines.py +0 -0
  200. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - All Active Points - Natal Chart - Aspect Grid Only.svg +0 -0
  201. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - All Active Points - Natal Chart - Wheel Only.svg +0 -0
  202. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - All Active Points - Synastry Chart - Aspect Grid Only.svg +0 -0
  203. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - All Active Points - Synastry Chart - Grid.svg +0 -0
  204. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - All Active Points - Synastry Chart - List.svg +0 -0
  205. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - All Active Points - Synastry Chart - Wheel Only.svg +0 -0
  206. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - Aspect Grid Dark Synastry - Synastry Chart - Aspect Grid Only.svg +0 -0
  207. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - Aspect Grid Dark Theme - Natal Chart - Aspect Grid Only.svg +0 -0
  208. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - Aspect Grid Light Theme - Natal Chart - Aspect Grid Only.svg +0 -0
  209. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - Aspect Grid Only - Natal Chart - Aspect Grid Only.svg +0 -0
  210. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - Aspect Grid Synastry - Synastry Chart - Aspect Grid Only.svg +0 -0
  211. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - Aspect Grid Transit - Transit Chart - Aspect Grid Only.svg +0 -0
  212. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - Black and White Theme - Synastry Chart.svg +0 -0
  213. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - DTS - Synastry Chart.svg +0 -0
  214. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - SCTWL - Synastry Chart.svg +0 -0
  215. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - Wheel External Only - ExternalNatal Chart - Wheel Only.svg +0 -0
  216. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - Wheel Only - Natal Chart - Wheel Only.svg +0 -0
  217. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - Wheel Synastry Only - Synastry Chart - Wheel Only.svg +0 -0
  218. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon - Wheel Transit Only - Transit Chart - Wheel Only.svg +0 -0
  219. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon Fagan-Bradley - Light Theme - Natal Chart - Wheel Only.svg +0 -0
  220. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/svg/John Lennon Lahiri - Dark Theme - Natal Chart - Wheel Only.svg +0 -0
  221. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/test_charts.py +0 -0
  222. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/charts/test_draw_planets.py +0 -0
  223. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/settings/test_settings.py +0 -0
  224. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/test_all_active_points.py +0 -0
  225. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/test_astrological_subject.py +0 -0
  226. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/test_astrological_subject_jyotish.py +0 -0
  227. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/test_backward_compatibility.py +0 -0
  228. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/test_backword.py +0 -0
  229. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/test_chart_data_factory.py +0 -0
  230. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/test_chart_data_factory_complete.py +0 -0
  231. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/test_chart_drawer_complete.py +0 -0
  232. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/test_composite_subject_factory_complete.py +0 -0
  233. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/test_ephemeris_data.py +0 -0
  234. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/test_ephemeris_data_factory_complete.py +0 -0
  235. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/test_fetch_geonames.py +0 -0
  236. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/test_json_dump.py +0 -0
  237. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/test_planetary_return_factory_complete.py +0 -0
  238. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/test_relationship_score.py +0 -0
  239. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/test_relationship_score_factory_complete.py +0 -0
  240. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/test_report.py +0 -0
  241. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/test_transits_time_range_factory_complete.py +0 -0
  242. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/test_utc.py +0 -0
  243. {kerykeion-5.1.2 → kerykeion-5.1.4}/tests/test_utilities.py +0 -0
  244. {kerykeion-5.1.2 → kerykeion-5.1.4}/uv.lock +0 -0
  245. {kerykeion-5.1.2 → kerykeion-5.1.4}/workspace/README.md +0 -0
  246. {kerykeion-5.1.2 → kerykeion-5.1.4}/workspace/main.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: kerykeion
3
- Version: 5.1.2
3
+ Version: 5.1.4
4
4
  Summary: A Python library for astrological calculations, including natal charts, houses, planetary aspects, and SVG chart generation.
5
5
  Project-URL: Homepage, https://www.kerykeion.net/
6
6
  Project-URL: Repository, https://github.com/g-battaglia/kerykeion
@@ -1026,59 +1026,31 @@ def calculate_moon_phase_chart_params(
1026
1026
  degrees_between_sun_and_moon: float
1027
1027
  ) -> dict:
1028
1028
  """
1029
- Calculate the parameters for the moon phase chart.
1029
+ Calculate normalized parameters used by the moon phase icon.
1030
1030
 
1031
1031
  Parameters:
1032
- - degrees_between_sun_and_moon (float): The degrees between the sun and the moon.
1032
+ - degrees_between_sun_and_moon (float): The elongation between the sun and moon.
1033
1033
 
1034
1034
  Returns:
1035
- - dict: The moon phase chart parameters.
1036
- """
1037
- deg = degrees_between_sun_and_moon
1038
-
1039
- # Initialize variables for lunar phase properties
1040
- circle_center_x = None
1041
- circle_radius = None
1042
-
1043
- # Determine lunar phase properties based on the degree
1044
- if deg < 90.0:
1045
- max_radius = deg
1046
- if deg > 80.0:
1047
- max_radius = max_radius * max_radius
1048
- circle_center_x = 20.0 + (deg / 90.0) * (max_radius + 10.0)
1049
- circle_radius = 10.0 + (deg / 90.0) * max_radius
1050
-
1051
- elif deg < 180.0:
1052
- max_radius = 180.0 - deg
1053
- if deg < 100.0:
1054
- max_radius = max_radius * max_radius
1055
- circle_center_x = 20.0 + ((deg - 90.0) / 90.0 * (max_radius + 10.0)) - (max_radius + 10.0)
1056
- circle_radius = 10.0 + max_radius - ((deg - 90.0) / 90.0 * max_radius)
1057
-
1058
- elif deg < 270.0:
1059
- max_radius = deg - 180.0
1060
- if deg > 260.0:
1061
- max_radius = max_radius * max_radius
1062
- circle_center_x = 20.0 + ((deg - 180.0) / 90.0 * (max_radius + 10.0))
1063
- circle_radius = 10.0 + ((deg - 180.0) / 90.0 * max_radius)
1064
-
1065
- elif deg < 361.0:
1066
- max_radius = 360.0 - deg
1067
- if deg < 280.0:
1068
- max_radius = max_radius * max_radius
1069
- circle_center_x = 20.0 + ((deg - 270.0) / 90.0 * (max_radius + 10.0)) - (max_radius + 10.0)
1070
- circle_radius = 10.0 + max_radius - ((deg - 270.0) / 90.0 * max_radius)
1035
+ - dict: Normalized phase data (angle, illuminated fraction, shadow ellipse radius).
1036
+ """
1037
+ if not math.isfinite(degrees_between_sun_and_moon):
1038
+ raise KerykeionException(
1039
+ f"Invalid degree value: {degrees_between_sun_and_moon}"
1040
+ )
1071
1041
 
1072
- else:
1073
- raise KerykeionException(f"Invalid degree value: {deg}")
1042
+ phase_angle = degrees_between_sun_and_moon % 360.0
1043
+ radians = math.radians(phase_angle)
1044
+ cosine = math.cos(radians)
1045
+ illuminated_fraction = (1.0 - cosine) / 2.0
1074
1046
 
1075
- # No artificial rotation for moon phase icon in astrological chart
1076
- lunar_phase_rotate = 0.0
1047
+ # Guard against floating point spillover outside [0, 1].
1048
+ illuminated_fraction = max(0.0, min(1.0, illuminated_fraction))
1077
1049
 
1078
1050
  return {
1079
- "circle_center_x": circle_center_x,
1080
- "circle_radius": circle_radius,
1081
- "lunar_phase_rotate": lunar_phase_rotate,
1051
+ "phase_angle": phase_angle,
1052
+ "illuminated_fraction": illuminated_fraction,
1053
+ "shadow_ellipse_rx": 10.0 * cosine,
1082
1054
  }
1083
1055
 
1084
1056
 
@@ -1699,29 +1671,87 @@ def makeLunarPhase(degrees_between_sun_and_moon: float, latitude: float) -> str:
1699
1671
  Returns:
1700
1672
  - str: SVG representation of lunar phase
1701
1673
  """
1702
- # Calculate parameters for the lunar phase visualization
1703
1674
  params = calculate_moon_phase_chart_params(degrees_between_sun_and_moon)
1704
1675
 
1705
- # Extract the calculated values
1706
- lunar_phase_circle_center_x = params["circle_center_x"]
1707
- lunar_phase_circle_radius = params["circle_radius"]
1708
- lunar_phase_rotate = params["lunar_phase_rotate"]
1709
-
1710
- # Generate the SVG for the lunar phase
1711
- svg = (
1712
- f'<g transform="rotate({lunar_phase_rotate} 20 10)">\n'
1713
- f' <defs>\n'
1714
- f' <clipPath id="moonPhaseCutOffCircle">\n'
1715
- f' <circle cx="20" cy="10" r="10" />\n'
1716
- f' </clipPath>\n'
1717
- f' </defs>\n'
1718
- f' <circle cx="20" cy="10" r="10" style="fill: var(--kerykeion-chart-color-lunar-phase-0)" />\n'
1719
- f' <circle cx="{lunar_phase_circle_center_x}" cy="10" r="{lunar_phase_circle_radius}" style="fill: var(--kerykeion-chart-color-lunar-phase-1)" clip-path="url(#moonPhaseCutOffCircle)" />\n'
1720
- f' <circle cx="20" cy="10" r="10" style="fill: none; stroke: var(--kerykeion-chart-color-lunar-phase-0); stroke-width: 0.5px; stroke-opacity: 0.5" />\n'
1721
- f'</g>'
1676
+ phase_angle = params["phase_angle"]
1677
+ illuminated_fraction = params["illuminated_fraction"]
1678
+ shadow_ellipse_rx = abs(params["shadow_ellipse_rx"])
1679
+
1680
+ radius = 10.0
1681
+ center_x = 20.0
1682
+ center_y = 10.0
1683
+
1684
+ bright_color = "var(--kerykeion-chart-color-lunar-phase-1)"
1685
+ shadow_color = "var(--kerykeion-chart-color-lunar-phase-0)"
1686
+
1687
+ is_waxing = phase_angle >= 180.0
1688
+
1689
+ if illuminated_fraction <= 1e-6:
1690
+ base_fill = shadow_color
1691
+ overlay_path = ""
1692
+ overlay_fill = ""
1693
+ elif 1.0 - illuminated_fraction <= 1e-6:
1694
+ base_fill = bright_color
1695
+ overlay_path = ""
1696
+ overlay_fill = ""
1697
+ else:
1698
+ is_lit_major = illuminated_fraction >= 0.5
1699
+ if is_lit_major:
1700
+ base_fill = bright_color
1701
+ overlay_fill = shadow_color
1702
+ overlay_side = "right" if is_waxing else "left"
1703
+ else:
1704
+ base_fill = shadow_color
1705
+ overlay_fill = bright_color
1706
+ overlay_side = "left" if is_waxing else "right"
1707
+
1708
+ # The illuminated limb is the orthographic projection of the lunar terminator;
1709
+ # it appears as an ellipse with vertical radius equal to the lunar radius and
1710
+ # horizontal radius scaled by |cos(phase)|.
1711
+ def build_lune_path(side: str, ellipse_rx: float) -> str:
1712
+ ellipse_rx = max(0.0, min(radius, ellipse_rx))
1713
+ top_y = center_y - radius
1714
+ bottom_y = center_y + radius
1715
+ circle_sweep = 1 if side == "right" else 0
1716
+
1717
+ if ellipse_rx <= 1e-6:
1718
+ return (
1719
+ f"M {center_x:.4f} {top_y:.4f}"
1720
+ f" A {radius:.4f} {radius:.4f} 0 0 {circle_sweep} {center_x:.4f} {bottom_y:.4f}"
1721
+ f" L {center_x:.4f} {top_y:.4f}"
1722
+ " Z"
1723
+ )
1724
+
1725
+ return (
1726
+ f"M {center_x:.4f} {top_y:.4f}"
1727
+ f" A {radius:.4f} {radius:.4f} 0 0 {circle_sweep} {center_x:.4f} {bottom_y:.4f}"
1728
+ f" A {ellipse_rx:.4f} {radius:.4f} 0 0 {circle_sweep} {center_x:.4f} {top_y:.4f}"
1729
+ " Z"
1730
+ )
1731
+
1732
+ overlay_path = build_lune_path(overlay_side, shadow_ellipse_rx)
1733
+
1734
+ svg_lines = [
1735
+ '<g transform="rotate(0 20 10)">',
1736
+ ' <defs>',
1737
+ ' <clipPath id="moonPhaseCutOffCircle">',
1738
+ ' <circle cx="20" cy="10" r="10" />',
1739
+ ' </clipPath>',
1740
+ ' </defs>',
1741
+ f' <circle cx="20" cy="10" r="10" style="fill: {base_fill}" />',
1742
+ ]
1743
+
1744
+ if overlay_path:
1745
+ svg_lines.append(
1746
+ f' <path d="{overlay_path}" style="fill: {overlay_fill}" clip-path="url(#moonPhaseCutOffCircle)" />'
1747
+ )
1748
+
1749
+ svg_lines.append(
1750
+ ' <circle cx="20" cy="10" r="10" style="fill: none; stroke: var(--kerykeion-chart-color-lunar-phase-0); stroke-width: 0.5px; stroke-opacity: 0.5" />'
1722
1751
  )
1752
+ svg_lines.append('</g>')
1723
1753
 
1724
- return svg
1754
+ return "\n".join(svg_lines)
1725
1755
 
1726
1756
 
1727
1757
  def calculate_quality_points(
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "kerykeion"
3
- version = "5.1.2"
3
+ version = "5.1.4"
4
4
  authors = [
5
5
  { name = "Giacomo Battaglia", email = "kerykeion.astrology@gmail.com" }
6
6
  ]
@@ -183,14 +183,14 @@
183
183
 
184
184
  <!-- Lunar Phase -->
185
185
  <g kr:node='Lunar_Phase' transform='translate(10,518)'>
186
- <g transform='rotate(0.0 20 10)'>
186
+ <g transform='rotate(0 20 10)'>
187
187
  <defs>
188
188
  <clipPath id='moonPhaseCutOffCircle'>
189
189
  <circle cx='20' cy='10' r='10' />
190
190
  </clipPath>
191
191
  </defs>
192
- <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' />
193
- <circle cx='5912.372097077524' cy='10' r='5893.383042129719' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' clip-path='url(#moonPhaseCutOffCircle)' />
192
+ <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' />
193
+ <path d='M 20.0000 0.0000 A 10.0000 10.0000 0 0 1 20.0000 20.0000 A 1.5813 10.0000 0 0 1 20.0000 0.0000 Z' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' clip-path='url(#moonPhaseCutOffCircle)' />
194
194
  <circle cx='20' cy='10' r='10' style='fill: none; stroke: var(--kerykeion-chart-color-lunar-phase-0); stroke-width: 0.5px; stroke-opacity: 0.5' />
195
195
  </g>
196
196
  </g>
@@ -183,14 +183,14 @@
183
183
 
184
184
  <!-- Lunar Phase -->
185
185
  <g kr:node='Lunar_Phase' transform='translate(10,518)'>
186
- <g transform='rotate(0.0 20 10)'>
186
+ <g transform='rotate(0 20 10)'>
187
187
  <defs>
188
188
  <clipPath id='moonPhaseCutOffCircle'>
189
189
  <circle cx='20' cy='10' r='10' />
190
190
  </clipPath>
191
191
  </defs>
192
192
  <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' />
193
- <circle cx='22.020579486809215' cy='10' r='10.978095526587532' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' clip-path='url(#moonPhaseCutOffCircle)' />
193
+ <path d='M 20.0000 0.0000 A 10.0000 10.0000 0 0 1 20.0000 20.0000 A 9.8662 10.0000 0 0 1 20.0000 0.0000 Z' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' clip-path='url(#moonPhaseCutOffCircle)' />
194
194
  <circle cx='20' cy='10' r='10' style='fill: none; stroke: var(--kerykeion-chart-color-lunar-phase-0); stroke-width: 0.5px; stroke-opacity: 0.5' />
195
195
  </g>
196
196
  </g>
@@ -218,14 +218,14 @@
218
218
 
219
219
  <!-- Lunar Phase -->
220
220
  <g kr:node='Lunar_Phase' transform='translate(10,518)'>
221
- <g transform='rotate(0.0 20 10)'>
221
+ <g transform='rotate(0 20 10)'>
222
222
  <defs>
223
223
  <clipPath id='moonPhaseCutOffCircle'>
224
224
  <circle cx='20' cy='10' r='10' />
225
225
  </clipPath>
226
226
  </defs>
227
227
  <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' />
228
- <circle cx='15.053478816545088' cy='10' r='13.092766334850829' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' clip-path='url(#moonPhaseCutOffCircle)' />
228
+ <path d='M 20.0000 0.0000 A 10.0000 10.0000 0 0 0 20.0000 20.0000 A 9.5790 10.0000 0 0 0 20.0000 0.0000 Z' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' clip-path='url(#moonPhaseCutOffCircle)' />
229
229
  <circle cx='20' cy='10' r='10' style='fill: none; stroke: var(--kerykeion-chart-color-lunar-phase-0); stroke-width: 0.5px; stroke-opacity: 0.5' />
230
230
  </g>
231
231
  </g>
@@ -183,14 +183,14 @@
183
183
 
184
184
  <!-- Lunar Phase -->
185
185
  <g kr:node='Lunar_Phase' transform='translate(10,518)'>
186
- <g transform='rotate(0.0 20 10)'>
186
+ <g transform='rotate(0 20 10)'>
187
187
  <defs>
188
188
  <clipPath id='moonPhaseCutOffCircle'>
189
189
  <circle cx='20' cy='10' r='10' />
190
190
  </clipPath>
191
191
  </defs>
192
192
  <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' />
193
- <circle cx='15.053478816545088' cy='10' r='13.092766334850829' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' clip-path='url(#moonPhaseCutOffCircle)' />
193
+ <path d='M 20.0000 0.0000 A 10.0000 10.0000 0 0 0 20.0000 20.0000 A 9.5790 10.0000 0 0 0 20.0000 0.0000 Z' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' clip-path='url(#moonPhaseCutOffCircle)' />
194
194
  <circle cx='20' cy='10' r='10' style='fill: none; stroke: var(--kerykeion-chart-color-lunar-phase-0); stroke-width: 0.5px; stroke-opacity: 0.5' />
195
195
  </g>
196
196
  </g>
@@ -183,14 +183,14 @@
183
183
 
184
184
  <!-- Lunar Phase -->
185
185
  <g kr:node='Lunar_Phase' transform='translate(10,518)'>
186
- <g transform='rotate(0.0 20 10)'>
186
+ <g transform='rotate(0 20 10)'>
187
187
  <defs>
188
188
  <clipPath id='moonPhaseCutOffCircle'>
189
189
  <circle cx='20' cy='10' r='10' />
190
190
  </clipPath>
191
191
  </defs>
192
- <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' />
193
- <circle cx='47.344736345470295' cy='10' r='32.360284467893244' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' clip-path='url(#moonPhaseCutOffCircle)' />
192
+ <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' />
193
+ <path d='M 20.0000 0.0000 A 10.0000 10.0000 0 0 1 20.0000 20.0000 A 7.0883 10.0000 0 0 1 20.0000 0.0000 Z' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' clip-path='url(#moonPhaseCutOffCircle)' />
194
194
  <circle cx='20' cy='10' r='10' style='fill: none; stroke: var(--kerykeion-chart-color-lunar-phase-0); stroke-width: 0.5px; stroke-opacity: 0.5' />
195
195
  </g>
196
196
  </g>
@@ -183,14 +183,14 @@
183
183
 
184
184
  <!-- Lunar Phase -->
185
185
  <g kr:node='Lunar_Phase' transform='translate(10,518)'>
186
- <g transform='rotate(0.0 20 10)'>
186
+ <g transform='rotate(0 20 10)'>
187
187
  <defs>
188
188
  <clipPath id='moonPhaseCutOffCircle'>
189
189
  <circle cx='20' cy='10' r='10' />
190
190
  </clipPath>
191
191
  </defs>
192
- <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' />
193
- <circle cx='19.051697612147102' cy='10' r='10.336677025493326' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' clip-path='url(#moonPhaseCutOffCircle)' />
192
+ <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' />
193
+ <path d='M 20.0000 0.0000 A 10.0000 10.0000 0 0 0 20.0000 20.0000 A 9.9539 10.0000 0 0 0 20.0000 0.0000 Z' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' clip-path='url(#moonPhaseCutOffCircle)' />
194
194
  <circle cx='20' cy='10' r='10' style='fill: none; stroke: var(--kerykeion-chart-color-lunar-phase-0); stroke-width: 0.5px; stroke-opacity: 0.5' />
195
195
  </g>
196
196
  </g>
@@ -183,14 +183,14 @@
183
183
 
184
184
  <!-- Lunar Phase -->
185
185
  <g kr:node='Lunar_Phase' transform='translate(10,518)'>
186
- <g transform='rotate(0.0 20 10)'>
186
+ <g transform='rotate(0 20 10)'>
187
187
  <defs>
188
188
  <clipPath id='moonPhaseCutOffCircle'>
189
189
  <circle cx='20' cy='10' r='10' />
190
190
  </clipPath>
191
191
  </defs>
192
- <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' />
193
- <circle cx='4.398470682093873' cy='10' r='21.95664744972116' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' clip-path='url(#moonPhaseCutOffCircle)' />
192
+ <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' />
193
+ <path d='M 20.0000 0.0000 A 10.0000 10.0000 0 0 0 20.0000 20.0000 A 8.4053 10.0000 0 0 0 20.0000 0.0000 Z' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' clip-path='url(#moonPhaseCutOffCircle)' />
194
194
  <circle cx='20' cy='10' r='10' style='fill: none; stroke: var(--kerykeion-chart-color-lunar-phase-0); stroke-width: 0.5px; stroke-opacity: 0.5' />
195
195
  </g>
196
196
  </g>
@@ -183,14 +183,14 @@
183
183
 
184
184
  <!-- Lunar Phase -->
185
185
  <g kr:node='Lunar_Phase' transform='translate(10,518)'>
186
- <g transform='rotate(0.0 20 10)'>
186
+ <g transform='rotate(0 20 10)'>
187
187
  <defs>
188
188
  <clipPath id='moonPhaseCutOffCircle'>
189
189
  <circle cx='20' cy='10' r='10' />
190
190
  </clipPath>
191
191
  </defs>
192
192
  <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' />
193
- <circle cx='21.34181873974424' cy='10' r='10.55590059591707' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' clip-path='url(#moonPhaseCutOffCircle)' />
193
+ <path d='M 20.0000 0.0000 A 10.0000 10.0000 0 0 1 20.0000 20.0000 A 9.9239 10.0000 0 0 1 20.0000 0.0000 Z' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' clip-path='url(#moonPhaseCutOffCircle)' />
194
194
  <circle cx='20' cy='10' r='10' style='fill: none; stroke: var(--kerykeion-chart-color-lunar-phase-0); stroke-width: 0.5px; stroke-opacity: 0.5' />
195
195
  </g>
196
196
  </g>
@@ -183,14 +183,14 @@
183
183
 
184
184
  <!-- Lunar Phase -->
185
185
  <g kr:node='Lunar_Phase' transform='translate(10,694)'>
186
- <g transform='rotate(0.0 20 10)'>
186
+ <g transform='rotate(0 20 10)'>
187
187
  <defs>
188
188
  <clipPath id='moonPhaseCutOffCircle'>
189
189
  <circle cx='20' cy='10' r='10' />
190
190
  </clipPath>
191
191
  </defs>
192
- <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' />
193
- <circle cx='-46.840031081194645' cy='10' r='68.75988497581749' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' clip-path='url(#moonPhaseCutOffCircle)' />
192
+ <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' />
193
+ <path d='M 20.0000 0.0000 A 10.0000 10.0000 0 0 0 20.0000 20.0000 A 2.9702 10.0000 0 0 0 20.0000 0.0000 Z' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' clip-path='url(#moonPhaseCutOffCircle)' />
194
194
  <circle cx='20' cy='10' r='10' style='fill: none; stroke: var(--kerykeion-chart-color-lunar-phase-0); stroke-width: 0.5px; stroke-opacity: 0.5' />
195
195
  </g>
196
196
  </g>
@@ -218,14 +218,14 @@
218
218
 
219
219
  <!-- Lunar Phase -->
220
220
  <g kr:node='Lunar_Phase' transform='translate(10,518)'>
221
- <g transform='rotate(0.0 20 10)'>
221
+ <g transform='rotate(0 20 10)'>
222
222
  <defs>
223
223
  <clipPath id='moonPhaseCutOffCircle'>
224
224
  <circle cx='20' cy='10' r='10' />
225
225
  </clipPath>
226
226
  </defs>
227
- <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' />
228
- <circle cx='-46.840031081194645' cy='10' r='68.75988497581749' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' clip-path='url(#moonPhaseCutOffCircle)' />
227
+ <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' />
228
+ <path d='M 20.0000 0.0000 A 10.0000 10.0000 0 0 0 20.0000 20.0000 A 2.9702 10.0000 0 0 0 20.0000 0.0000 Z' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' clip-path='url(#moonPhaseCutOffCircle)' />
229
229
  <circle cx='20' cy='10' r='10' style='fill: none; stroke: var(--kerykeion-chart-color-lunar-phase-0); stroke-width: 0.5px; stroke-opacity: 0.5' />
230
230
  </g>
231
231
  </g>
@@ -218,14 +218,14 @@
218
218
 
219
219
  <!-- Lunar Phase -->
220
220
  <g kr:node='Lunar_Phase' transform='translate(10,518)'>
221
- <g transform='rotate(0.0 20 10)'>
221
+ <g transform='rotate(0 20 10)'>
222
222
  <defs>
223
223
  <clipPath id='moonPhaseCutOffCircle'>
224
224
  <circle cx='20' cy='10' r='10' />
225
225
  </clipPath>
226
226
  </defs>
227
- <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' />
228
- <circle cx='-46.840031081194645' cy='10' r='68.75988497581749' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' clip-path='url(#moonPhaseCutOffCircle)' />
227
+ <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' />
228
+ <path d='M 20.0000 0.0000 A 10.0000 10.0000 0 0 0 20.0000 20.0000 A 2.9702 10.0000 0 0 0 20.0000 0.0000 Z' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' clip-path='url(#moonPhaseCutOffCircle)' />
229
229
  <circle cx='20' cy='10' r='10' style='fill: none; stroke: var(--kerykeion-chart-color-lunar-phase-0); stroke-width: 0.5px; stroke-opacity: 0.5' />
230
230
  </g>
231
231
  </g>
@@ -218,14 +218,14 @@
218
218
 
219
219
  <!-- Lunar Phase -->
220
220
  <g kr:node='Lunar_Phase' transform='translate(10,518)'>
221
- <g transform='rotate(0.0 20 10)'>
221
+ <g transform='rotate(0 20 10)'>
222
222
  <defs>
223
223
  <clipPath id='moonPhaseCutOffCircle'>
224
224
  <circle cx='20' cy='10' r='10' />
225
225
  </clipPath>
226
226
  </defs>
227
- <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' />
228
- <circle cx='-46.840031081194645' cy='10' r='68.75988497581749' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' clip-path='url(#moonPhaseCutOffCircle)' />
227
+ <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' />
228
+ <path d='M 20.0000 0.0000 A 10.0000 10.0000 0 0 0 20.0000 20.0000 A 2.9702 10.0000 0 0 0 20.0000 0.0000 Z' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' clip-path='url(#moonPhaseCutOffCircle)' />
229
229
  <circle cx='20' cy='10' r='10' style='fill: none; stroke: var(--kerykeion-chart-color-lunar-phase-0); stroke-width: 0.5px; stroke-opacity: 0.5' />
230
230
  </g>
231
231
  </g>
@@ -229,14 +229,14 @@
229
229
 
230
230
  <!-- Lunar Phase -->
231
231
  <g kr:node='Lunar_Phase' transform='translate(10,518)'>
232
- <g transform='rotate(0.0 20 10)'>
232
+ <g transform='rotate(0 20 10)'>
233
233
  <defs>
234
234
  <clipPath id='moonPhaseCutOffCircle'>
235
235
  <circle cx='20' cy='10' r='10' />
236
236
  </clipPath>
237
237
  </defs>
238
- <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' />
239
- <circle cx='-46.840031081194645' cy='10' r='68.75988497581749' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' clip-path='url(#moonPhaseCutOffCircle)' />
238
+ <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' />
239
+ <path d='M 20.0000 0.0000 A 10.0000 10.0000 0 0 0 20.0000 20.0000 A 2.9702 10.0000 0 0 0 20.0000 0.0000 Z' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' clip-path='url(#moonPhaseCutOffCircle)' />
240
240
  <circle cx='20' cy='10' r='10' style='fill: none; stroke: var(--kerykeion-chart-color-lunar-phase-0); stroke-width: 0.5px; stroke-opacity: 0.5' />
241
241
  </g>
242
242
  </g>
@@ -230,14 +230,14 @@
230
230
 
231
231
  <!-- Lunar Phase -->
232
232
  <g kr:node='Lunar_Phase' transform='translate(10,518)'>
233
- <g transform='rotate(0.0 20 10)'>
233
+ <g transform='rotate(0 20 10)'>
234
234
  <defs>
235
235
  <clipPath id='moonPhaseCutOffCircle'>
236
236
  <circle cx='20' cy='10' r='10' />
237
237
  </clipPath>
238
238
  </defs>
239
- <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' />
240
- <circle cx='-46.840031081194645' cy='10' r='68.75988497581749' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' clip-path='url(#moonPhaseCutOffCircle)' />
239
+ <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' />
240
+ <path d='M 20.0000 0.0000 A 10.0000 10.0000 0 0 0 20.0000 20.0000 A 2.9702 10.0000 0 0 0 20.0000 0.0000 Z' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' clip-path='url(#moonPhaseCutOffCircle)' />
241
241
  <circle cx='20' cy='10' r='10' style='fill: none; stroke: var(--kerykeion-chart-color-lunar-phase-0); stroke-width: 0.5px; stroke-opacity: 0.5' />
242
242
  </g>
243
243
  </g>
@@ -230,14 +230,14 @@
230
230
 
231
231
  <!-- Lunar Phase -->
232
232
  <g kr:node='Lunar_Phase' transform='translate(10,518)'>
233
- <g transform='rotate(0.0 20 10)'>
233
+ <g transform='rotate(0 20 10)'>
234
234
  <defs>
235
235
  <clipPath id='moonPhaseCutOffCircle'>
236
236
  <circle cx='20' cy='10' r='10' />
237
237
  </clipPath>
238
238
  </defs>
239
- <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' />
240
- <circle cx='-46.840031081194645' cy='10' r='68.75988497581749' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' clip-path='url(#moonPhaseCutOffCircle)' />
239
+ <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' />
240
+ <path d='M 20.0000 0.0000 A 10.0000 10.0000 0 0 0 20.0000 20.0000 A 2.9702 10.0000 0 0 0 20.0000 0.0000 Z' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' clip-path='url(#moonPhaseCutOffCircle)' />
241
241
  <circle cx='20' cy='10' r='10' style='fill: none; stroke: var(--kerykeion-chart-color-lunar-phase-0); stroke-width: 0.5px; stroke-opacity: 0.5' />
242
242
  </g>
243
243
  </g>
@@ -183,14 +183,14 @@
183
183
 
184
184
  <!-- Lunar Phase -->
185
185
  <g kr:node='Lunar_Phase' transform='translate(10,518)'>
186
- <g transform='rotate(0.0 20 10)'>
186
+ <g transform='rotate(0 20 10)'>
187
187
  <defs>
188
188
  <clipPath id='moonPhaseCutOffCircle'>
189
189
  <circle cx='20' cy='10' r='10' />
190
190
  </clipPath>
191
191
  </defs>
192
- <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' />
193
- <circle cx='-46.840031081194645' cy='10' r='68.75988497581749' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' clip-path='url(#moonPhaseCutOffCircle)' />
192
+ <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' />
193
+ <path d='M 20.0000 0.0000 A 10.0000 10.0000 0 0 0 20.0000 20.0000 A 2.9702 10.0000 0 0 0 20.0000 0.0000 Z' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' clip-path='url(#moonPhaseCutOffCircle)' />
194
194
  <circle cx='20' cy='10' r='10' style='fill: none; stroke: var(--kerykeion-chart-color-lunar-phase-0); stroke-width: 0.5px; stroke-opacity: 0.5' />
195
195
  </g>
196
196
  </g>
@@ -183,14 +183,14 @@
183
183
 
184
184
  <!-- Lunar Phase -->
185
185
  <g kr:node='Lunar_Phase' transform='translate(10,518)'>
186
- <g transform='rotate(0.0 20 10)'>
186
+ <g transform='rotate(0 20 10)'>
187
187
  <defs>
188
188
  <clipPath id='moonPhaseCutOffCircle'>
189
189
  <circle cx='20' cy='10' r='10' />
190
190
  </clipPath>
191
191
  </defs>
192
- <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' />
193
- <circle cx='-46.840031081194645' cy='10' r='68.75988497581749' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' clip-path='url(#moonPhaseCutOffCircle)' />
192
+ <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' />
193
+ <path d='M 20.0000 0.0000 A 10.0000 10.0000 0 0 0 20.0000 20.0000 A 2.9702 10.0000 0 0 0 20.0000 0.0000 Z' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' clip-path='url(#moonPhaseCutOffCircle)' />
194
194
  <circle cx='20' cy='10' r='10' style='fill: none; stroke: var(--kerykeion-chart-color-lunar-phase-0); stroke-width: 0.5px; stroke-opacity: 0.5' />
195
195
  </g>
196
196
  </g>
@@ -183,14 +183,14 @@
183
183
 
184
184
  <!-- Lunar Phase -->
185
185
  <g kr:node='Lunar_Phase' transform='translate(10,518)'>
186
- <g transform='rotate(0.0 20 10)'>
186
+ <g transform='rotate(0 20 10)'>
187
187
  <defs>
188
188
  <clipPath id='moonPhaseCutOffCircle'>
189
189
  <circle cx='20' cy='10' r='10' />
190
190
  </clipPath>
191
191
  </defs>
192
- <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' />
193
- <circle cx='-46.840031081194645' cy='10' r='68.75988497581749' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' clip-path='url(#moonPhaseCutOffCircle)' />
192
+ <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' />
193
+ <path d='M 20.0000 0.0000 A 10.0000 10.0000 0 0 0 20.0000 20.0000 A 2.9702 10.0000 0 0 0 20.0000 0.0000 Z' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' clip-path='url(#moonPhaseCutOffCircle)' />
194
194
  <circle cx='20' cy='10' r='10' style='fill: none; stroke: var(--kerykeion-chart-color-lunar-phase-0); stroke-width: 0.5px; stroke-opacity: 0.5' />
195
195
  </g>
196
196
  </g>
@@ -183,14 +183,14 @@
183
183
 
184
184
  <!-- Lunar Phase -->
185
185
  <g kr:node='Lunar_Phase' transform='translate(10,518)'>
186
- <g transform='rotate(0.0 20 10)'>
186
+ <g transform='rotate(0 20 10)'>
187
187
  <defs>
188
188
  <clipPath id='moonPhaseCutOffCircle'>
189
189
  <circle cx='20' cy='10' r='10' />
190
190
  </clipPath>
191
191
  </defs>
192
192
  <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' />
193
- <circle cx='24.680396436488856' cy='10' r='12.888808523848176' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' clip-path='url(#moonPhaseCutOffCircle)' />
193
+ <path d='M 20.0000 0.0000 A 10.0000 10.0000 0 0 1 20.0000 20.0000 A 9.6066 10.0000 0 0 1 20.0000 0.0000 Z' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' clip-path='url(#moonPhaseCutOffCircle)' />
194
194
  <circle cx='20' cy='10' r='10' style='fill: none; stroke: var(--kerykeion-chart-color-lunar-phase-0); stroke-width: 0.5px; stroke-opacity: 0.5' />
195
195
  </g>
196
196
  </g>
@@ -183,14 +183,14 @@
183
183
 
184
184
  <!-- Lunar Phase -->
185
185
  <g kr:node='Lunar_Phase' transform='translate(10,518)'>
186
- <g transform='rotate(0.0 20 10)'>
186
+ <g transform='rotate(0 20 10)'>
187
187
  <defs>
188
188
  <clipPath id='moonPhaseCutOffCircle'>
189
189
  <circle cx='20' cy='10' r='10' />
190
190
  </clipPath>
191
191
  </defs>
192
- <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' />
193
- <circle cx='-46.840031081194645' cy='10' r='68.75988497581749' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' clip-path='url(#moonPhaseCutOffCircle)' />
192
+ <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' />
193
+ <path d='M 20.0000 0.0000 A 10.0000 10.0000 0 0 0 20.0000 20.0000 A 2.9702 10.0000 0 0 0 20.0000 0.0000 Z' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' clip-path='url(#moonPhaseCutOffCircle)' />
194
194
  <circle cx='20' cy='10' r='10' style='fill: none; stroke: var(--kerykeion-chart-color-lunar-phase-0); stroke-width: 0.5px; stroke-opacity: 0.5' />
195
195
  </g>
196
196
  </g>
@@ -230,14 +230,14 @@
230
230
 
231
231
  <!-- Lunar Phase -->
232
232
  <g kr:node='Lunar_Phase' transform='translate(10,518)'>
233
- <g transform='rotate(0.0 20 10)'>
233
+ <g transform='rotate(0 20 10)'>
234
234
  <defs>
235
235
  <clipPath id='moonPhaseCutOffCircle'>
236
236
  <circle cx='20' cy='10' r='10' />
237
237
  </clipPath>
238
238
  </defs>
239
- <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' />
240
- <circle cx='-46.840031081194645' cy='10' r='68.75988497581749' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' clip-path='url(#moonPhaseCutOffCircle)' />
239
+ <circle cx='20' cy='10' r='10' style='fill: var(--kerykeion-chart-color-lunar-phase-1)' />
240
+ <path d='M 20.0000 0.0000 A 10.0000 10.0000 0 0 0 20.0000 20.0000 A 2.9702 10.0000 0 0 0 20.0000 0.0000 Z' style='fill: var(--kerykeion-chart-color-lunar-phase-0)' clip-path='url(#moonPhaseCutOffCircle)' />
241
241
  <circle cx='20' cy='10' r='10' style='fill: none; stroke: var(--kerykeion-chart-color-lunar-phase-0); stroke-width: 0.5px; stroke-opacity: 0.5' />
242
242
  </g>
243
243
  </g>