lesli 5.0.7 → 5.0.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (201) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/config/lesli_manifest.js +10 -9
  3. data/app/assets/icons/lesli/engine-lesli.svg +1 -0
  4. data/app/assets/icons/lesli/locale-en.svg +1 -0
  5. data/app/assets/icons/lesli/locale-es.svg +1 -0
  6. data/app/assets/javascripts/lesli/users/sessions.js +1 -722
  7. data/app/assets/stylesheets/lesli/templates/application.css +1846 -0
  8. data/app/assets/stylesheets/lesli/templates/public.css +1 -0
  9. data/app/assets/stylesheets/lesli/users/sessions.css +1 -0
  10. data/app/helpers/lesli/navigation_helper.rb +9 -1
  11. data/app/lib/lesli/system.rb +2 -1
  12. data/app/models/concerns/account_initializer.rb +3 -3
  13. data/app/views/lesli/layouts/application-public.html.erb +1 -1
  14. data/app/views/lesli/partials/_application-data.html.erb +3 -1
  15. data/app/views/lesli/partials/_application-lesli-header.html.erb +7 -8
  16. data/app/views/lesli/partials/_application-lesli-icons.html.erb +1 -1
  17. data/app/views/lesli/partials/_application-lesli-javascript.html.erb +1 -1
  18. data/app/views/lesli/partials/_application-public-javascript.html.erb +1 -4
  19. data/app/views/lesli/wrappers/_application-devise.html.erb +2 -2
  20. data/config/initializers/lesli.rb +1 -1
  21. data/db/seeds.rb +2 -4
  22. data/lib/assets/javascripts/lesli/i18n.js +1037 -1037
  23. data/lib/lesli/engine.rb +7 -6
  24. data/lib/lesli/version.rb +2 -2
  25. data/lib/{sass/lesli → scss}/bulma/loader.scss +3 -1
  26. data/{app/assets/stylesheets/lesli/users → lib/scss/devise}/sessions.scss +3 -1
  27. data/lib/{sass/lesli → scss}/fonts/families.scss +3 -3
  28. data/lib/{sass/lesli → scss}/fonts/mdicons.scss +6 -8
  29. data/lib/{sass/lesli → scss}/fonts/remixicons.scss +2 -2
  30. data/lib/{sass/lesli → scss}/layouts/application-header.scss +4 -0
  31. data/lib/{sass/lesli → scss}/layouts/application-sidebar.scss +1 -1
  32. data/lib/{sass/lesli → scss}/pages/devise.scss +5 -1
  33. data/lib/{sass/lesli → scss}/settings/variables.scss +1 -1
  34. data/lib/{sass/lesli → scss}/templates/application.scss +46 -49
  35. data/lib/{sass/lesli → scss}/templates/component.scss +1 -1
  36. data/lib/{sass/lesli → scss}/templates/dashboards.scss +1 -1
  37. data/lib/{sass/lesli → scss}/templates/public.scss +6 -6
  38. data/lib/tasks/lesli/db.rake +42 -24
  39. data/lib/tasks/lesli/docs.rake +47 -0
  40. data/lib/vue/application.js +16 -15
  41. data/lib/vue/devise/sessions.js +1 -1
  42. data/lib/vue/layouts/application-announcements.vue +1 -1
  43. data/lib/vue/layouts/application-engines.vue +1 -1
  44. data/lib/vue/layouts/application-header.vue +9 -9
  45. data/lib/vue/layouts/application-search.vue +1 -1
  46. data/lib/vue/panels/panel-announcements.vue +2 -2
  47. data/lib/vue/panels/panel-files.vue +2 -2
  48. data/lib/vue/panels/panel-notifications.vue +1 -1
  49. data/lib/vue/panels/panel-profile.vue +2 -2
  50. data/lib/vue/panels/panel-tasks.vue +2 -2
  51. data/lib/vue/panels/panel-tickets.vue +2 -2
  52. data/lib/vue/public.js +3 -2
  53. data/lib/vue/{shared → refactor/shared}/cloudobjects/action.vue +1 -1
  54. data/lib/vue/{shared → refactor/shared}/cloudobjects/discussion/content.vue +2 -2
  55. data/lib/vue/{shared → refactor/shared}/cloudobjects/discussion/element.vue +2 -2
  56. data/lib/vue/{shared → refactor/shared}/cloudobjects/discussion/filters.vue +1 -1
  57. data/lib/vue/{shared → refactor/shared}/cloudobjects/discussion/new.vue +1 -1
  58. data/lib/vue/{shared → refactor/shared}/cloudobjects/discussion.vue +4 -4
  59. data/lib/vue/{shared → refactor/shared}/cloudobjects/file/grid.vue +2 -2
  60. data/lib/vue/{shared → refactor/shared}/cloudobjects/file/list.vue +2 -2
  61. data/lib/vue/{shared → refactor/shared}/cloudobjects/file.vue +4 -4
  62. data/lib/vue/{shared → refactor/shared}/workflows2/apps/actions/form.vue +1 -1
  63. data/lib/vue/{shared → refactor/shared}/workflows2/apps/actions/forms/chatroom-form.vue +1 -1
  64. data/lib/vue/{shared → refactor/shared}/workflows2/apps/actions/forms/cloud-object-clone-form.vue +1 -1
  65. data/lib/vue/{shared → refactor/shared}/workflows2/apps/actions/forms/cloud-object-file-form.vue +1 -1
  66. data/lib/vue/{shared → refactor/shared}/workflows2/apps/actions/forms/email-form.vue +1 -1
  67. data/lib/vue/{shared → refactor/shared}/workflows2/apps/actions/forms/notification-form.vue +1 -1
  68. data/lib/vue/{shared → refactor/shared}/workflows2/apps/actions/forms/send-cloud-object-file.vue +1 -1
  69. data/lib/vue/{shared → refactor/shared}/workflows2/apps/actions/forms/task-form.vue +1 -1
  70. data/lib/vue/{shared → refactor/shared}/workflows2/apps/actions/index.vue +1 -1
  71. data/lib/vue/{shared → refactor/shared}/workflows2/apps/checks/form.vue +1 -1
  72. data/lib/vue/{shared → refactor/shared}/workflows2/apps/checks/index.vue +1 -1
  73. data/lib/vue/{shared → refactor/shared}/workflows2/apps/index.vue +1 -1
  74. data/lib/vue/{shared → refactor/shared}/workflows2/apps/new.vue +1 -1
  75. data/lib/vue/{shared → refactor/shared}/workflows2/apps/show.vue +1 -1
  76. data/lib/vue/{shared → refactor/shared}/workflows2/components/associations.vue +1 -1
  77. data/lib/vue/{shared → refactor/shared}/workflows2/components/chart.vue +1 -1
  78. data/lib/vue/{shared → refactor/shared}/workflows2/components/workflow-form.vue +1 -1
  79. data/lib/vue/{shared → refactor/shared}/workflows2/components/workflow-status-dropdown.vue +1 -1
  80. data/lib/vue/refactor/stores/translations.json +60 -0
  81. data/lib/vue/shared/dashboards/apps/edit.vue +1 -1
  82. data/lib/vue/shared/dashboards/apps/index.vue +1 -1
  83. data/lib/vue/shared/dashboards/apps/new.vue +1 -1
  84. data/lib/vue/shared/dashboards/apps/show.vue +4 -2
  85. data/lib/vue/shared/dashboards/components/form.vue +1 -1
  86. data/lib/webpack/base.js +133 -132
  87. data/lib/webpack/core.js +9 -3
  88. data/lib/webpack/engines.js +7 -2
  89. data/lib/webpack/version.js +4 -1
  90. data/readme.md +7 -5
  91. metadata +135 -180
  92. data/app/assets/icons/lesli/cloud-development.svg +0 -1
  93. data/app/assets/icons/lesli/cloud-letter.svg +0 -1
  94. data/app/assets/icons/lesli/icon-module.svg +0 -1
  95. data/app/assets/icons/lesli/logo-android.svg +0 -1
  96. data/app/assets/icons/lesli/logo-bulma.svg +0 -1
  97. data/app/assets/icons/lesli/logo-ios.svg +0 -1
  98. data/app/assets/icons/lesli/logo-linux.svg +0 -1
  99. data/app/assets/icons/lesli/logo-mac.svg +0 -1
  100. data/app/assets/icons/lesli/logo-module.svg +0 -1
  101. data/app/assets/icons/lesli/logo-postgresql.svg +0 -1
  102. data/app/assets/icons/lesli/logo-rails.svg +0 -1
  103. data/app/assets/icons/lesli/logo-ruby.svg +0 -1
  104. data/app/assets/icons/lesli/logo-sass.svg +0 -1
  105. data/app/assets/icons/lesli/logo-vue.svg +0 -1
  106. data/app/assets/icons/lesli/logo-web.svg +0 -1
  107. data/app/assets/icons/lesli/logo-windows.svg +0 -1
  108. data/app/assets/images/lesli/brand/app-logo2.svg +0 -52
  109. data/app/assets/javascripts/lesli/users/confirmations.js +0 -32
  110. data/app/assets/javascripts/lesli/users/passwords.js +0 -742
  111. data/app/assets/javascripts/lesli/users/registrations.js +0 -742
  112. data/lib/assets/javascripts/lesli/translations.js +0 -15
  113. data/lib/sass/lesli/elements/form.scss +0 -43
  114. data/lib/sass/lesli/elements/header.scss +0 -44
  115. data/lib/sass/lesli/elements/panel.scss +0 -65
  116. data/lib/sass/lesli/elements/tab.scss +0 -48
  117. /data/app/assets/fonts/lesli/Domine/{Domine-VariableFont_wght.ttf → Domine-Variable.ttf} +0 -0
  118. /data/app/assets/icons/lesli/{cloud-admin.svg → engine-admin.svg} +0 -0
  119. /data/app/assets/icons/lesli/{cloud-audit.svg → engine-audit.svg} +0 -0
  120. /data/app/assets/icons/lesli/{cloud-babel.svg → engine-babel.svg} +0 -0
  121. /data/app/assets/icons/lesli/{cloud-bell.svg → engine-bell.svg} +0 -0
  122. /data/app/assets/icons/lesli/{cloud-books.svg → engine-books.svg} +0 -0
  123. /data/app/assets/icons/lesli/{cloud-lesli.svg → engine-dashboard.svg} +0 -0
  124. /data/app/assets/icons/lesli/{cloud-dispatcher.svg → engine-dispatcher.svg} +0 -0
  125. /data/app/assets/icons/lesli/{cloud-driver.svg → engine-driver.svg} +0 -0
  126. /data/app/assets/icons/lesli/{cloud-focus.svg → engine-focus.svg} +0 -0
  127. /data/app/assets/icons/lesli/{cloud-guard.svg → engine-guard.svg} +0 -0
  128. /data/app/assets/icons/lesli/{cloud-kb.svg → engine-kb.svg} +0 -0
  129. /data/app/assets/icons/lesli/{cloud-leaf.svg → engine-leaf.svg} +0 -0
  130. /data/app/assets/icons/lesli/{cloud-word.svg → engine-letter.svg} +0 -0
  131. /data/app/assets/icons/lesli/{cloud-mailer.svg → engine-mailer.svg} +0 -0
  132. /data/app/assets/icons/lesli/{cloud-one.svg → engine-one.svg} +0 -0
  133. /data/app/assets/icons/lesli/{cloud-profile.svg → engine-profile.svg} +0 -0
  134. /data/app/assets/icons/lesli/{cloud-proposal.svg → engine-proposal.svg} +0 -0
  135. /data/app/assets/icons/lesli/{cloud-scraper.svg → engine-scraper.svg} +0 -0
  136. /data/app/assets/icons/lesli/{cloud-shared.svg → engine-shared.svg} +0 -0
  137. /data/app/assets/icons/lesli/{cloud-storage.svg → engine-storage.svg} +0 -0
  138. /data/app/assets/icons/lesli/{cloud-support.svg → engine-support.svg} +0 -0
  139. /data/app/assets/icons/lesli/{cloud-talk.svg → engine-talk.svg} +0 -0
  140. /data/app/assets/icons/lesli/{cloud-team.svg → engine-team.svg} +0 -0
  141. /data/app/assets/icons/lesli/{cloud-time.svg → engine-time.svg} +0 -0
  142. /data/lib/{sass/lesli → scss}/cloud-objects/discussion.scss +0 -0
  143. /data/lib/{sass/lesli → scss}/cloud-objects/file.scss +0 -0
  144. /data/lib/{sass/lesli → scss}/components/editor-richtext.scss +0 -0
  145. /data/lib/{sass/lesli → scss}/components/keypad.scss +0 -0
  146. /data/{app/assets/stylesheets/lesli/users → lib/scss/devise}/confirmations.scss +0 -0
  147. /data/{app/assets/stylesheets/lesli/users → lib/scss/devise}/oauth.scss +0 -0
  148. /data/{app/assets/stylesheets/lesli/users → lib/scss/devise}/passwords.scss +0 -0
  149. /data/{app/assets/stylesheets/lesli/users → lib/scss/devise}/registrations.scss +0 -0
  150. /data/lib/{sass/lesli → scss}/elements/autocomplete.scss +0 -0
  151. /data/lib/{sass/lesli → scss}/elements/avatar.scss +0 -0
  152. /data/lib/{sass/lesli → scss}/elements/calendar.scss +0 -0
  153. /data/lib/{sass/lesli → scss}/elements/card.scss +0 -0
  154. /data/lib/{sass/lesli → scss}/elements/empty.scss +0 -0
  155. /data/lib/{sass/lesli → scss}/elements/file-uploader.scss +0 -0
  156. /data/lib/{sass/lesli → scss}/elements/gallery.scss +0 -0
  157. /data/lib/{sass/lesli → scss}/elements/input-tag.scss +0 -0
  158. /data/lib/{sass/lesli → scss}/elements/loading.scss +0 -0
  159. /data/lib/{sass/lesli → scss}/elements/map.scss +0 -0
  160. /data/lib/{sass/lesli → scss}/elements/msg.scss +0 -0
  161. /data/lib/{sass/lesli → scss}/elements/navbar.scss +0 -0
  162. /data/lib/{sass/lesli → scss}/elements/table.scss +0 -0
  163. /data/lib/{sass/lesli → scss}/elements/toggle.scss +0 -0
  164. /data/lib/{sass/lesli → scss}/elements/toolbar.scss +0 -0
  165. /data/lib/{sass/lesli → scss}/helpers/display.scss +0 -0
  166. /data/lib/{sass/lesli → scss}/helpers/tooltip.scss +0 -0
  167. /data/lib/{sass/lesli → scss}/layouts/application-announcements.scss +0 -0
  168. /data/lib/{sass/lesli → scss}/layouts/application-component.scss +0 -0
  169. /data/lib/{sass/lesli → scss}/layouts/application-container.scss +0 -0
  170. /data/lib/{sass/lesli → scss}/layouts/application-engines.scss +0 -0
  171. /data/lib/{sass/lesli → scss}/layouts/application-footer.scss +0 -0
  172. /data/lib/{sass/lesli → scss}/layouts/application-navbar.scss +0 -0
  173. /data/lib/{sass/lesli → scss}/layouts/application-search.scss +0 -0
  174. /data/lib/{sass/lesli → scss}/overrides/sweetalert.scss +0 -0
  175. /data/lib/{sass/lesli → scss}/pages/devise-simple.scss +0 -0
  176. /data/lib/{sass/lesli → scss}/pages/invites.scss +0 -0
  177. /data/lib/{sass/lesli → scss}/panels/panel-announcements.scss +0 -0
  178. /data/lib/{sass/lesli → scss}/panels/panel-notification.scss +0 -0
  179. /data/lib/{sass/lesli → scss}/panels/panel-profile.scss +0 -0
  180. /data/lib/{sass/lesli → scss}/panels/panel-tasks.scss +0 -0
  181. /data/lib/{sass/lesli → scss}/panels/panel-ticket.scss +0 -0
  182. /data/lib/{sass/lesli → scss}/shared/workflow-status-progress.scss +0 -0
  183. /data/lib/{sass/lesli → scss}/templates/empty.scss +0 -0
  184. /data/lib/{sass/lesli → scss}/templates/pdf.scss +0 -0
  185. /data/lib/vue/{stores → refactor/stores}/cloudobjects/action.js +0 -0
  186. /data/lib/vue/{stores → refactor/stores}/cloudobjects/discussion.js +0 -0
  187. /data/lib/vue/{stores → refactor/stores}/cloudobjects/file.js +0 -0
  188. /data/lib/vue/{stores → refactor/stores}/entities/announcements.js +0 -0
  189. /data/lib/vue/{stores → refactor/stores}/entities/dashboard.js +0 -0
  190. /data/lib/vue/{stores → refactor/stores}/entities/workflow.js +0 -0
  191. /data/lib/vue/{stores → refactor/stores}/panels/announcements.js +0 -0
  192. /data/lib/vue/{stores → refactor/stores}/panels/notification.js +0 -0
  193. /data/lib/vue/{stores → refactor/stores}/panels/task.js +0 -0
  194. /data/lib/vue/{stores → refactor/stores}/panels/tickets.js +0 -0
  195. /data/lib/vue/{stores → refactor/stores}/role.js +0 -0
  196. /data/lib/vue/{stores → refactor/stores}/users.js +0 -0
  197. /data/lib/vue/{stores → shared}/services/firebase.js +0 -0
  198. /data/lib/vue/{stores → shared}/services/translator.js +0 -0
  199. /data/lib/vue/{stores → shared/stores}/account.js +0 -0
  200. /data/lib/vue/{stores/search.js → shared/stores/command.js} +0 -0
  201. /data/lib/vue/{stores → shared/stores}/layout.js +0 -0
@@ -1,43 +0,0 @@
1
- /*
2
-
3
- Lesli
4
-
5
- Copyright (c) 2023, Lesli Technologies, S. A.
6
-
7
- This program is free software: you can redistribute it and/or modify
8
- it under the terms of the GNU General Public License as published by
9
- the Free Software Foundation, either version 3 of the License, or
10
- (at your option) any later version.
11
-
12
- This program is distributed in the hope that it will be useful,
13
- but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
- GNU General Public License for more details.
16
-
17
- You should have received a copy of the GNU General Public License
18
- along with this program. If not, see http://www.gnu.org/licenses/.
19
-
20
- Lesli · Ruby on Rails SaaS development platform.
21
-
22
- Made with ♥ by https://www.lesli.tech
23
- Building a better future, one line of code at a time.
24
-
25
- @contact hello@lesli.tech
26
- @website https://www.lesli.tech
27
- @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
28
-
29
- // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
30
- // ·
31
-
32
- */
33
-
34
- // ·
35
- .lesli-form {
36
- fieldset {
37
- padding: 1rem;
38
- border-radius: 5px;
39
- //border: 1px solid #ccc;
40
- background-color: #fff;
41
- box-shadow: rgba(0, 0, 0, 0.16) 0px 1px 4px;
42
- }
43
- }
@@ -1,44 +0,0 @@
1
- /*
2
-
3
- Lesli
4
-
5
- Copyright (c) 2023, Lesli Technologies, S. A.
6
-
7
- This program is free software: you can redistribute it and/or modify
8
- it under the terms of the GNU General Public License as published by
9
- the Free Software Foundation, either version 3 of the License, or
10
- (at your option) any later version.
11
-
12
- This program is distributed in the hope that it will be useful,
13
- but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
- GNU General Public License for more details.
16
-
17
- You should have received a copy of the GNU General Public License
18
- along with this program. If not, see http://www.gnu.org/licenses/.
19
-
20
- Lesli · Ruby on Rails SaaS development platform.
21
-
22
- Made with ♥ by https://www.lesli.tech
23
- Building a better future, one line of code at a time.
24
-
25
- @contact hello@lesli.tech
26
- @website https://www.lesli.tech
27
- @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
28
-
29
- // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
30
- // ·
31
-
32
- */
33
-
34
-
35
- // ·
36
- .lesli-element-header {
37
- margin: 30px auto 30px;
38
-
39
- .lesli-element-header-items {
40
- display: flex;
41
- gap: 0.5rem;
42
- align-items: center;
43
- }
44
- }
@@ -1,65 +0,0 @@
1
- /*
2
-
3
- Lesli
4
-
5
- Copyright (c) 2023, Lesli Technologies, S. A.
6
-
7
- This program is free software: you can redistribute it and/or modify
8
- it under the terms of the GNU General Public License as published by
9
- the Free Software Foundation, either version 3 of the License, or
10
- (at your option) any later version.
11
-
12
- This program is distributed in the hope that it will be useful,
13
- but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
- GNU General Public License for more details.
16
-
17
- You should have received a copy of the GNU General Public License
18
- along with this program. If not, see http://www.gnu.org/licenses/.
19
-
20
- Lesli · Ruby on Rails SaaS development platform.
21
-
22
- Made with ♥ by https://www.lesli.tech
23
- Building a better future, one line of code at a time.
24
-
25
- @contact hello@lesli.tech
26
- @website https://www.lesli.tech
27
- @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
28
-
29
- // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
30
- // ·
31
-
32
- */
33
-
34
- section.lesli-panel {
35
-
36
- div.lesli-panel-background {
37
- position: fixed;
38
- z-index: 38;
39
- height: 100%;
40
- width: 100%;
41
- top: 0;
42
- left: 0;
43
- &.overlay {
44
- background: rgba(230, 230, 230, .4);
45
- }
46
- }
47
-
48
- div.lesli-panel-content {
49
- @include lesli-css-scrollbar(hide);
50
- background-color: white;
51
- position: fixed;
52
- z-index: 40;
53
- right: 0;
54
- top: 0;
55
- width: 540px;
56
- height: 100%;
57
- overflow-y: scroll;
58
-
59
- .lesli-panel-header {
60
- padding: 1rem 1rem .6rem;
61
- border-bottom: 1px solid lesli-css-color(slate);
62
- }
63
-
64
- }
65
- }
@@ -1,48 +0,0 @@
1
- /*
2
-
3
- Lesli
4
-
5
- Copyright (c) 2023, Lesli Technologies, S. A.
6
-
7
- This program is free software: you can redistribute it and/or modify
8
- it under the terms of the GNU General Public License as published by
9
- the Free Software Foundation, either version 3 of the License, or
10
- (at your option) any later version.
11
-
12
- This program is distributed in the hope that it will be useful,
13
- but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
- GNU General Public License for more details.
16
-
17
- You should have received a copy of the GNU General Public License
18
- along with this program. If not, see http://www.gnu.org/licenses/.
19
-
20
- Lesli · Ruby on Rails SaaS development platform.
21
-
22
- Made with ♥ by https://www.lesli.tech
23
- Building a better future, one line of code at a time.
24
-
25
- @contact hello@lesli.tech
26
- @website https://www.lesli.tech
27
- @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
28
-
29
- // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
30
- // ·
31
-
32
- */
33
-
34
-
35
- // ·
36
- div.lesli-tab {
37
- div.tabs {
38
- margin-bottom: 0;
39
- li.is-active {
40
- font-weight: 600;
41
- }
42
- }
43
- div.tab-items {
44
- background-color: white;
45
- box-shadow: $lesli-box-shadow;
46
- border-radius:0 0 5px 5px;
47
- }
48
- }
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