focomy 0.1.110__tar.gz → 0.1.111__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.
Files changed (209) hide show
  1. {focomy-0.1.110 → focomy-0.1.111}/PKG-INFO +1 -1
  2. {focomy-0.1.110 → focomy-0.1.111}/core/api/forms.py +11 -5
  3. {focomy-0.1.110 → focomy-0.1.111}/pyproject.toml +1 -1
  4. {focomy-0.1.110 → focomy-0.1.111}/.gitignore +0 -0
  5. {focomy-0.1.110 → focomy-0.1.111}/LICENSE +0 -0
  6. {focomy-0.1.110 → focomy-0.1.111}/README.md +0 -0
  7. {focomy-0.1.110 → focomy-0.1.111}/core/__init__.py +0 -0
  8. {focomy-0.1.110 → focomy-0.1.111}/core/admin/__init__.py +0 -0
  9. {focomy-0.1.110 → focomy-0.1.111}/core/admin/routes.py +0 -0
  10. {focomy-0.1.110 → focomy-0.1.111}/core/admin/url.py +0 -0
  11. {focomy-0.1.110 → focomy-0.1.111}/core/api/__init__.py +0 -0
  12. {focomy-0.1.110 → focomy-0.1.111}/core/api/auth.py +0 -0
  13. {focomy-0.1.110 → focomy-0.1.111}/core/api/comments.py +0 -0
  14. {focomy-0.1.110 → focomy-0.1.111}/core/api/entities.py +0 -0
  15. {focomy-0.1.110 → focomy-0.1.111}/core/api/media.py +0 -0
  16. {focomy-0.1.110 → focomy-0.1.111}/core/api/relations.py +0 -0
  17. {focomy-0.1.110 → focomy-0.1.111}/core/api/revisions.py +0 -0
  18. {focomy-0.1.110 → focomy-0.1.111}/core/api/schema.py +0 -0
  19. {focomy-0.1.110 → focomy-0.1.111}/core/api/search.py +0 -0
  20. {focomy-0.1.110 → focomy-0.1.111}/core/api/seo.py +0 -0
  21. {focomy-0.1.110 → focomy-0.1.111}/core/cli.py +0 -0
  22. {focomy-0.1.110 → focomy-0.1.111}/core/config.py +0 -0
  23. {focomy-0.1.110 → focomy-0.1.111}/core/content_types/__init__.py +0 -0
  24. {focomy-0.1.110 → focomy-0.1.111}/core/content_types/audit_log.yaml +0 -0
  25. {focomy-0.1.110 → focomy-0.1.111}/core/content_types/category.yaml +0 -0
  26. {focomy-0.1.110 → focomy-0.1.111}/core/content_types/channel.yaml +0 -0
  27. {focomy-0.1.110 → focomy-0.1.111}/core/content_types/comment.yaml +0 -0
  28. {focomy-0.1.110 → focomy-0.1.111}/core/content_types/edit_lock.yaml +0 -0
  29. {focomy-0.1.110 → focomy-0.1.111}/core/content_types/form.yaml +0 -0
  30. {focomy-0.1.110 → focomy-0.1.111}/core/content_types/form_submission.yaml +0 -0
  31. {focomy-0.1.110 → focomy-0.1.111}/core/content_types/menu_item.yaml +0 -0
  32. {focomy-0.1.110 → focomy-0.1.111}/core/content_types/news.yaml +0 -0
  33. {focomy-0.1.110 → focomy-0.1.111}/core/content_types/page.yaml +0 -0
  34. {focomy-0.1.110 → focomy-0.1.111}/core/content_types/plugin.yaml +0 -0
  35. {focomy-0.1.110 → focomy-0.1.111}/core/content_types/plugin_developer.yaml +0 -0
  36. {focomy-0.1.110 → focomy-0.1.111}/core/content_types/plugin_review.yaml +0 -0
  37. {focomy-0.1.110 → focomy-0.1.111}/core/content_types/post.yaml +0 -0
  38. {focomy-0.1.110 → focomy-0.1.111}/core/content_types/redirect.yaml +0 -0
  39. {focomy-0.1.110 → focomy-0.1.111}/core/content_types/scheduled_action.yaml +0 -0
  40. {focomy-0.1.110 → focomy-0.1.111}/core/content_types/series.yaml +0 -0
  41. {focomy-0.1.110 → focomy-0.1.111}/core/content_types/site_setting.yaml +0 -0
  42. {focomy-0.1.110 → focomy-0.1.111}/core/content_types/tag.yaml +0 -0
  43. {focomy-0.1.110 → focomy-0.1.111}/core/content_types/user.yaml +0 -0
  44. {focomy-0.1.110 → focomy-0.1.111}/core/content_types/widget.yaml +0 -0
  45. {focomy-0.1.110 → focomy-0.1.111}/core/content_types/workflow_history.yaml +0 -0
  46. {focomy-0.1.110 → focomy-0.1.111}/core/database.py +0 -0
  47. {focomy-0.1.110 → focomy-0.1.111}/core/engine/__init__.py +0 -0
  48. {focomy-0.1.110 → focomy-0.1.111}/core/engine/routes.py +0 -0
  49. {focomy-0.1.110 → focomy-0.1.111}/core/main.py +0 -0
  50. {focomy-0.1.110 → focomy-0.1.111}/core/migrations/env.py +0 -0
  51. {focomy-0.1.110 → focomy-0.1.111}/core/migrations/script.py.mako +0 -0
  52. {focomy-0.1.110 → focomy-0.1.111}/core/migrations/versions/2038bdf6693b_add_import_jobs_table.py +0 -0
  53. {focomy-0.1.110 → focomy-0.1.111}/core/migrations/versions/3a1b2c3d4e5f_add_file_hash_to_media.py +0 -0
  54. {focomy-0.1.110 → focomy-0.1.111}/core/models/__init__.py +0 -0
  55. {focomy-0.1.110 → focomy-0.1.111}/core/models/auth.py +0 -0
  56. {focomy-0.1.110 → focomy-0.1.111}/core/models/entity.py +0 -0
  57. {focomy-0.1.110 → focomy-0.1.111}/core/models/import_job.py +0 -0
  58. {focomy-0.1.110 → focomy-0.1.111}/core/models/media.py +0 -0
  59. {focomy-0.1.110 → focomy-0.1.111}/core/models/relation.py +0 -0
  60. {focomy-0.1.110 → focomy-0.1.111}/core/models/revision.py +0 -0
  61. {focomy-0.1.110 → focomy-0.1.111}/core/plugins/__init__.py +0 -0
  62. {focomy-0.1.110 → focomy-0.1.111}/core/plugins/base.py +0 -0
  63. {focomy-0.1.110 → focomy-0.1.111}/core/plugins/hooks.py +0 -0
  64. {focomy-0.1.110 → focomy-0.1.111}/core/plugins/loader.py +0 -0
  65. {focomy-0.1.110 → focomy-0.1.111}/core/plugins/manager.py +0 -0
  66. {focomy-0.1.110 → focomy-0.1.111}/core/rate_limit.py +0 -0
  67. {focomy-0.1.110 → focomy-0.1.111}/core/relations.yaml +0 -0
  68. {focomy-0.1.110 → focomy-0.1.111}/core/scaffold/.env.template +0 -0
  69. {focomy-0.1.110 → focomy-0.1.111}/core/scaffold/.gitignore.template +0 -0
  70. {focomy-0.1.110 → focomy-0.1.111}/core/scaffold/__init__.py +0 -0
  71. {focomy-0.1.110 → focomy-0.1.111}/core/scaffold/config.yaml.template +0 -0
  72. {focomy-0.1.110 → focomy-0.1.111}/core/scaffold/themes/default/templates/archive.html +0 -0
  73. {focomy-0.1.110 → focomy-0.1.111}/core/scaffold/themes/default/templates/base.html +0 -0
  74. {focomy-0.1.110 → focomy-0.1.111}/core/scaffold/themes/default/templates/category.html +0 -0
  75. {focomy-0.1.110 → focomy-0.1.111}/core/scaffold/themes/default/templates/home.html +0 -0
  76. {focomy-0.1.110 → focomy-0.1.111}/core/scaffold/themes/default/templates/post.html +0 -0
  77. {focomy-0.1.110 → focomy-0.1.111}/core/scaffold/themes/default/templates/search.html +0 -0
  78. {focomy-0.1.110 → focomy-0.1.111}/core/scaffold/themes/default/theme.yaml +0 -0
  79. {focomy-0.1.110 → focomy-0.1.111}/core/schemas/__init__.py +0 -0
  80. {focomy-0.1.110 → focomy-0.1.111}/core/schemas/import_schema.py +0 -0
  81. {focomy-0.1.110 → focomy-0.1.111}/core/seo/__init__.py +0 -0
  82. {focomy-0.1.110 → focomy-0.1.111}/core/services/__init__.py +0 -0
  83. {focomy-0.1.110 → focomy-0.1.111}/core/services/api_auth.py +0 -0
  84. {focomy-0.1.110 → focomy-0.1.111}/core/services/assets.py +0 -0
  85. {focomy-0.1.110 → focomy-0.1.111}/core/services/audit.py +0 -0
  86. {focomy-0.1.110 → focomy-0.1.111}/core/services/auth.py +0 -0
  87. {focomy-0.1.110 → focomy-0.1.111}/core/services/block_converter.py +0 -0
  88. {focomy-0.1.110 → focomy-0.1.111}/core/services/bulk.py +0 -0
  89. {focomy-0.1.110 → focomy-0.1.111}/core/services/cache.py +0 -0
  90. {focomy-0.1.110 → focomy-0.1.111}/core/services/cleanup.py +0 -0
  91. {focomy-0.1.110 → focomy-0.1.111}/core/services/comment.py +0 -0
  92. {focomy-0.1.110 → focomy-0.1.111}/core/services/config_priority.py +0 -0
  93. {focomy-0.1.110 → focomy-0.1.111}/core/services/deployment.py +0 -0
  94. {focomy-0.1.110 → focomy-0.1.111}/core/services/edit_lock.py +0 -0
  95. {focomy-0.1.110 → focomy-0.1.111}/core/services/entity.py +0 -0
  96. {focomy-0.1.110 → focomy-0.1.111}/core/services/export.py +0 -0
  97. {focomy-0.1.110 → focomy-0.1.111}/core/services/field.py +0 -0
  98. {focomy-0.1.110 → focomy-0.1.111}/core/services/formula.py +0 -0
  99. {focomy-0.1.110 → focomy-0.1.111}/core/services/i18n.py +0 -0
  100. {focomy-0.1.110 → focomy-0.1.111}/core/services/index.py +0 -0
  101. {focomy-0.1.110 → focomy-0.1.111}/core/services/invite.py +0 -0
  102. {focomy-0.1.110 → focomy-0.1.111}/core/services/link_validator.py +0 -0
  103. {focomy-0.1.110 → focomy-0.1.111}/core/services/logging.py +0 -0
  104. {focomy-0.1.110 → focomy-0.1.111}/core/services/mail.py +0 -0
  105. {focomy-0.1.110 → focomy-0.1.111}/core/services/marketplace.py +0 -0
  106. {focomy-0.1.110 → focomy-0.1.111}/core/services/marketplace_verify.py +0 -0
  107. {focomy-0.1.110 → focomy-0.1.111}/core/services/media.py +0 -0
  108. {focomy-0.1.110 → focomy-0.1.111}/core/services/media_cleanup.py +0 -0
  109. {focomy-0.1.110 → focomy-0.1.111}/core/services/menu.py +0 -0
  110. {focomy-0.1.110 → focomy-0.1.111}/core/services/migration_helpers.py +0 -0
  111. {focomy-0.1.110 → focomy-0.1.111}/core/services/oauth.py +0 -0
  112. {focomy-0.1.110 → focomy-0.1.111}/core/services/pagination.py +0 -0
  113. {focomy-0.1.110 → focomy-0.1.111}/core/services/plugin_resolver.py +0 -0
  114. {focomy-0.1.110 → focomy-0.1.111}/core/services/plugin_sandbox.py +0 -0
  115. {focomy-0.1.110 → focomy-0.1.111}/core/services/preview.py +0 -0
  116. {focomy-0.1.110 → focomy-0.1.111}/core/services/query_optimizer.py +0 -0
  117. {focomy-0.1.110 → focomy-0.1.111}/core/services/rbac.py +0 -0
  118. {focomy-0.1.110 → focomy-0.1.111}/core/services/redirect.py +0 -0
  119. {focomy-0.1.110 → focomy-0.1.111}/core/services/relation.py +0 -0
  120. {focomy-0.1.110 → focomy-0.1.111}/core/services/revision.py +0 -0
  121. {focomy-0.1.110 → focomy-0.1.111}/core/services/routing.py +0 -0
  122. {focomy-0.1.110 → focomy-0.1.111}/core/services/sanitizer.py +0 -0
  123. {focomy-0.1.110 → focomy-0.1.111}/core/services/schedule.py +0 -0
  124. {focomy-0.1.110 → focomy-0.1.111}/core/services/search.py +0 -0
  125. {focomy-0.1.110 → focomy-0.1.111}/core/services/sentry.py +0 -0
  126. {focomy-0.1.110 → focomy-0.1.111}/core/services/seo.py +0 -0
  127. {focomy-0.1.110 → focomy-0.1.111}/core/services/settings.py +0 -0
  128. {focomy-0.1.110 → focomy-0.1.111}/core/services/spam_filter.py +0 -0
  129. {focomy-0.1.110 → focomy-0.1.111}/core/services/storage.py +0 -0
  130. {focomy-0.1.110 → focomy-0.1.111}/core/services/theme.py +0 -0
  131. {focomy-0.1.110 → focomy-0.1.111}/core/services/theme_inheritance.py +0 -0
  132. {focomy-0.1.110 → focomy-0.1.111}/core/services/thumbnail.py +0 -0
  133. {focomy-0.1.110 → focomy-0.1.111}/core/services/update.py +0 -0
  134. {focomy-0.1.110 → focomy-0.1.111}/core/services/widget.py +0 -0
  135. {focomy-0.1.110 → focomy-0.1.111}/core/services/wordpress_import/__init__.py +0 -0
  136. {focomy-0.1.110 → focomy-0.1.111}/core/services/wordpress_import/acf.py +0 -0
  137. {focomy-0.1.110 → focomy-0.1.111}/core/services/wordpress_import/analyzer.py +0 -0
  138. {focomy-0.1.110 → focomy-0.1.111}/core/services/wordpress_import/constants.py +0 -0
  139. {focomy-0.1.110 → focomy-0.1.111}/core/services/wordpress_import/content_sanitizer.py +0 -0
  140. {focomy-0.1.110 → focomy-0.1.111}/core/services/wordpress_import/diff_detector.py +0 -0
  141. {focomy-0.1.110 → focomy-0.1.111}/core/services/wordpress_import/dry_run.py +0 -0
  142. {focomy-0.1.110 → focomy-0.1.111}/core/services/wordpress_import/error_collector.py +0 -0
  143. {focomy-0.1.110 → focomy-0.1.111}/core/services/wordpress_import/id_resolver.py +0 -0
  144. {focomy-0.1.110 → focomy-0.1.111}/core/services/wordpress_import/import_service.py +0 -0
  145. {focomy-0.1.110 → focomy-0.1.111}/core/services/wordpress_import/importer.py +0 -0
  146. {focomy-0.1.110 → focomy-0.1.111}/core/services/wordpress_import/link_fixer.py +0 -0
  147. {focomy-0.1.110 → focomy-0.1.111}/core/services/wordpress_import/media.py +0 -0
  148. {focomy-0.1.110 → focomy-0.1.111}/core/services/wordpress_import/preview.py +0 -0
  149. {focomy-0.1.110 → focomy-0.1.111}/core/services/wordpress_import/redirects.py +0 -0
  150. {focomy-0.1.110 → focomy-0.1.111}/core/services/wordpress_import/rest_client.py +0 -0
  151. {focomy-0.1.110 → focomy-0.1.111}/core/services/wordpress_import/rollback.py +0 -0
  152. {focomy-0.1.110 → focomy-0.1.111}/core/services/wordpress_import/verification.py +0 -0
  153. {focomy-0.1.110 → focomy-0.1.111}/core/services/wordpress_import/wxr_parser.py +0 -0
  154. {focomy-0.1.110 → focomy-0.1.111}/core/services/workflow.py +0 -0
  155. {focomy-0.1.110 → focomy-0.1.111}/core/templates/admin/backup.html +0 -0
  156. {focomy-0.1.110 → focomy-0.1.111}/core/templates/admin/base.html +0 -0
  157. {focomy-0.1.110 → focomy-0.1.111}/core/templates/admin/comments.html +0 -0
  158. {focomy-0.1.110 → focomy-0.1.111}/core/templates/admin/components/editor.html +0 -0
  159. {focomy-0.1.110 → focomy-0.1.111}/core/templates/admin/customize.html +0 -0
  160. {focomy-0.1.110 → focomy-0.1.111}/core/templates/admin/dashboard.html +0 -0
  161. {focomy-0.1.110 → focomy-0.1.111}/core/templates/admin/entity_form.html +0 -0
  162. {focomy-0.1.110 → focomy-0.1.111}/core/templates/admin/entity_list.html +0 -0
  163. {focomy-0.1.110 → focomy-0.1.111}/core/templates/admin/forgot_password.html +0 -0
  164. {focomy-0.1.110 → focomy-0.1.111}/core/templates/admin/import.html +0 -0
  165. {focomy-0.1.110 → focomy-0.1.111}/core/templates/admin/link_validator.html +0 -0
  166. {focomy-0.1.110 → focomy-0.1.111}/core/templates/admin/login.html +0 -0
  167. {focomy-0.1.110 → focomy-0.1.111}/core/templates/admin/media.html +0 -0
  168. {focomy-0.1.110 → focomy-0.1.111}/core/templates/admin/menus.html +0 -0
  169. {focomy-0.1.110 → focomy-0.1.111}/core/templates/admin/plugins.html +0 -0
  170. {focomy-0.1.110 → focomy-0.1.111}/core/templates/admin/redirects.html +0 -0
  171. {focomy-0.1.110 → focomy-0.1.111}/core/templates/admin/reset_password.html +0 -0
  172. {focomy-0.1.110 → focomy-0.1.111}/core/templates/admin/settings.html +0 -0
  173. {focomy-0.1.110 → focomy-0.1.111}/core/templates/admin/sitemap.html +0 -0
  174. {focomy-0.1.110 → focomy-0.1.111}/core/templates/admin/system.html +0 -0
  175. {focomy-0.1.110 → focomy-0.1.111}/core/templates/admin/themes.html +0 -0
  176. {focomy-0.1.110 → focomy-0.1.111}/core/templates/admin/widgets.html +0 -0
  177. {focomy-0.1.110 → focomy-0.1.111}/core/themes/__init__.py +0 -0
  178. {focomy-0.1.110 → focomy-0.1.111}/core/themes/customizer.py +0 -0
  179. {focomy-0.1.110 → focomy-0.1.111}/core/themes/manager.py +0 -0
  180. {focomy-0.1.110 → focomy-0.1.111}/core/themes/marketplace.py +0 -0
  181. {focomy-0.1.110 → focomy-0.1.111}/core/utils.py +0 -0
  182. {focomy-0.1.110 → focomy-0.1.111}/static/favicon.svg +0 -0
  183. {focomy-0.1.110 → focomy-0.1.111}/themes/blog/templates/base.html +0 -0
  184. {focomy-0.1.110 → focomy-0.1.111}/themes/blog/templates/home.html +0 -0
  185. {focomy-0.1.110 → focomy-0.1.111}/themes/blog/templates/post.html +0 -0
  186. {focomy-0.1.110 → focomy-0.1.111}/themes/blog/theme.yaml +0 -0
  187. {focomy-0.1.110 → focomy-0.1.111}/themes/corporate/templates/base.html +0 -0
  188. {focomy-0.1.110 → focomy-0.1.111}/themes/corporate/templates/home.html +0 -0
  189. {focomy-0.1.110 → focomy-0.1.111}/themes/corporate/templates/page.html +0 -0
  190. {focomy-0.1.110 → focomy-0.1.111}/themes/corporate/theme.yaml +0 -0
  191. {focomy-0.1.110 → focomy-0.1.111}/themes/default/templates/404.html +0 -0
  192. {focomy-0.1.110 → focomy-0.1.111}/themes/default/templates/500.html +0 -0
  193. {focomy-0.1.110 → focomy-0.1.111}/themes/default/templates/archive.html +0 -0
  194. {focomy-0.1.110 → focomy-0.1.111}/themes/default/templates/base.html +0 -0
  195. {focomy-0.1.110 → focomy-0.1.111}/themes/default/templates/category.html +0 -0
  196. {focomy-0.1.110 → focomy-0.1.111}/themes/default/templates/channel.html +0 -0
  197. {focomy-0.1.110 → focomy-0.1.111}/themes/default/templates/form.html +0 -0
  198. {focomy-0.1.110 → focomy-0.1.111}/themes/default/templates/form_success.html +0 -0
  199. {focomy-0.1.110 → focomy-0.1.111}/themes/default/templates/home.html +0 -0
  200. {focomy-0.1.110 → focomy-0.1.111}/themes/default/templates/page.html +0 -0
  201. {focomy-0.1.110 → focomy-0.1.111}/themes/default/templates/post.html +0 -0
  202. {focomy-0.1.110 → focomy-0.1.111}/themes/default/templates/search.html +0 -0
  203. {focomy-0.1.110 → focomy-0.1.111}/themes/default/templates/series.html +0 -0
  204. {focomy-0.1.110 → focomy-0.1.111}/themes/default/theme.yaml +0 -0
  205. {focomy-0.1.110 → focomy-0.1.111}/themes/minimal/templates/base.html +0 -0
  206. {focomy-0.1.110 → focomy-0.1.111}/themes/minimal/templates/home.html +0 -0
  207. {focomy-0.1.110 → focomy-0.1.111}/themes/minimal/templates/page.html +0 -0
  208. {focomy-0.1.110 → focomy-0.1.111}/themes/minimal/templates/post.html +0 -0
  209. {focomy-0.1.110 → focomy-0.1.111}/themes/minimal/theme.yaml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: focomy
3
- Version: 0.1.110
3
+ Version: 0.1.111
4
4
  Summary: The Most Beautiful CMS - A metadata-driven, zero-duplicate-code content management system
5
5
  Project-URL: Homepage, https://github.com/focomy/focomy
6
6
  Project-URL: Documentation, https://focomy.dev/docs
@@ -9,10 +9,10 @@ from pydantic import BaseModel
9
9
  from sqlalchemy.ext.asyncio import AsyncSession
10
10
 
11
11
  from ..database import get_db
12
+ from ..engine.routes import render_template
12
13
  from ..rate_limit import limiter
13
14
  from ..services.entity import EntityService
14
15
  from ..services.mail import mail_service
15
- from ..services.theme import theme_service
16
16
  from ..utils import require_feature_async
17
17
 
18
18
  router = APIRouter(prefix="/forms", tags=["forms"])
@@ -63,8 +63,9 @@ async def view_form(
63
63
  except json.JSONDecodeError:
64
64
  steps = []
65
65
 
66
- # Render form template
67
- html = theme_service.render(
66
+ # Render form template (with admin bar context)
67
+ html = await render_template(
68
+ db,
68
69
  "form.html",
69
70
  {
70
71
  "form": form_data,
@@ -72,6 +73,9 @@ async def view_form(
72
73
  "steps": steps,
73
74
  "csrf_token": getattr(request.state, "csrf_token", ""),
74
75
  },
76
+ request=request,
77
+ entity=form,
78
+ content_type="form",
75
79
  )
76
80
 
77
81
  return HTMLResponse(content=html)
@@ -162,13 +166,15 @@ async def submit_form(
162
166
  if "application/json" in content_type:
163
167
  return {"success": True, "message": success_message}
164
168
 
165
- # Render success page
166
- html = theme_service.render(
169
+ # Render success page (with admin bar context)
170
+ html = await render_template(
171
+ db,
167
172
  "form_success.html",
168
173
  {
169
174
  "form": form_data,
170
175
  "message": success_message,
171
176
  },
177
+ request=request,
172
178
  )
173
179
 
174
180
  return HTMLResponse(content=html)
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "focomy"
7
- version = "0.1.110"
7
+ version = "0.1.111"
8
8
  description = "The Most Beautiful CMS - A metadata-driven, zero-duplicate-code content management system"
9
9
  readme = "README.md"
10
10
  license = "MIT"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes