decidim 0.6.8 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


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

Files changed (2233) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +456 -51
  3. data/.codeclimate.yml +3 -11
  4. data/.decidim-version +1 -0
  5. data/.rubocop.yml +15 -6
  6. data/.ruby-version +1 -1
  7. data/CHANGELOG.md +53 -3
  8. data/Dockerfile +31 -3
  9. data/Gemfile +3 -4
  10. data/Gemfile.lock +106 -112
  11. data/README.md +10 -7
  12. data/Rakefile +47 -13
  13. data/codecov.yml +81 -1
  14. data/config/i18n-tasks.yml +3 -0
  15. data/decidim.gemspec +37 -31
  16. data/docs/geocoding.md +1 -0
  17. data/docs/getting_started.md +1 -1
  18. data/docs/how_to_create_a_plugin.md +7 -4
  19. data/lib/decidim.rb +2 -1
  20. data/lib/decidim/version.rb +8 -0
  21. data/lib/generators/decidim/app_generator.rb +19 -4
  22. data/lib/generators/decidim/docker_generator.rb +4 -5
  23. data/lib/generators/decidim/install_generator.rb +2 -3
  24. data/{decidim-dev/lib/decidim/dev → lib/generators/decidim/templates/decidim}/dummy_authorization_handler.rb +0 -0
  25. data/lib/generators/decidim/templates/{authorization_handler.rb → example_authorization_handler.rb} +1 -1
  26. data/lib/generators/decidim/templates/initializer.rb +15 -1
  27. data/lib/generators/decidim/templates/secrets.yml.erb +3 -0
  28. data/package-lock.json +2864 -1517
  29. data/package.json +39 -31
  30. data/tsconfig.json +2 -1
  31. metadata +33 -2233
  32. data/decidim-admin/README.md +0 -46
  33. data/decidim-admin/Rakefile +0 -3
  34. data/decidim-admin/app/assets/config/decidim_admin_manifest.js +0 -2
  35. data/decidim-admin/app/assets/images/decidim/admin/.keep +0 -0
  36. data/decidim-admin/app/assets/javascripts/decidim/admin/application.js.es6 +0 -46
  37. data/decidim-admin/app/assets/javascripts/decidim/admin/scopes.js.es6 +0 -20
  38. data/decidim-admin/app/assets/javascripts/decidim/admin/select2.js.es6 +0 -8
  39. data/decidim-admin/app/assets/javascripts/decidim/admin/sort_list.component.js.es6 +0 -35
  40. data/decidim-admin/app/assets/javascripts/decidim/admin/tab_focus.js.es6 +0 -22
  41. data/decidim-admin/app/assets/javascripts/decidim/admin/toggle_nav.js.es6 +0 -17
  42. data/decidim-admin/app/assets/stylesheets/decidim/admin/_decidim.scss +0 -17
  43. data/decidim-admin/app/assets/stylesheets/decidim/admin/_variables.scss +0 -9
  44. data/decidim-admin/app/assets/stylesheets/decidim/admin/application.scss.erb +0 -6
  45. data/decidim-admin/app/assets/stylesheets/decidim/admin/extra/_action-icon.scss +0 -8
  46. data/decidim-admin/app/assets/stylesheets/decidim/admin/extra/_cards.scss +0 -12
  47. data/decidim-admin/app/assets/stylesheets/decidim/admin/extra/_categories.scss +0 -5
  48. data/decidim-admin/app/assets/stylesheets/decidim/admin/extra/_dropdown_inverted.scss +0 -38
  49. data/decidim-admin/app/assets/stylesheets/decidim/admin/extra/_editor.scss +0 -1
  50. data/decidim-admin/app/assets/stylesheets/decidim/admin/extra/_email_preview.scss +0 -5
  51. data/decidim-admin/app/assets/stylesheets/decidim/admin/extra/_label-required.scss +0 -3
  52. data/decidim-admin/app/assets/stylesheets/decidim/admin/extra/_login.scss +0 -36
  53. data/decidim-admin/app/assets/stylesheets/decidim/admin/extra/_quill.scss +0 -5
  54. data/decidim-admin/app/assets/stylesheets/decidim/admin/extra/_select_multiple.scss +0 -3
  55. data/decidim-admin/app/assets/stylesheets/decidim/admin/extra/_sort.scss +0 -12
  56. data/decidim-admin/app/assets/stylesheets/decidim/admin/extra/_title_bar.scss +0 -61
  57. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_action-icon.scss +0 -36
  58. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_buttons.scss +0 -47
  59. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_callouts.scss +0 -31
  60. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_cards.scss +0 -76
  61. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_char-counter.scss +0 -20
  62. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_component-counter.scss +0 -17
  63. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_forms.scss +0 -80
  64. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_icons.scss +0 -67
  65. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_layout.scss +0 -67
  66. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_main-nav.scss +0 -41
  67. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_modules.scss +0 -24
  68. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_process-header.scss +0 -11
  69. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_secondary-nav.scss +0 -95
  70. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_table-list.scss +0 -78
  71. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_tabs.scss +0 -49
  72. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_title-bar.scss +0 -32
  73. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_typography.scss +0 -19
  74. data/decidim-admin/app/assets/stylesheets/decidim/admin/modules/_user-login.scss +0 -23
  75. data/decidim-admin/app/assets/stylesheets/decidim/admin/plugins/_foundation-datepicker.scss +0 -224
  76. data/decidim-admin/app/assets/stylesheets/decidim/admin/plugins/_select2.scss +0 -27
  77. data/decidim-admin/app/assets/stylesheets/decidim/admin/utils/_fontface.scss +0 -27
  78. data/decidim-admin/app/assets/stylesheets/decidim/admin/utils/_helpers.scss +0 -25
  79. data/decidim-admin/app/assets/stylesheets/decidim/admin/utils/_keyframes.scss +0 -21
  80. data/decidim-admin/app/assets/stylesheets/decidim/admin/utils/_mixins.scss +0 -20
  81. data/decidim-admin/app/assets/stylesheets/decidim/admin/utils/_settings.scss +0 -590
  82. data/decidim-admin/app/assets/stylesheets/decidim/admin/utils/_toggle-expand.scss +0 -8
  83. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/_constants.scss +0 -5
  84. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/_math.scss +0 -45
  85. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/functions/_acos.scss +0 -12
  86. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/functions/_asin.scss +0 -12
  87. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/functions/_atan.scss +0 -28
  88. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/functions/_atan2.scss +0 -37
  89. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/functions/_cos.scss +0 -13
  90. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/functions/_cot.scss +0 -9
  91. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/functions/_csc.scss +0 -9
  92. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/functions/_exp.scss +0 -12
  93. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/functions/_fact.scss +0 -18
  94. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/functions/_frexp.scss +0 -21
  95. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/functions/_ldexp.scss +0 -17
  96. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/functions/_log.scss +0 -34
  97. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/functions/_pow.scss +0 -28
  98. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/functions/_sec.scss +0 -9
  99. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/functions/_sin.scss +0 -9
  100. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/functions/_sqrt.scss +0 -16
  101. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/functions/_tan.scss +0 -9
  102. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/helpers/_deg-to-rad.scss +0 -4
  103. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/helpers/_rad-to-deg.scss +0 -4
  104. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/helpers/_strip-unit.scss +0 -8
  105. data/decidim-admin/app/assets/stylesheets/decidim/admin/vendor/mathsass/helpers/_unitless-rad.scss +0 -13
  106. data/decidim-admin/app/commands/decidim/admin/close_session_managed_user.rb +0 -44
  107. data/decidim-admin/app/commands/decidim/admin/create_attachment.rb +0 -53
  108. data/decidim-admin/app/commands/decidim/admin/create_category.rb +0 -45
  109. data/decidim-admin/app/commands/decidim/admin/create_feature.rb +0 -52
  110. data/decidim-admin/app/commands/decidim/admin/create_managed_user.rb +0 -59
  111. data/decidim-admin/app/commands/decidim/admin/create_newsletter.rb +0 -31
  112. data/decidim-admin/app/commands/decidim/admin/create_scope.rb +0 -44
  113. data/decidim-admin/app/commands/decidim/admin/create_scope_type.rb +0 -40
  114. data/decidim-admin/app/commands/decidim/admin/create_static_page.rb +0 -41
  115. data/decidim-admin/app/commands/decidim/admin/deliver_newsletter.rb +0 -30
  116. data/decidim-admin/app/commands/decidim/admin/destroy_category.rb +0 -37
  117. data/decidim-admin/app/commands/decidim/admin/destroy_feature.rb +0 -45
  118. data/decidim-admin/app/commands/decidim/admin/hide_resource.rb +0 -38
  119. data/decidim-admin/app/commands/decidim/admin/impersonate_managed_user.rb +0 -61
  120. data/decidim-admin/app/commands/decidim/admin/promote_managed_user.rb +0 -56
  121. data/decidim-admin/app/commands/decidim/admin/reject_user_group.rb +0 -33
  122. data/decidim-admin/app/commands/decidim/admin/unreport_resource.rb +0 -34
  123. data/decidim-admin/app/commands/decidim/admin/update_attachment.rb +0 -51
  124. data/decidim-admin/app/commands/decidim/admin/update_category.rb +0 -49
  125. data/decidim-admin/app/commands/decidim/admin/update_feature.rb +0 -50
  126. data/decidim-admin/app/commands/decidim/admin/update_feature_permissions.rb +0 -47
  127. data/decidim-admin/app/commands/decidim/admin/update_newsletter.rb +0 -34
  128. data/decidim-admin/app/commands/decidim/admin/update_organization.rb +0 -74
  129. data/decidim-admin/app/commands/decidim/admin/update_scope.rb +0 -47
  130. data/decidim-admin/app/commands/decidim/admin/update_scope_type.rb +0 -45
  131. data/decidim-admin/app/commands/decidim/admin/update_static_page.rb +0 -46
  132. data/decidim-admin/app/commands/decidim/admin/update_user_groups.rb +0 -44
  133. data/decidim-admin/app/commands/decidim/admin/verify_user_group.rb +0 -32
  134. data/decidim-admin/app/constraints/decidim/admin/organization_dashboard_constraint.rb +0 -41
  135. data/decidim-admin/app/controllers/decidim/admin/application_controller.rb +0 -39
  136. data/decidim-admin/app/controllers/decidim/admin/categories_controller.rb +0 -89
  137. data/decidim-admin/app/controllers/decidim/admin/concerns/has_attachments.rb +0 -126
  138. data/decidim-admin/app/controllers/decidim/admin/dashboard_controller.rb +0 -11
  139. data/decidim-admin/app/controllers/decidim/admin/exports_controller.rb +0 -31
  140. data/decidim-admin/app/controllers/decidim/admin/feature_permissions_controller.rb +0 -57
  141. data/decidim-admin/app/controllers/decidim/admin/features/base_controller.rb +0 -45
  142. data/decidim-admin/app/controllers/decidim/admin/features_controller.rb +0 -126
  143. data/decidim-admin/app/controllers/decidim/admin/managed_users/impersonations_controller.rb +0 -78
  144. data/decidim-admin/app/controllers/decidim/admin/managed_users/promotions_controller.rb +0 -43
  145. data/decidim-admin/app/controllers/decidim/admin/managed_users_controller.rb +0 -69
  146. data/decidim-admin/app/controllers/decidim/admin/moderations_controller.rb +0 -66
  147. data/decidim-admin/app/controllers/decidim/admin/newsletters_controller.rb +0 -115
  148. data/decidim-admin/app/controllers/decidim/admin/organization_controller.rb +0 -47
  149. data/decidim-admin/app/controllers/decidim/admin/scope_types_controller.rb +0 -79
  150. data/decidim-admin/app/controllers/decidim/admin/scopes_controller.rb +0 -97
  151. data/decidim-admin/app/controllers/decidim/admin/static_pages_controller.rb +0 -95
  152. data/decidim-admin/app/controllers/decidim/admin/user_groups_controller.rb +0 -62
  153. data/decidim-admin/app/controllers/decidim/admin/users_controller.rb +0 -85
  154. data/decidim-admin/app/forms/decidim/admin/attachment_form.rb +0 -20
  155. data/decidim-admin/app/forms/decidim/admin/category_form.rb +0 -32
  156. data/decidim-admin/app/forms/decidim/admin/feature_form.rb +0 -33
  157. data/decidim-admin/app/forms/decidim/admin/impersonate_managed_user_form.rb +0 -20
  158. data/decidim-admin/app/forms/decidim/admin/managed_user_form.rb +0 -35
  159. data/decidim-admin/app/forms/decidim/admin/managed_user_promotion_form.rb +0 -13
  160. data/decidim-admin/app/forms/decidim/admin/newsletter_form.rb +0 -16
  161. data/decidim-admin/app/forms/decidim/admin/organization_form.rb +0 -56
  162. data/decidim-admin/app/forms/decidim/admin/permission_form.rb +0 -32
  163. data/decidim-admin/app/forms/decidim/admin/permissions_form.rb +0 -17
  164. data/decidim-admin/app/forms/decidim/admin/scope_form.rb +0 -36
  165. data/decidim-admin/app/forms/decidim/admin/scope_type_form.rb +0 -21
  166. data/decidim-admin/app/forms/decidim/admin/static_page_form.rb +0 -36
  167. data/decidim-admin/app/helpers/decidim/admin/application_helper.rb +0 -26
  168. data/decidim-admin/app/helpers/decidim/admin/attributes_display_helper.rb +0 -71
  169. data/decidim-admin/app/helpers/decidim/admin/exports_helper.rb +0 -28
  170. data/decidim-admin/app/helpers/decidim/admin/icon_link_helper.rb +0 -31
  171. data/decidim-admin/app/helpers/decidim/admin/menu_helper.rb +0 -17
  172. data/decidim-admin/app/helpers/decidim/admin/scopes_helper.rb +0 -46
  173. data/decidim-admin/app/helpers/decidim/admin/settings_helper.rb +0 -41
  174. data/decidim-admin/app/jobs/decidim/admin/application_job.rb +0 -10
  175. data/decidim-admin/app/jobs/decidim/admin/expire_impersonation_job.rb +0 -16
  176. data/decidim-admin/app/jobs/decidim/admin/newsletter_delivery_job.rb +0 -19
  177. data/decidim-admin/app/jobs/decidim/admin/newsletter_job.rb +0 -37
  178. data/decidim-admin/app/mailers/decidim/admin/application_mailer.rb +0 -12
  179. data/decidim-admin/app/models/decidim/admin/abilities/admin_ability.rb +0 -58
  180. data/decidim-admin/app/models/decidim/admin/abilities/base_ability.rb +0 -21
  181. data/decidim-admin/app/models/decidim/admin/abilities/participatory_process_admin_ability.rb +0 -54
  182. data/decidim-admin/app/models/decidim/admin/abilities/participatory_process_collaborator_ability.rb +0 -19
  183. data/decidim-admin/app/models/decidim/admin/abilities/participatory_process_moderator_ability.rb +0 -23
  184. data/decidim-admin/app/models/decidim/admin/abilities/user_manager_ability.rb +0 -33
  185. data/decidim-admin/app/models/decidim/admin/application_record.rb +0 -11
  186. data/decidim-admin/app/queries/decidim/admin/user_groups_evaluation.rb +0 -54
  187. data/decidim-admin/app/views/decidim/admin/attachments/_form.html.erb +0 -21
  188. data/decidim-admin/app/views/decidim/admin/attachments/edit.html.erb +0 -7
  189. data/decidim-admin/app/views/decidim/admin/attachments/index.html.erb +0 -47
  190. data/decidim-admin/app/views/decidim/admin/attachments/new.html.erb +0 -7
  191. data/decidim-admin/app/views/decidim/admin/attachments/show.html.erb +0 -25
  192. data/decidim-admin/app/views/decidim/admin/categories/_form.html.erb +0 -20
  193. data/decidim-admin/app/views/decidim/admin/categories/edit.html.erb +0 -7
  194. data/decidim-admin/app/views/decidim/admin/categories/index.html.erb +0 -65
  195. data/decidim-admin/app/views/decidim/admin/categories/new.html.erb +0 -7
  196. data/decidim-admin/app/views/decidim/admin/categories/show.html.erb +0 -14
  197. data/decidim-admin/app/views/decidim/admin/dashboard/show.html.erb +0 -6
  198. data/decidim-admin/app/views/decidim/admin/devise/mailers/password_change.html.erb +0 -3
  199. data/decidim-admin/app/views/decidim/admin/devise/mailers/reset_password_instructions.html.erb +0 -8
  200. data/decidim-admin/app/views/decidim/admin/exports/_dropdown.html.erb +0 -10
  201. data/decidim-admin/app/views/decidim/admin/feature_permissions/edit.html.erb +0 -27
  202. data/decidim-admin/app/views/decidim/admin/features/_feature.html.erb +0 -37
  203. data/decidim-admin/app/views/decidim/admin/features/_form.html.erb +0 -82
  204. data/decidim-admin/app/views/decidim/admin/features/_settings_fields.html.erb +0 -9
  205. data/decidim-admin/app/views/decidim/admin/features/edit.html.erb +0 -7
  206. data/decidim-admin/app/views/decidim/admin/features/index.html.erb +0 -31
  207. data/decidim-admin/app/views/decidim/admin/features/new.html.erb +0 -8
  208. data/decidim-admin/app/views/decidim/admin/managed_users/_form.html.erb +0 -12
  209. data/decidim-admin/app/views/decidim/admin/managed_users/impersonations/_form.html.erb +0 -10
  210. data/decidim-admin/app/views/decidim/admin/managed_users/impersonations/index.html.erb +0 -34
  211. data/decidim-admin/app/views/decidim/admin/managed_users/impersonations/new.html.erb +0 -15
  212. data/decidim-admin/app/views/decidim/admin/managed_users/index.html.erb +0 -44
  213. data/decidim-admin/app/views/decidim/admin/managed_users/new.html.erb +0 -47
  214. data/decidim-admin/app/views/decidim/admin/managed_users/promotions/_form.html.erb +0 -3
  215. data/decidim-admin/app/views/decidim/admin/managed_users/promotions/new.html.erb +0 -21
  216. data/decidim-admin/app/views/decidim/admin/moderations/_report.html.erb +0 -11
  217. data/decidim-admin/app/views/decidim/admin/moderations/index.html.erb +0 -77
  218. data/decidim-admin/app/views/decidim/admin/newsletters/_form.html.erb +0 -11
  219. data/decidim-admin/app/views/decidim/admin/newsletters/edit.html.erb +0 -13
  220. data/decidim-admin/app/views/decidim/admin/newsletters/index.html.erb +0 -54
  221. data/decidim-admin/app/views/decidim/admin/newsletters/new.html.erb +0 -13
  222. data/decidim-admin/app/views/decidim/admin/newsletters/show.html.erb +0 -22
  223. data/decidim-admin/app/views/decidim/admin/organization/_form.html.erb +0 -84
  224. data/decidim-admin/app/views/decidim/admin/organization/edit.html.erb +0 -14
  225. data/decidim-admin/app/views/decidim/admin/scope_types/_form.html.erb +0 -7
  226. data/decidim-admin/app/views/decidim/admin/scope_types/edit.html.erb +0 -13
  227. data/decidim-admin/app/views/decidim/admin/scope_types/index.html.erb +0 -40
  228. data/decidim-admin/app/views/decidim/admin/scope_types/new.html.erb +0 -13
  229. data/decidim-admin/app/views/decidim/admin/scopes/_form.html.erb +0 -13
  230. data/decidim-admin/app/views/decidim/admin/scopes/edit.html.erb +0 -13
  231. data/decidim-admin/app/views/decidim/admin/scopes/index.html.erb +0 -51
  232. data/decidim-admin/app/views/decidim/admin/scopes/new.html.erb +0 -13
  233. data/decidim-admin/app/views/decidim/admin/static_pages/_form.html.erb +0 -13
  234. data/decidim-admin/app/views/decidim/admin/static_pages/edit.html.erb +0 -13
  235. data/decidim-admin/app/views/decidim/admin/static_pages/index.html.erb +0 -41
  236. data/decidim-admin/app/views/decidim/admin/static_pages/new.html.erb +0 -13
  237. data/decidim-admin/app/views/decidim/admin/static_pages/show.html.erb +0 -22
  238. data/decidim-admin/app/views/decidim/admin/user_groups/index.html.erb +0 -100
  239. data/decidim-admin/app/views/decidim/admin/users/_form.html.erb +0 -11
  240. data/decidim-admin/app/views/decidim/admin/users/index.html.erb +0 -61
  241. data/decidim-admin/app/views/decidim/admin/users/new.html.erb +0 -14
  242. data/decidim-admin/app/views/layouts/decidim/admin/_application.html.erb +0 -28
  243. data/decidim-admin/app/views/layouts/decidim/admin/_callouts_full.html.erb +0 -10
  244. data/decidim-admin/app/views/layouts/decidim/admin/_header.html.erb +0 -5
  245. data/decidim-admin/app/views/layouts/decidim/admin/_template_bottom.html.erb +0 -2
  246. data/decidim-admin/app/views/layouts/decidim/admin/_template_top.html.erb +0 -3
  247. data/decidim-admin/app/views/layouts/decidim/admin/_title_bar.html.erb +0 -37
  248. data/decidim-admin/app/views/layouts/decidim/admin/application.html.erb +0 -3
  249. data/decidim-admin/app/views/layouts/decidim/admin/login.html.erb +0 -19
  250. data/decidim-admin/app/views/layouts/decidim/admin/newsletters.erb +0 -14
  251. data/decidim-admin/app/views/layouts/decidim/admin/pages.html.erb +0 -14
  252. data/decidim-admin/app/views/layouts/decidim/admin/settings.html.erb +0 -22
  253. data/decidim-admin/app/views/layouts/decidim/admin/users.html.erb +0 -26
  254. data/decidim-admin/bin/rails +0 -15
  255. data/decidim-admin/config/locales/ca.yml +0 -452
  256. data/decidim-admin/config/locales/en.yml +0 -452
  257. data/decidim-admin/config/locales/es.yml +0 -452
  258. data/decidim-admin/config/locales/eu.yml +0 -451
  259. data/decidim-admin/config/locales/fi.yml +0 -451
  260. data/decidim-admin/config/locales/fr.yml +0 -451
  261. data/decidim-admin/config/locales/it.yml +0 -451
  262. data/decidim-admin/config/locales/nl.yml +0 -451
  263. data/decidim-admin/config/locales/pl.yml +0 -451
  264. data/decidim-admin/config/locales/uk.yml +0 -451
  265. data/decidim-admin/config/routes.rb +0 -48
  266. data/decidim-admin/db/migrate/20161102144648_add_admin_participatory_process_user_roles.rb +0 -17
  267. data/decidim-admin/db/migrate/20170128112958_change_user_groups_verified_to_timestamp.rb +0 -11
  268. data/decidim-admin/db/migrate/20170714083651_rename_participatory_process_user_roles_table.rb +0 -7
  269. data/decidim-admin/decidim-admin.gemspec +0 -31
  270. data/decidim-admin/lib/decidim/admin.rb +0 -14
  271. data/decidim-admin/lib/decidim/admin/engine.rb +0 -84
  272. data/decidim-admin/lib/decidim/admin/features.rb +0 -11
  273. data/decidim-admin/lib/decidim/admin/test/commands/create_category_examples.rb +0 -62
  274. data/decidim-admin/lib/decidim/admin/test/commands/destroy_category_examples.rb +0 -46
  275. data/decidim-admin/lib/decidim/admin/test/commands/update_category_examples.rb +0 -65
  276. data/decidim-admin/lib/decidim/admin/test/forms/category_form_examples.rb +0 -90
  277. data/decidim-admin/lib/decidim/admin/test/manage_attachments_examples.rb +0 -101
  278. data/decidim-admin/lib/decidim/admin/test/manage_feature_permissions_examples.rb +0 -41
  279. data/decidim-admin/spec/commands/close_session_managed_user_spec.rb +0 -33
  280. data/decidim-admin/spec/commands/create_feature_spec.rb +0 -88
  281. data/decidim-admin/spec/commands/create_managed_user_spec.rb +0 -68
  282. data/decidim-admin/spec/commands/create_newsletter_spec.rb +0 -63
  283. data/decidim-admin/spec/commands/create_scope_spec.rb +0 -59
  284. data/decidim-admin/spec/commands/create_scope_type_spec.rb +0 -39
  285. data/decidim-admin/spec/commands/create_static_page_spec.rb +0 -43
  286. data/decidim-admin/spec/commands/deliver_newsletter_spec.rb +0 -49
  287. data/decidim-admin/spec/commands/destroy_feature_spec.rb +0 -33
  288. data/decidim-admin/spec/commands/hide_resource_spec.rb +0 -42
  289. data/decidim-admin/spec/commands/impersonate_managed_user_spec.rb +0 -75
  290. data/decidim-admin/spec/commands/promote_managed_user_spec.rb +0 -66
  291. data/decidim-admin/spec/commands/reject_user_group_spec.rb +0 -61
  292. data/decidim-admin/spec/commands/unreport_resource_spec.rb +0 -43
  293. data/decidim-admin/spec/commands/update_feature_spec.rb +0 -90
  294. data/decidim-admin/spec/commands/update_newsletter_spec.rb +0 -65
  295. data/decidim-admin/spec/commands/update_organization_spec.rb +0 -105
  296. data/decidim-admin/spec/commands/update_scope_spec.rb +0 -50
  297. data/decidim-admin/spec/commands/update_scope_type_spec.rb +0 -44
  298. data/decidim-admin/spec/commands/update_static_page_spec.rb +0 -52
  299. data/decidim-admin/spec/commands/verify_user_group_spec.rb +0 -61
  300. data/decidim-admin/spec/controllers/static_pages_controller_spec.rb +0 -53
  301. data/decidim-admin/spec/factories.rb +0 -4
  302. data/decidim-admin/spec/features/admin_invite_spec.rb +0 -50
  303. data/decidim-admin/spec/features/admin_manages_managed_users_spec.rb +0 -15
  304. data/decidim-admin/spec/features/admin_manages_newsletters_spec.rb +0 -148
  305. data/decidim-admin/spec/features/admin_manages_organization_admins_spec.rb +0 -98
  306. data/decidim-admin/spec/features/admin_manages_organization_scopes_spec.rb +0 -116
  307. data/decidim-admin/spec/features/admin_manages_organization_spec.rb +0 -47
  308. data/decidim-admin/spec/features/static_pages_spec.rb +0 -135
  309. data/decidim-admin/spec/features/user_manager_managed_users_spec.rb +0 -14
  310. data/decidim-admin/spec/forms/impersonate_managed_user_form_spec.rb +0 -33
  311. data/decidim-admin/spec/forms/managed_user_form_spec.rb +0 -53
  312. data/decidim-admin/spec/forms/managed_user_promotion_form_spec.rb +0 -30
  313. data/decidim-admin/spec/forms/newsletter_form_spec.rb +0 -47
  314. data/decidim-admin/spec/forms/organization_form_spec.rb +0 -96
  315. data/decidim-admin/spec/forms/scope_form_spec.rb +0 -65
  316. data/decidim-admin/spec/forms/static_page_form_spec.rb +0 -104
  317. data/decidim-admin/spec/helpers/aria_selected_link_to_helper_spec.rb +0 -48
  318. data/decidim-admin/spec/helpers/exports_helper_spec.rb +0 -27
  319. data/decidim-admin/spec/helpers/menu_helper_spec.rb +0 -40
  320. data/decidim-admin/spec/helpers/settings_helper_spec.rb +0 -58
  321. data/decidim-admin/spec/jobs/expire_impersonation_job_spec.rb +0 -29
  322. data/decidim-admin/spec/jobs/export_job_spec.rb +0 -57
  323. data/decidim-admin/spec/jobs/newsletter_delivery_job_spec.rb +0 -26
  324. data/decidim-admin/spec/jobs/newsletter_job_spec.rb +0 -35
  325. data/decidim-admin/spec/models/abilities/admin_ability_spec.rb +0 -86
  326. data/decidim-admin/spec/models/abilities/participatory_process_admin_ability_spec.rb +0 -49
  327. data/decidim-admin/spec/models/abilities/participatory_process_collaborator_ability_spec.rb +0 -18
  328. data/decidim-admin/spec/models/abilities/user_manager_ability_spec.rb +0 -67
  329. data/decidim-admin/spec/organization_dashboard_constraint_spec.rb +0 -56
  330. data/decidim-admin/spec/queries/user_group_evaluation_spec.rb +0 -94
  331. data/decidim-admin/spec/shared/manage_managed_users_examples.rb +0 -173
  332. data/decidim-admin/spec/spec_helper.rb +0 -9
  333. data/decidim-admin/spec/views/decidim/static_pages/_form.html.erb_spec.rb +0 -37
  334. data/decidim-admin/vendor/assets/javascripts/html.sortable.js +0 -691
  335. data/decidim-admin/vendor/assets/javascripts/moment.min.js +0 -7
  336. data/decidim-api/README.md +0 -29
  337. data/decidim-api/Rakefile +0 -3
  338. data/decidim-api/app/assets/config/decidim_api_manifest.js +0 -1
  339. data/decidim-api/app/assets/javascripts/decidim/api/docs.js.es6 +0 -25
  340. data/decidim-api/app/controllers/decidim/api/application_controller.rb +0 -19
  341. data/decidim-api/app/controllers/decidim/api/documentation_controller.rb +0 -13
  342. data/decidim-api/app/controllers/decidim/api/queries_controller.rb +0 -37
  343. data/decidim-api/app/views/decidim/api/documentation/show.html.erb +0 -10
  344. data/decidim-api/app/views/layouts/decidim/api/documentation.html.erb +0 -9
  345. data/decidim-api/bin/rails +0 -15
  346. data/decidim-api/config/routes.rb +0 -8
  347. data/decidim-api/decidim-api.gemspec +0 -28
  348. data/decidim-api/lib/decidim/api.rb +0 -13
  349. data/decidim-api/lib/decidim/api/engine.rb +0 -37
  350. data/decidim-api/lib/decidim/api/graphiql-initial-query.txt +0 -11
  351. data/decidim-api/lib/decidim/api/mutation_type.rb +0 -11
  352. data/decidim-api/lib/decidim/api/query_type.rb +0 -11
  353. data/decidim-api/lib/decidim/api/schema.rb +0 -16
  354. data/decidim-api/lib/decidim/api/test/type_context.rb +0 -43
  355. data/decidim-api/spec/controllers/queries_controller_spec.rb +0 -25
  356. data/decidim-api/spec/factories.rb +0 -5
  357. data/decidim-api/spec/features/documentation_spec.rb +0 -23
  358. data/decidim-api/spec/features/graphiql_spec.rb +0 -23
  359. data/decidim-api/spec/spec_helper.rb +0 -9
  360. data/decidim-api/spec/types/query_type_spec.rb +0 -26
  361. data/decidim-api/vendor/assets/javascripts/decidim/api/graphql-docs.js +0 -3518
  362. data/decidim-api/vendor/assets/javascripts/decidim/api/react-dom.js +0 -42
  363. data/decidim-api/vendor/assets/javascripts/decidim/api/react.js +0 -20595
  364. data/decidim-assemblies/.gitignore +0 -3
  365. data/decidim-assemblies/README.md +0 -34
  366. data/decidim-assemblies/Rakefile +0 -3
  367. data/decidim-assemblies/app/assets/config/admin/decidim_assemblies_manifest.js +0 -1
  368. data/decidim-assemblies/app/assets/config/decidim_assemblies_manifest.js +0 -1
  369. data/decidim-assemblies/app/assets/images/decidim/assemblies/assembly.svg +0 -6
  370. data/decidim-assemblies/app/assets/javascripts/decidim/assemblies/admin/assemblies.js.es6 +0 -12
  371. data/decidim-assemblies/app/commands/decidim/assemblies/admin/copy_assembly.rb +0 -88
  372. data/decidim-assemblies/app/commands/decidim/assemblies/admin/create_assembly.rb +0 -68
  373. data/decidim-assemblies/app/commands/decidim/assemblies/admin/publish_assembly.rb +0 -34
  374. data/decidim-assemblies/app/commands/decidim/assemblies/admin/unpublish_assembly.rb +0 -34
  375. data/decidim-assemblies/app/commands/decidim/assemblies/admin/update_assembly.rb +0 -73
  376. data/decidim-assemblies/app/constraints/decidim/assemblies/current_assembly.rb +0 -37
  377. data/decidim-assemblies/app/constraints/decidim/assemblies/current_feature.rb +0 -28
  378. data/decidim-assemblies/app/controllers/concerns/decidim/assemblies/admin/assembly_context.rb +0 -21
  379. data/decidim-assemblies/app/controllers/concerns/decidim/assemblies/assembly_context.rb +0 -25
  380. data/decidim-assemblies/app/controllers/concerns/decidim/assemblies/needs_assembly.rb +0 -50
  381. data/decidim-assemblies/app/controllers/decidim/assemblies/admin/application_controller.rb +0 -11
  382. data/decidim-assemblies/app/controllers/decidim/assemblies/admin/assemblies_controller.rb +0 -100
  383. data/decidim-assemblies/app/controllers/decidim/assemblies/admin/assembly_attachments_controller.rb +0 -27
  384. data/decidim-assemblies/app/controllers/decidim/assemblies/admin/assembly_copies_controller.rb +0 -35
  385. data/decidim-assemblies/app/controllers/decidim/assemblies/admin/assembly_publications_controller.rb +0 -45
  386. data/decidim-assemblies/app/controllers/decidim/assemblies/admin/categories_controller.rb +0 -13
  387. data/decidim-assemblies/app/controllers/decidim/assemblies/admin/concerns/assembly_admin.rb +0 -26
  388. data/decidim-assemblies/app/controllers/decidim/assemblies/admin/exports_controller.rb +0 -14
  389. data/decidim-assemblies/app/controllers/decidim/assemblies/admin/feature_permissions_controller.rb +0 -14
  390. data/decidim-assemblies/app/controllers/decidim/assemblies/admin/features_controller.rb +0 -14
  391. data/decidim-assemblies/app/controllers/decidim/assemblies/admin/moderations_controller.rb +0 -12
  392. data/decidim-assemblies/app/controllers/decidim/assemblies/assemblies_controller.rb +0 -43
  393. data/decidim-assemblies/app/controllers/decidim/assemblies/assembly_widgets_controller.rb +0 -21
  394. data/decidim-assemblies/app/controllers/decidim/assemblies/categories_controller.rb +0 -13
  395. data/decidim-assemblies/app/forms/decidim/assemblies/admin/assembly_copy_form.rb +0 -34
  396. data/decidim-assemblies/app/forms/decidim/assemblies/admin/assembly_form.rb +0 -63
  397. data/decidim-assemblies/app/models/decidim/assemblies/abilities/admin/admin_ability.rb +0 -18
  398. data/decidim-assemblies/app/models/decidim/assemblies/abilities/admin_ability.rb +0 -16
  399. data/decidim-assemblies/app/models/decidim/assemblies/abilities/everyone_ability.rb +0 -17
  400. data/decidim-assemblies/app/models/decidim/assembly.rb +0 -45
  401. data/decidim-assemblies/app/presenters/decidim/assemblies/assembly_stats_presenter.rb +0 -52
  402. data/decidim-assemblies/app/queries/decidim/assemblies/admin/admin_users.rb +0 -39
  403. data/decidim-assemblies/app/queries/decidim/assemblies/organization_assemblies.rb +0 -16
  404. data/decidim-assemblies/app/queries/decidim/assemblies/organization_prioritized_assemblies.rb +0 -20
  405. data/decidim-assemblies/app/queries/decidim/assemblies/organization_published_assemblies.rb +0 -19
  406. data/decidim-assemblies/app/queries/decidim/assemblies/prioritized_assemblies.rb +0 -13
  407. data/decidim-assemblies/app/queries/decidim/assemblies/promoted_assemblies.rb +0 -12
  408. data/decidim-assemblies/app/queries/decidim/assemblies/published_assemblies.rb +0 -12
  409. data/decidim-assemblies/app/views/decidim/assemblies/_assembly.html.erb +0 -22
  410. data/decidim-assemblies/app/views/decidim/assemblies/_order_by_assemblies.html.erb +0 -3
  411. data/decidim-assemblies/app/views/decidim/assemblies/admin/assemblies/_form.html.erb +0 -89
  412. data/decidim-assemblies/app/views/decidim/assemblies/admin/assemblies/edit.html.erb +0 -19
  413. data/decidim-assemblies/app/views/decidim/assemblies/admin/assemblies/index.html.erb +0 -66
  414. data/decidim-assemblies/app/views/decidim/assemblies/admin/assemblies/new.html.erb +0 -11
  415. data/decidim-assemblies/app/views/decidim/assemblies/admin/assembly_copies/_form.html.erb +0 -34
  416. data/decidim-assemblies/app/views/decidim/assemblies/admin/assembly_copies/new.html.erb +0 -7
  417. data/decidim-assemblies/app/views/decidim/assemblies/assemblies/_no_assemblies_yet.html.erb +0 -3
  418. data/decidim-assemblies/app/views/decidim/assemblies/assemblies/_promoted_assembly.html.erb +0 -27
  419. data/decidim-assemblies/app/views/decidim/assemblies/assemblies/_statistics.html.erb +0 -10
  420. data/decidim-assemblies/app/views/decidim/assemblies/assemblies/index.html.erb +0 -17
  421. data/decidim-assemblies/app/views/decidim/assemblies/assemblies/show.html.erb +0 -74
  422. data/decidim-assemblies/app/views/decidim/assemblies/assembly_widgets/show.html.erb +0 -11
  423. data/decidim-assemblies/app/views/layouts/decidim/_assembly_header.html.erb +0 -64
  424. data/decidim-assemblies/app/views/layouts/decidim/admin/assemblies.html.erb +0 -14
  425. data/decidim-assemblies/app/views/layouts/decidim/admin/assembly.html.erb +0 -54
  426. data/decidim-assemblies/app/views/layouts/decidim/assembly.html.erb +0 -30
  427. data/decidim-assemblies/bin/rails +0 -15
  428. data/decidim-assemblies/config/locales/ca.yml +0 -128
  429. data/decidim-assemblies/config/locales/en.yml +0 -128
  430. data/decidim-assemblies/config/locales/es.yml +0 -128
  431. data/decidim-assemblies/config/locales/eu.yml +0 -127
  432. data/decidim-assemblies/config/locales/fi.yml +0 -127
  433. data/decidim-assemblies/config/locales/fr.yml +0 -127
  434. data/decidim-assemblies/config/locales/it.yml +0 -127
  435. data/decidim-assemblies/config/locales/nl.yml +0 -127
  436. data/decidim-assemblies/config/locales/pl.yml +0 -128
  437. data/decidim-assemblies/config/locales/uk.yml +0 -129
  438. data/decidim-assemblies/db/migrate/20170727190859_add_assemblies.rb +0 -37
  439. data/decidim-assemblies/db/migrate/20170822153055_add_scopes_enabled_to_assemblies.rb +0 -7
  440. data/decidim-assemblies/db/seeds/Exampledocument.pdf +0 -0
  441. data/decidim-assemblies/db/seeds/city.jpeg +0 -0
  442. data/decidim-assemblies/db/seeds/city2.jpeg +0 -0
  443. data/decidim-assemblies/db/seeds/homepage_image.jpg +0 -0
  444. data/decidim-assemblies/decidim-assemblies.gemspec +0 -21
  445. data/decidim-assemblies/lib/decidim/assemblies.rb +0 -12
  446. data/decidim-assemblies/lib/decidim/assemblies/admin.rb +0 -10
  447. data/decidim-assemblies/lib/decidim/assemblies/admin_engine.rb +0 -79
  448. data/decidim-assemblies/lib/decidim/assemblies/engine.rb +0 -53
  449. data/decidim-assemblies/lib/decidim/assemblies/participatory_space.rb +0 -70
  450. data/decidim-assemblies/lib/decidim/assemblies/test/factories.rb +0 -41
  451. data/decidim-assemblies/spec/commands/copy_assembly_spec.rb +0 -106
  452. data/decidim-assemblies/spec/commands/create_assembly_spec.rb +0 -83
  453. data/decidim-assemblies/spec/commands/create_category_spec.rb +0 -10
  454. data/decidim-assemblies/spec/commands/destroy_category_spec.rb +0 -10
  455. data/decidim-assemblies/spec/commands/publish_assembly_spec.rb +0 -37
  456. data/decidim-assemblies/spec/commands/unpublish_assembly_spec.rb +0 -37
  457. data/decidim-assemblies/spec/commands/update_assembly_spec.rb +0 -120
  458. data/decidim-assemblies/spec/commands/update_category_spec.rb +0 -10
  459. data/decidim-assemblies/spec/controllers/assemblies_controller_spec.rb +0 -64
  460. data/decidim-assemblies/spec/controllers/exports_controller_spec.rb +0 -53
  461. data/decidim-assemblies/spec/factories.rb +0 -6
  462. data/decidim-assemblies/spec/features/admin/admin_copy_assembly_spec.rb +0 -93
  463. data/decidim-assemblies/spec/features/admin/admin_manages_assemblies_spec.rb +0 -251
  464. data/decidim-assemblies/spec/features/admin/admin_manages_assembly_attachments_spec.rb +0 -19
  465. data/decidim-assemblies/spec/features/admin/admin_manages_assembly_categories_spec.rb +0 -141
  466. data/decidim-assemblies/spec/features/admin/admin_manages_assembly_feature_permissions_spec.rb +0 -14
  467. data/decidim-assemblies/spec/features/admin/admin_manages_assembly_features_spec.rb +0 -207
  468. data/decidim-assemblies/spec/features/assemblies_spec.rb +0 -130
  469. data/decidim-assemblies/spec/features/assembly_embeds_spec.rb +0 -20
  470. data/decidim-assemblies/spec/forms/assembly_form_spec.rb +0 -170
  471. data/decidim-assemblies/spec/forms/category_form_spec.rb +0 -16
  472. data/decidim-assemblies/spec/helpers/decidim/scopes_helper_spec.rb +0 -16
  473. data/decidim-assemblies/spec/lib/features/assemblies/current_feature_spec.rb +0 -87
  474. data/decidim-assemblies/spec/models/abilities/admin/admin_ability_spec.rb +0 -11
  475. data/decidim-assemblies/spec/models/abilities/admin_ability_spec.rb +0 -12
  476. data/decidim-assemblies/spec/models/abilities/everyone_ability_spec.rb +0 -13
  477. data/decidim-assemblies/spec/models/decidim/assembly_spec.rb +0 -29
  478. data/decidim-assemblies/spec/presenters/decidim/assemblies/assembly_stats_presenter.spec.rb +0 -44
  479. data/decidim-assemblies/spec/queries/admin/assembly_admins_spec.rb +0 -18
  480. data/decidim-assemblies/spec/queries/organization_assemblies_spec.rb +0 -26
  481. data/decidim-assemblies/spec/queries/organization_prioritized_assemblies_spec.rb +0 -31
  482. data/decidim-assemblies/spec/queries/organization_published_assemblies_spec.rb +0 -35
  483. data/decidim-assemblies/spec/shared/assembly_administration_shared_context.rb +0 -15
  484. data/decidim-assemblies/spec/spec_helper.rb +0 -9
  485. data/decidim-budgets/README.md +0 -23
  486. data/decidim-budgets/Rakefile +0 -3
  487. data/decidim-budgets/app/assets/config/decidim_budgets_manifest.js +0 -1
  488. data/decidim-budgets/app/assets/images/decidim/budgets/icon.svg +0 -11
  489. data/decidim-budgets/app/assets/javascripts/decidim/budgets/progressFixed.js.es6 +0 -23
  490. data/decidim-budgets/app/assets/javascripts/decidim/budgets/projects.js.es6 +0 -29
  491. data/decidim-budgets/app/assets/stylesheets/decidim/budgets/_budgets.scss +0 -1
  492. data/decidim-budgets/app/assets/stylesheets/decidim/budgets/budget/_budget-list.scss +0 -32
  493. data/decidim-budgets/app/assets/stylesheets/decidim/budgets/budget/_budget-meter.scss +0 -78
  494. data/decidim-budgets/app/assets/stylesheets/decidim/budgets/budget/_progress.scss +0 -17
  495. data/decidim-budgets/app/commands/decidim/budgets/add_line_item.rb +0 -54
  496. data/decidim-budgets/app/commands/decidim/budgets/admin/create_project.rb +0 -52
  497. data/decidim-budgets/app/commands/decidim/budgets/admin/update_project.rb +0 -56
  498. data/decidim-budgets/app/commands/decidim/budgets/cancel_order.rb +0 -37
  499. data/decidim-budgets/app/commands/decidim/budgets/checkout.rb +0 -39
  500. data/decidim-budgets/app/commands/decidim/budgets/remove_line_item.rb +0 -36
  501. data/decidim-budgets/app/controllers/concerns/decidim/budgets/needs_current_order.rb +0 -27
  502. data/decidim-budgets/app/controllers/decidim/budgets/admin/application_controller.rb +0 -24
  503. data/decidim-budgets/app/controllers/decidim/budgets/admin/attachments_controller.rb +0 -30
  504. data/decidim-budgets/app/controllers/decidim/budgets/admin/projects_controller.rb +0 -82
  505. data/decidim-budgets/app/controllers/decidim/budgets/application_controller.rb +0 -13
  506. data/decidim-budgets/app/controllers/decidim/budgets/line_items_controller.rb +0 -51
  507. data/decidim-budgets/app/controllers/decidim/budgets/orders_controller.rb +0 -40
  508. data/decidim-budgets/app/controllers/decidim/budgets/projects_controller.rb +0 -44
  509. data/decidim-budgets/app/forms/decidim/budgets/admin/project_form.rb +0 -52
  510. data/decidim-budgets/app/helpers/decidim/budgets/application_helper.rb +0 -13
  511. data/decidim-budgets/app/helpers/decidim/budgets/projects_helper.rb +0 -30
  512. data/decidim-budgets/app/models/decidim/budgets/application_record.rb +0 -10
  513. data/decidim-budgets/app/models/decidim/budgets/line_item.rb +0 -20
  514. data/decidim-budgets/app/models/decidim/budgets/order.rb +0 -71
  515. data/decidim-budgets/app/models/decidim/budgets/project.rb +0 -47
  516. data/decidim-budgets/app/queries/decidim/budgets/filtered_projects.rb +0 -37
  517. data/decidim-budgets/app/services/decidim/budgets/project_search.rb +0 -53
  518. data/decidim-budgets/app/views/decidim/budgets/admin/projects/_form.html.erb +0 -39
  519. data/decidim-budgets/app/views/decidim/budgets/admin/projects/edit.html.erb +0 -7
  520. data/decidim-budgets/app/views/decidim/budgets/admin/projects/index.html.erb +0 -55
  521. data/decidim-budgets/app/views/decidim/budgets/admin/projects/new.html.erb +0 -8
  522. data/decidim-budgets/app/views/decidim/budgets/line_items/update_budget.js.erb +0 -24
  523. data/decidim-budgets/app/views/decidim/budgets/projects/_budget_confirm.html.erb +0 -32
  524. data/decidim-budgets/app/views/decidim/budgets/projects/_budget_excess.html.erb +0 -14
  525. data/decidim-budgets/app/views/decidim/budgets/projects/_budget_summary.html.erb +0 -37
  526. data/decidim-budgets/app/views/decidim/budgets/projects/_count.html.erb +0 -1
  527. data/decidim-budgets/app/views/decidim/budgets/projects/_filters.html.erb +0 -24
  528. data/decidim-budgets/app/views/decidim/budgets/projects/_filters_small_view.html.erb +0 -18
  529. data/decidim-budgets/app/views/decidim/budgets/projects/_linked_projects.html.erb +0 -12
  530. data/decidim-budgets/app/views/decidim/budgets/projects/_order_progress.html.erb +0 -36
  531. data/decidim-budgets/app/views/decidim/budgets/projects/_order_selected_projects.html.erb +0 -27
  532. data/decidim-budgets/app/views/decidim/budgets/projects/_order_total_budget.html.erb +0 -3
  533. data/decidim-budgets/app/views/decidim/budgets/projects/_project.html.erb +0 -57
  534. data/decidim-budgets/app/views/decidim/budgets/projects/_project_budget_button.html.erb +0 -9
  535. data/decidim-budgets/app/views/decidim/budgets/projects/_projects.html.erb +0 -6
  536. data/decidim-budgets/app/views/decidim/budgets/projects/index.html.erb +0 -26
  537. data/decidim-budgets/app/views/decidim/budgets/projects/index.js.erb +0 -2
  538. data/decidim-budgets/app/views/decidim/budgets/projects/show.html.erb +0 -50
  539. data/decidim-budgets/bin/rails +0 -15
  540. data/decidim-budgets/config/locales/ca.yml +0 -133
  541. data/decidim-budgets/config/locales/en.yml +0 -133
  542. data/decidim-budgets/config/locales/es.yml +0 -133
  543. data/decidim-budgets/config/locales/eu.yml +0 -132
  544. data/decidim-budgets/config/locales/fi.yml +0 -132
  545. data/decidim-budgets/config/locales/fr.yml +0 -132
  546. data/decidim-budgets/config/locales/it.yml +0 -132
  547. data/decidim-budgets/config/locales/nl.yml +0 -132
  548. data/decidim-budgets/config/locales/pl.yml +0 -135
  549. data/decidim-budgets/config/locales/uk.yml +0 -138
  550. data/decidim-budgets/db/migrate/20170127114122_create_projects.rb +0 -17
  551. data/decidim-budgets/db/migrate/20170130095615_create_orders.rb +0 -15
  552. data/decidim-budgets/db/migrate/20170130101825_create_line_items.rb +0 -12
  553. data/decidim-budgets/db/migrate/20170207101750_remove_short_description_from_decidim_projects.rb +0 -7
  554. data/decidim-budgets/db/migrate/20170215132708_add_reference_to_projects.rb +0 -9
  555. data/decidim-budgets/db/migrate/20170410074214_remove_not_null_reference_budgets.rb +0 -7
  556. data/decidim-budgets/db/migrate/20170612101846_migrate_projects_category.rb +0 -15
  557. data/decidim-budgets/decidim-budgets.gemspec +0 -27
  558. data/decidim-budgets/lib/decidim/budgets.rb +0 -12
  559. data/decidim-budgets/lib/decidim/budgets/admin.rb +0 -10
  560. data/decidim-budgets/lib/decidim/budgets/admin_engine.rb +0 -26
  561. data/decidim-budgets/lib/decidim/budgets/engine.rb +0 -31
  562. data/decidim-budgets/lib/decidim/budgets/feature.rb +0 -86
  563. data/decidim-budgets/lib/decidim/budgets/seeds/Exampledocument.pdf +0 -0
  564. data/decidim-budgets/lib/decidim/budgets/seeds/city.jpeg +0 -0
  565. data/decidim-budgets/lib/decidim/budgets/test/factories.rb +0 -63
  566. data/decidim-budgets/spec/commands/add_line_item_spec.rb +0 -68
  567. data/decidim-budgets/spec/commands/cancel_order_spec.rb +0 -51
  568. data/decidim-budgets/spec/commands/checkout_spec.rb +0 -55
  569. data/decidim-budgets/spec/commands/create_project_spec.rb +0 -73
  570. data/decidim-budgets/spec/commands/remove_line_item_spec.rb +0 -46
  571. data/decidim-budgets/spec/commands/update_project_spec.rb +0 -66
  572. data/decidim-budgets/spec/factories.rb +0 -8
  573. data/decidim-budgets/spec/features/admin_manages_project_attachments_spec.rb +0 -12
  574. data/decidim-budgets/spec/features/admin_manages_projects_spec.rb +0 -13
  575. data/decidim-budgets/spec/features/comments_spec.rb +0 -11
  576. data/decidim-budgets/spec/features/follow_projects_spec.rb +0 -13
  577. data/decidim-budgets/spec/features/orders_spec.rb +0 -255
  578. data/decidim-budgets/spec/features/process_admin_manages_project_attachments_spec.rb +0 -12
  579. data/decidim-budgets/spec/features/process_admin_manages_projects_spec.rb +0 -13
  580. data/decidim-budgets/spec/forms/project_form_spec.rb +0 -113
  581. data/decidim-budgets/spec/models/line_item_spec.rb +0 -35
  582. data/decidim-budgets/spec/models/order_spec.rb +0 -74
  583. data/decidim-budgets/spec/models/project_spec.rb +0 -53
  584. data/decidim-budgets/spec/queries/decidim/budgets/filtered_projects_spec.rb +0 -22
  585. data/decidim-budgets/spec/services/project_search_spec.rb +0 -108
  586. data/decidim-budgets/spec/shared/manage_attachments_examples.rb +0 -15
  587. data/decidim-budgets/spec/shared/manage_projects_examples.rb +0 -121
  588. data/decidim-budgets/spec/spec_helper.rb +0 -9
  589. data/decidim-comments/.gitignore +0 -1
  590. data/decidim-comments/README.md +0 -75
  591. data/decidim-comments/Rakefile +0 -3
  592. data/decidim-comments/app/assets/config/decidim_comments_manifest.js +0 -1
  593. data/decidim-comments/app/assets/javascripts/decidim/comments/bundle.js +0 -0
  594. data/decidim-comments/app/assets/javascripts/decidim/comments/comments.js.erb +0 -10
  595. data/decidim-comments/app/commands/decidim/comments/create_comment.rb +0 -64
  596. data/decidim-comments/app/commands/decidim/comments/vote_comment.rb +0 -39
  597. data/decidim-comments/app/events/decidim/comments/comment_created_event.rb +0 -56
  598. data/decidim-comments/app/forms/decidim/comments/comment_form.rb +0 -18
  599. data/decidim-comments/app/frontend/application/apollo_client.ts +0 -16
  600. data/decidim-comments/app/frontend/application/application.component.test.tsx +0 -36
  601. data/decidim-comments/app/frontend/application/application.component.tsx +0 -37
  602. data/decidim-comments/app/frontend/application/icon.component.test.tsx +0 -49
  603. data/decidim-comments/app/frontend/application/icon.component.tsx +0 -35
  604. data/decidim-comments/app/frontend/comments/add_comment_form.component.test.tsx +0 -260
  605. data/decidim-comments/app/frontend/comments/add_comment_form.component.tsx +0 -449
  606. data/decidim-comments/app/frontend/comments/comment.component.test.tsx +0 -197
  607. data/decidim-comments/app/frontend/comments/comment.component.tsx +0 -395
  608. data/decidim-comments/app/frontend/comments/comment_order_selector.component.test.tsx +0 -21
  609. data/decidim-comments/app/frontend/comments/comment_order_selector.component.tsx +0 -87
  610. data/decidim-comments/app/frontend/comments/comment_thread.component.test.tsx +0 -81
  611. data/decidim-comments/app/frontend/comments/comment_thread.component.tsx +0 -79
  612. data/decidim-comments/app/frontend/comments/comments.component.test.tsx +0 -128
  613. data/decidim-comments/app/frontend/comments/comments.component.tsx +0 -185
  614. data/decidim-comments/app/frontend/comments/down_vote_button.component.test.tsx +0 -59
  615. data/decidim-comments/app/frontend/comments/down_vote_button.component.tsx +0 -117
  616. data/decidim-comments/app/frontend/comments/up_vote_button.component.test.tsx +0 -59
  617. data/decidim-comments/app/frontend/comments/up_vote_button.component.tsx +0 -113
  618. data/decidim-comments/app/frontend/comments/vote_button.component.tsx +0 -46
  619. data/decidim-comments/app/frontend/comments/vote_button_component.test.tsx +0 -58
  620. data/decidim-comments/app/frontend/entry.ts +0 -19
  621. data/decidim-comments/app/frontend/fragments/add_comment_form_commentable.fragment.graphql +0 -4
  622. data/decidim-comments/app/frontend/fragments/add_comment_form_session.fragment.graphql +0 -6
  623. data/decidim-comments/app/frontend/fragments/comment.fragment.graphql +0 -14
  624. data/decidim-comments/app/frontend/fragments/comment_data.fragment.graphql +0 -23
  625. data/decidim-comments/app/frontend/fragments/comment_thread.fragment.graphql +0 -6
  626. data/decidim-comments/app/frontend/fragments/down_vote_button.fragment.graphql +0 -6
  627. data/decidim-comments/app/frontend/fragments/up_vote_button.fragment.graphql +0 -6
  628. data/decidim-comments/app/frontend/mutations/add_comment.mutation.graphql +0 -9
  629. data/decidim-comments/app/frontend/mutations/down_vote.mutation.graphql +0 -9
  630. data/decidim-comments/app/frontend/mutations/up_vote.mutation.graphql +0 -9
  631. data/decidim-comments/app/frontend/queries/comments.query.graphql +0 -23
  632. data/decidim-comments/app/frontend/support/asset_url.ts +0 -11
  633. data/decidim-comments/app/frontend/support/generate_comments_data.ts +0 -42
  634. data/decidim-comments/app/frontend/support/generate_user_data.ts +0 -13
  635. data/decidim-comments/app/frontend/support/generate_user_group_data.ts +0 -14
  636. data/decidim-comments/app/frontend/support/graphql_transformer.js +0 -32
  637. data/decidim-comments/app/frontend/support/load_translations.ts +0 -44
  638. data/decidim-comments/app/frontend/support/require_all.ts +0 -10
  639. data/decidim-comments/app/frontend/support/resolve_graphql_query.ts +0 -37
  640. data/decidim-comments/app/frontend/support/schema.ts +0 -1445
  641. data/decidim-comments/app/models/decidim/comments/abilities/admin_ability.rb +0 -19
  642. data/decidim-comments/app/models/decidim/comments/abilities/current_user_ability.rb +0 -24
  643. data/decidim-comments/app/models/decidim/comments/abilities/participatory_process_admin_ability.rb +0 -19
  644. data/decidim-comments/app/models/decidim/comments/abilities/participatory_process_moderator_ability.rb +0 -19
  645. data/decidim-comments/app/models/decidim/comments/application_record.rb +0 -10
  646. data/decidim-comments/app/models/decidim/comments/comment.rb +0 -81
  647. data/decidim-comments/app/models/decidim/comments/comment_vote.rb +0 -24
  648. data/decidim-comments/app/models/decidim/comments/seed.rb +0 -32
  649. data/decidim-comments/app/queries/decidim/comments/sorted_comments.rb +0 -85
  650. data/decidim-comments/app/resolvers/decidim/comments/vote_comment_resolver.rb +0 -24
  651. data/decidim-comments/app/types/decidim/comments/commentable_interface.rb +0 -45
  652. data/decidim-comments/app/types/decidim/comments/commentable_mutation_type.rb +0 -30
  653. data/decidim-comments/app/types/decidim/comments/commentable_type.rb +0 -15
  654. data/decidim-comments/bin/rails +0 -15
  655. data/decidim-comments/config/locales/ca.yml +0 -71
  656. data/decidim-comments/config/locales/en.yml +0 -71
  657. data/decidim-comments/config/locales/es.yml +0 -71
  658. data/decidim-comments/config/locales/eu.yml +0 -70
  659. data/decidim-comments/config/locales/fi.yml +0 -70
  660. data/decidim-comments/config/locales/fr.yml +0 -70
  661. data/decidim-comments/config/locales/it.yml +0 -70
  662. data/decidim-comments/config/locales/nl.yml +0 -70
  663. data/decidim-comments/config/locales/pl.yml +0 -70
  664. data/decidim-comments/config/locales/uk.yml +0 -70
  665. data/decidim-comments/db/migrate/20161130143508_create_comments.rb +0 -15
  666. data/decidim-comments/db/migrate/20161214082645_add_depth_to_comments.rb +0 -7
  667. data/decidim-comments/db/migrate/20161216102820_add_alignment_to_comments.rb +0 -7
  668. data/decidim-comments/db/migrate/20161219150806_create_comment_votes.rb +0 -15
  669. data/decidim-comments/db/migrate/20170123102043_add_user_group_id_to_comments.rb +0 -7
  670. data/decidim-comments/db/migrate/20170504085413_add_root_commentable_to_comments.rb +0 -9
  671. data/decidim-comments/db/migrate/20170510091348_update_root_commentable_for_comments.rb +0 -23
  672. data/decidim-comments/db/migrate/20170510091409_set_root_commentable_null_constraints.rb +0 -8
  673. data/decidim-comments/db/seeds.rb +0 -13
  674. data/decidim-comments/decidim-comments.gemspec +0 -23
  675. data/decidim-comments/lib/decidim/comments.rb +0 -20
  676. data/decidim-comments/lib/decidim/comments/admin.rb +0 -10
  677. data/decidim-comments/lib/decidim/comments/admin_engine.rb +0 -26
  678. data/decidim-comments/lib/decidim/comments/api/add_comment_type.rb +0 -13
  679. data/decidim-comments/lib/decidim/comments/api/comment_mutation_type.rb +0 -20
  680. data/decidim-comments/lib/decidim/comments/api/comment_type.rb +0 -75
  681. data/decidim-comments/lib/decidim/comments/comment_serializer.rb +0 -37
  682. data/decidim-comments/lib/decidim/comments/commentable.rb +0 -51
  683. data/decidim-comments/lib/decidim/comments/comments_helper.rb +0 -52
  684. data/decidim-comments/lib/decidim/comments/engine.rb +0 -49
  685. data/decidim-comments/lib/decidim/comments/export.rb +0 -22
  686. data/decidim-comments/lib/decidim/comments/mutation_extensions.rb +0 -39
  687. data/decidim-comments/lib/decidim/comments/query_extensions.rb +0 -29
  688. data/decidim-comments/lib/decidim/comments/test/factories.rb +0 -24
  689. data/decidim-comments/spec/commands/create_comment_spec.rb +0 -102
  690. data/decidim-comments/spec/commands/vote_comment_spec.rb +0 -121
  691. data/decidim-comments/spec/events/decidim/comments/comment_created_event_spec.rb +0 -17
  692. data/decidim-comments/spec/factories.rb +0 -6
  693. data/decidim-comments/spec/features/admin_manages_comments_spec.rb +0 -18
  694. data/decidim-comments/spec/features/comments_spec.rb +0 -12
  695. data/decidim-comments/spec/features/process_admin_manages_comments_spec.rb +0 -18
  696. data/decidim-comments/spec/features/report_comment_spec.rb +0 -23
  697. data/decidim-comments/spec/forms/comment_form_spec.rb +0 -58
  698. data/decidim-comments/spec/helpers/comments_helper_spec.rb +0 -26
  699. data/decidim-comments/spec/lib/comment_serializer_spec.rb +0 -44
  700. data/decidim-comments/spec/lib/export_spec.rb +0 -27
  701. data/decidim-comments/spec/models/abilities/admin_ability_spec.rb +0 -21
  702. data/decidim-comments/spec/models/abilities/participatory_process_admin_ability_spec.rb +0 -23
  703. data/decidim-comments/spec/models/comment_spec.rb +0 -101
  704. data/decidim-comments/spec/models/comment_vote_spec.rb +0 -47
  705. data/decidim-comments/spec/models/seed_spec.rb +0 -19
  706. data/decidim-comments/spec/queries/sorted_comments_spec.rb +0 -81
  707. data/decidim-comments/spec/spec_helper.rb +0 -9
  708. data/decidim-comments/spec/types/comment_mutation_type_spec.rb +0 -39
  709. data/decidim-comments/spec/types/comment_type_spec.rb +0 -130
  710. data/decidim-comments/spec/types/commentable_mutation_type_spec.rb +0 -35
  711. data/decidim-comments/spec/types/commentable_type_spec.rb +0 -49
  712. data/decidim-comments/spec/types/mutation_type_spec.rb +0 -32
  713. data/decidim-comments/spec/types/query_type_spec.rb +0 -26
  714. data/decidim-core/README.md +0 -28
  715. data/decidim-core/Rakefile +0 -3
  716. data/decidim-core/app/assets/config/decidim_core_manifest.js +0 -11
  717. data/decidim-core/app/assets/fonts/decidim/Source_Sans_Pro_400.eot +0 -0
  718. data/decidim-core/app/assets/fonts/decidim/Source_Sans_Pro_400.svg +0 -345
  719. data/decidim-core/app/assets/fonts/decidim/Source_Sans_Pro_400.ttf +0 -0
  720. data/decidim-core/app/assets/fonts/decidim/Source_Sans_Pro_400.woff +0 -0
  721. data/decidim-core/app/assets/fonts/decidim/Source_Sans_Pro_400.woff2 +0 -0
  722. data/decidim-core/app/assets/fonts/decidim/Source_Sans_Pro_600.eot +0 -0
  723. data/decidim-core/app/assets/fonts/decidim/Source_Sans_Pro_600.svg +0 -339
  724. data/decidim-core/app/assets/fonts/decidim/Source_Sans_Pro_600.ttf +0 -0
  725. data/decidim-core/app/assets/fonts/decidim/Source_Sans_Pro_600.woff +0 -0
  726. data/decidim-core/app/assets/fonts/decidim/Source_Sans_Pro_600.woff2 +0 -0
  727. data/decidim-core/app/assets/fonts/decidim/Source_Sans_Pro_900.eot +0 -0
  728. data/decidim-core/app/assets/fonts/decidim/Source_Sans_Pro_900.svg +0 -342
  729. data/decidim-core/app/assets/fonts/decidim/Source_Sans_Pro_900.ttf +0 -0
  730. data/decidim-core/app/assets/fonts/decidim/Source_Sans_Pro_900.woff +0 -0
  731. data/decidim-core/app/assets/fonts/decidim/Source_Sans_Pro_900.woff2 +0 -0
  732. data/decidim-core/app/assets/images/decidim/.keep +0 -0
  733. data/decidim-core/app/assets/images/decidim/cc-badge.png +0 -0
  734. data/decidim-core/app/assets/images/decidim/default-avatar.svg +0 -14
  735. data/decidim-core/app/assets/images/decidim/icons.svg +0 -1
  736. data/decidim-core/app/assets/javascripts/decidim.js.es6 +0 -27
  737. data/decidim-core/app/assets/javascripts/decidim/account_form.js.es6 +0 -27
  738. data/decidim-core/app/assets/javascripts/decidim/append_elements.js.es6 +0 -8
  739. data/decidim-core/app/assets/javascripts/decidim/editor.js.es6 +0 -51
  740. data/decidim-core/app/assets/javascripts/decidim/filters.js.es6 +0 -16
  741. data/decidim-core/app/assets/javascripts/decidim/form_filter.component.js.es6 +0 -237
  742. data/decidim-core/app/assets/javascripts/decidim/form_filter.component.test.js +0 -112
  743. data/decidim-core/app/assets/javascripts/decidim/foundation.js.es6 +0 -18
  744. data/decidim-core/app/assets/javascripts/decidim/history.js.es6 +0 -38
  745. data/decidim-core/app/assets/javascripts/decidim/impersonation.js.es6 +0 -16
  746. data/decidim-core/app/assets/javascripts/decidim/map.js.es6.erb +0 -95
  747. data/decidim-core/app/assets/javascripts/decidim/notifications.js.es6 +0 -33
  748. data/decidim-core/app/assets/javascripts/decidim/orders.js.es6 +0 -28
  749. data/decidim-core/app/assets/javascripts/decidim/select2.field.js.es6 +0 -47
  750. data/decidim-core/app/assets/javascripts/decidim/select2.js.es6 +0 -8
  751. data/decidim-core/app/assets/javascripts/decidim/user_registrations.js.es6 +0 -21
  752. data/decidim-core/app/assets/javascripts/decidim/widget.js.es6 +0 -14
  753. data/decidim-core/app/assets/stylesheets/decidim/_decidim.scss +0 -12
  754. data/decidim-core/app/assets/stylesheets/decidim/_variables.scss +0 -16
  755. data/decidim-core/app/assets/stylesheets/decidim/application.scss.erb +0 -6
  756. data/decidim-core/app/assets/stylesheets/decidim/editor.sass +0 -4
  757. data/decidim-core/app/assets/stylesheets/decidim/email.css +0 -1395
  758. data/decidim-core/app/assets/stylesheets/decidim/extras/_add_comments.scss +0 -9
  759. data/decidim-core/app/assets/stylesheets/decidim/extras/_announcement.scss +0 -3
  760. data/decidim-core/app/assets/stylesheets/decidim/extras/_callout.scss +0 -5
  761. data/decidim-core/app/assets/stylesheets/decidim/extras/_collection-sort-controls.scss +0 -5
  762. data/decidim-core/app/assets/stylesheets/decidim/extras/_embed.scss +0 -32
  763. data/decidim-core/app/assets/stylesheets/decidim/extras/_impersonation-bar.scss +0 -22
  764. data/decidim-core/app/assets/stylesheets/decidim/extras/_label-required.scss +0 -3
  765. data/decidim-core/app/assets/stylesheets/decidim/extras/_leaflet.scss +0 -15
  766. data/decidim-core/app/assets/stylesheets/decidim/extras/_meeting-registrations.scss +0 -11
  767. data/decidim-core/app/assets/stylesheets/decidim/extras/_process_stats.scss +0 -38
  768. data/decidim-core/app/assets/stylesheets/decidim/extras/_proposal_form.scss +0 -7
  769. data/decidim-core/app/assets/stylesheets/decidim/extras/_quill.scss +0 -8
  770. data/decidim-core/app/assets/stylesheets/decidim/extras/_reference.scss +0 -3
  771. data/decidim-core/app/assets/stylesheets/decidim/extras/_register_form.scss +0 -9
  772. data/decidim-core/app/assets/stylesheets/decidim/extras/_results-per-page.scss +0 -66
  773. data/decidim-core/app/assets/stylesheets/decidim/extras/_social_icons_mini.scss +0 -10
  774. data/decidim-core/app/assets/stylesheets/decidim/extras/_status-labels.scss +0 -3
  775. data/decidim-core/app/assets/stylesheets/decidim/layouts/_home.scss +0 -244
  776. data/decidim-core/app/assets/stylesheets/decidim/layouts/_user.scss +0 -24
  777. data/decidim-core/app/assets/stylesheets/decidim/layouts/_view.scss +0 -22
  778. data/decidim-core/app/assets/stylesheets/decidim/map.css +0 -3
  779. data/decidim-core/app/assets/stylesheets/decidim/modules/_address.scss +0 -26
  780. data/decidim-core/app/assets/stylesheets/decidim/modules/_author-avatar.scss +0 -119
  781. data/decidim-core/app/assets/stylesheets/decidim/modules/_buttons.scss +0 -142
  782. data/decidim-core/app/assets/stylesheets/decidim/modules/_callout.scss +0 -25
  783. data/decidim-core/app/assets/stylesheets/decidim/modules/_card-grid.scss +0 -25
  784. data/decidim-core/app/assets/stylesheets/decidim/modules/_cards.scss +0 -504
  785. data/decidim-core/app/assets/stylesheets/decidim/modules/_comments.scss +0 -141
  786. data/decidim-core/app/assets/stylesheets/decidim/modules/_cookie-bar.scss +0 -22
  787. data/decidim-core/app/assets/stylesheets/decidim/modules/_datepicker.scss +0 -224
  788. data/decidim-core/app/assets/stylesheets/decidim/modules/_definition-data.scss +0 -54
  789. data/decidim-core/app/assets/stylesheets/decidim/modules/_extra.scss +0 -47
  790. data/decidim-core/app/assets/stylesheets/decidim/modules/_filter-tags.scss +0 -24
  791. data/decidim-core/app/assets/stylesheets/decidim/modules/_filters.scss +0 -96
  792. data/decidim-core/app/assets/stylesheets/decidim/modules/_flag.scss +0 -9
  793. data/decidim-core/app/assets/stylesheets/decidim/modules/_footer.scss +0 -90
  794. data/decidim-core/app/assets/stylesheets/decidim/modules/_forms.scss +0 -30
  795. data/decidim-core/app/assets/stylesheets/decidim/modules/_help.scss +0 -14
  796. data/decidim-core/app/assets/stylesheets/decidim/modules/_icons.scss +0 -32
  797. data/decidim-core/app/assets/stylesheets/decidim/modules/_layout.scss +0 -56
  798. data/decidim-core/app/assets/stylesheets/decidim/modules/_list-docs.scss +0 -30
  799. data/decidim-core/app/assets/stylesheets/decidim/modules/_main-container.scss +0 -66
  800. data/decidim-core/app/assets/stylesheets/decidim/modules/_map.scss +0 -72
  801. data/decidim-core/app/assets/stylesheets/decidim/modules/_margins.scss +0 -16
  802. data/decidim-core/app/assets/stylesheets/decidim/modules/_modules.scss +0 -58
  803. data/decidim-core/app/assets/stylesheets/decidim/modules/_navbar.scss +0 -270
  804. data/decidim-core/app/assets/stylesheets/decidim/modules/_opinion-toggle.scss +0 -50
  805. data/decidim-core/app/assets/stylesheets/decidim/modules/_order-by.scss +0 -66
  806. data/decidim-core/app/assets/stylesheets/decidim/modules/_pagination.scss +0 -5
  807. data/decidim-core/app/assets/stylesheets/decidim/modules/_process-header.scss +0 -88
  808. data/decidim-core/app/assets/stylesheets/decidim/modules/_process-info.scss +0 -44
  809. data/decidim-core/app/assets/stylesheets/decidim/modules/_process-nav.scss +0 -111
  810. data/decidim-core/app/assets/stylesheets/decidim/modules/_process-phase.scss +0 -83
  811. data/decidim-core/app/assets/stylesheets/decidim/modules/_reference.scss +0 -6
  812. data/decidim-core/app/assets/stylesheets/decidim/modules/_reveal.scss +0 -20
  813. data/decidim-core/app/assets/stylesheets/decidim/modules/_share.scss +0 -28
  814. data/decidim-core/app/assets/stylesheets/decidim/modules/_signup.scss +0 -39
  815. data/decidim-core/app/assets/stylesheets/decidim/modules/_static-pages.scss +0 -46
  816. data/decidim-core/app/assets/stylesheets/decidim/modules/_status-labels.scss +0 -20
  817. data/decidim-core/app/assets/stylesheets/decidim/modules/_tags.scss +0 -29
  818. data/decidim-core/app/assets/stylesheets/decidim/modules/_timeline.scss +0 -171
  819. data/decidim-core/app/assets/stylesheets/decidim/modules/_title-action.scss +0 -28
  820. data/decidim-core/app/assets/stylesheets/decidim/modules/_typography.scss +0 -122
  821. data/decidim-core/app/assets/stylesheets/decidim/modules/_user-form.scss +0 -14
  822. data/decidim-core/app/assets/stylesheets/decidim/modules/_video.scss +0 -18
  823. data/decidim-core/app/assets/stylesheets/decidim/plugins/_select2.scss +0 -63
  824. data/decidim-core/app/assets/stylesheets/decidim/utils/_fontface.scss +0 -27
  825. data/decidim-core/app/assets/stylesheets/decidim/utils/_helpers.scss +0 -25
  826. data/decidim-core/app/assets/stylesheets/decidim/utils/_keyframes.scss +0 -21
  827. data/decidim-core/app/assets/stylesheets/decidim/utils/_mixins.scss +0 -41
  828. data/decidim-core/app/assets/stylesheets/decidim/utils/_settings.scss +0 -575
  829. data/decidim-core/app/assets/stylesheets/decidim/utils/_toggle-expand.scss +0 -8
  830. data/decidim-core/app/commands/decidim/authorize_user.rb +0 -59
  831. data/decidim-core/app/commands/decidim/create_follow.rb +0 -40
  832. data/decidim-core/app/commands/decidim/create_omniauth_registration.rb +0 -94
  833. data/decidim-core/app/commands/decidim/create_registration.rb +0 -53
  834. data/decidim-core/app/commands/decidim/create_report.rb +0 -91
  835. data/decidim-core/app/commands/decidim/delete_follow.rb +0 -37
  836. data/decidim-core/app/commands/decidim/destroy_account.rb +0 -47
  837. data/decidim-core/app/commands/decidim/invite_user.rb +0 -54
  838. data/decidim-core/app/commands/decidim/invite_user_again.rb +0 -26
  839. data/decidim-core/app/commands/decidim/remove_admin.rb +0 -25
  840. data/decidim-core/app/commands/decidim/update_account.rb +0 -52
  841. data/decidim-core/app/commands/decidim/update_notifications_settings.rb +0 -31
  842. data/decidim-core/app/constraints/decidim/current_feature.rb +0 -41
  843. data/decidim-core/app/controllers/concerns/decidim/action_authorization.rb +0 -74
  844. data/decidim-core/app/controllers/concerns/decidim/devise_controllers.rb +0 -36
  845. data/decidim-core/app/controllers/concerns/decidim/filter_resource.rb +0 -71
  846. data/decidim-core/app/controllers/concerns/decidim/form_factory.rb +0 -83
  847. data/decidim-core/app/controllers/concerns/decidim/impersonate_users.rb +0 -67
  848. data/decidim-core/app/controllers/concerns/decidim/locale_switcher.rb +0 -60
  849. data/decidim-core/app/controllers/concerns/decidim/needs_authorization.rb +0 -46
  850. data/decidim-core/app/controllers/concerns/decidim/needs_organization.rb +0 -42
  851. data/decidim-core/app/controllers/concerns/decidim/paginable.rb +0 -24
  852. data/decidim-core/app/controllers/concerns/decidim/payload_info.rb +0 -23
  853. data/decidim-core/app/controllers/concerns/decidim/settings.rb +0 -23
  854. data/decidim-core/app/controllers/concerns/decidim/user_profile.rb +0 -33
  855. data/decidim-core/app/controllers/decidim/account_controller.rb +0 -70
  856. data/decidim-core/app/controllers/decidim/application_controller.rb +0 -56
  857. data/decidim-core/app/controllers/decidim/authorizations_controller.rb +0 -90
  858. data/decidim-core/app/controllers/decidim/cookie_policy_controller.rb +0 -19
  859. data/decidim-core/app/controllers/decidim/devise/confirmations_controller.rb +0 -10
  860. data/decidim-core/app/controllers/decidim/devise/invitations_controller.rb +0 -30
  861. data/decidim-core/app/controllers/decidim/devise/omniauth_registrations_controller.rb +0 -95
  862. data/decidim-core/app/controllers/decidim/devise/passwords_controller.rb +0 -25
  863. data/decidim-core/app/controllers/decidim/devise/registrations_controller.rb +0 -67
  864. data/decidim-core/app/controllers/decidim/devise/sessions_controller.rb +0 -32
  865. data/decidim-core/app/controllers/decidim/errors_controller.rb +0 -15
  866. data/decidim-core/app/controllers/decidim/features/base_controller.rb +0 -55
  867. data/decidim-core/app/controllers/decidim/follows_controller.rb +0 -45
  868. data/decidim-core/app/controllers/decidim/locales_controller.rb +0 -27
  869. data/decidim-core/app/controllers/decidim/notifications_controller.rb +0 -39
  870. data/decidim-core/app/controllers/decidim/notifications_settings_controller.rb +0 -30
  871. data/decidim-core/app/controllers/decidim/own_user_groups_controller.rb +0 -13
  872. data/decidim-core/app/controllers/decidim/pages_controller.rb +0 -42
  873. data/decidim-core/app/controllers/decidim/reports_controller.rb +0 -33
  874. data/decidim-core/app/controllers/decidim/scopes_controller.rb +0 -31
  875. data/decidim-core/app/controllers/decidim/static_map_controller.rb +0 -17
  876. data/decidim-core/app/controllers/decidim/widgets_controller.rb +0 -35
  877. data/decidim-core/app/forms/decidim/account_form.rb +0 -42
  878. data/decidim-core/app/forms/decidim/attachment_form.rb +0 -14
  879. data/decidim-core/app/forms/decidim/delete_account_form.rb +0 -8
  880. data/decidim-core/app/forms/decidim/follow_form.rb +0 -20
  881. data/decidim-core/app/forms/decidim/form.rb +0 -16
  882. data/decidim-core/app/forms/decidim/invite_user_form.rb +0 -48
  883. data/decidim-core/app/forms/decidim/notifications_settings_form.rb +0 -15
  884. data/decidim-core/app/forms/decidim/omniauth_registration_form.rb +0 -24
  885. data/decidim-core/app/forms/decidim/registration_form.rb +0 -55
  886. data/decidim-core/app/forms/decidim/report_form.rb +0 -13
  887. data/decidim-core/app/forms/translatable_presence_validator.rb +0 -31
  888. data/decidim-core/app/helpers/decidim/action_authorization_helper.rb +0 -89
  889. data/decidim-core/app/helpers/decidim/application_helper.rb +0 -28
  890. data/decidim-core/app/helpers/decidim/aria_selected_link_to_helper.rb +0 -27
  891. data/decidim-core/app/helpers/decidim/attachments_helper.rb +0 -27
  892. data/decidim-core/app/helpers/decidim/authorization_form_helper.rb +0 -26
  893. data/decidim-core/app/helpers/decidim/cookies_helper.rb +0 -11
  894. data/decidim-core/app/helpers/decidim/decidim_form_helper.rb +0 -128
  895. data/decidim-core/app/helpers/decidim/feature_path_helper.rb +0 -24
  896. data/decidim-core/app/helpers/decidim/feature_reference_helper.rb +0 -25
  897. data/decidim-core/app/helpers/decidim/filters_helper.rb +0 -21
  898. data/decidim-core/app/helpers/decidim/humanize_booleans_helper.rb +0 -15
  899. data/decidim-core/app/helpers/decidim/icon_helper.rb +0 -48
  900. data/decidim-core/app/helpers/decidim/language_chooser_helper.rb +0 -19
  901. data/decidim-core/app/helpers/decidim/layout_helper.rb +0 -78
  902. data/decidim-core/app/helpers/decidim/localized_locales_helper.rb +0 -44
  903. data/decidim-core/app/helpers/decidim/map_helper.rb +0 -42
  904. data/decidim-core/app/helpers/decidim/menu_helper.rb +0 -16
  905. data/decidim-core/app/helpers/decidim/meta_tags_helper.rb +0 -105
  906. data/decidim-core/app/helpers/decidim/omniauth_helper.rb +0 -24
  907. data/decidim-core/app/helpers/decidim/orders_helper.rb +0 -29
  908. data/decidim-core/app/helpers/decidim/paginate_helper.rb +0 -22
  909. data/decidim-core/app/helpers/decidim/replace_buttons_helper.rb +0 -43
  910. data/decidim-core/app/helpers/decidim/resource_helper.rb +0 -73
  911. data/decidim-core/app/helpers/decidim/scopes_helper.rb +0 -15
  912. data/decidim-core/app/helpers/decidim/translations_helper.rb +0 -34
  913. data/decidim-core/app/helpers/decidim/user_profile_helper.rb +0 -24
  914. data/decidim-core/app/helpers/decidim/widget_urls_helper.rb +0 -11
  915. data/decidim-core/app/jobs/decidim/application_job.rb +0 -6
  916. data/decidim-core/app/jobs/decidim/email_notification_generator_job.rb +0 -12
  917. data/decidim-core/app/jobs/decidim/export_job.rb +0 -20
  918. data/decidim-core/app/jobs/decidim/notification_generator_for_recipient_job.rb +0 -14
  919. data/decidim-core/app/jobs/decidim/notification_generator_job.rb +0 -12
  920. data/decidim-core/app/mailers/concerns/decidim/localised_mailer.rb +0 -30
  921. data/decidim-core/app/mailers/decidim/application_mailer.rb +0 -12
  922. data/decidim-core/app/mailers/decidim/decidim_devise_mailer.rb +0 -39
  923. data/decidim-core/app/mailers/decidim/export_mailer.rb +0 -29
  924. data/decidim-core/app/mailers/decidim/newsletter_mailer.rb +0 -25
  925. data/decidim-core/app/mailers/decidim/notification_mailer.rb +0 -20
  926. data/decidim-core/app/mailers/decidim/reported_mailer.rb +0 -42
  927. data/decidim-core/app/middleware/decidim/current_organization.rb +0 -55
  928. data/decidim-core/app/models/decidim/abilities/admin_ability.rb +0 -29
  929. data/decidim-core/app/models/decidim/abilities/base_ability.rb +0 -42
  930. data/decidim-core/app/models/decidim/abilities/everyone_ability.rb +0 -24
  931. data/decidim-core/app/models/decidim/abilities/participatory_process_admin_ability.rb +0 -28
  932. data/decidim-core/app/models/decidim/abilities/participatory_process_collaborator_ability.rb +0 -28
  933. data/decidim-core/app/models/decidim/abilities/participatory_process_moderator_ability.rb +0 -15
  934. data/decidim-core/app/models/decidim/abilities/user_manager_ability.rb +0 -35
  935. data/decidim-core/app/models/decidim/application_record.rb +0 -8
  936. data/decidim-core/app/models/decidim/attachment.rb +0 -57
  937. data/decidim-core/app/models/decidim/authorization.rb +0 -26
  938. data/decidim-core/app/models/decidim/categorization.rb +0 -8
  939. data/decidim-core/app/models/decidim/category.rb +0 -41
  940. data/decidim-core/app/models/decidim/feature.rb +0 -64
  941. data/decidim-core/app/models/decidim/follow.rb +0 -10
  942. data/decidim-core/app/models/decidim/identity.rb +0 -21
  943. data/decidim-core/app/models/decidim/impersonation_log.rb +0 -35
  944. data/decidim-core/app/models/decidim/moderation.rb +0 -12
  945. data/decidim-core/app/models/decidim/newsletter.rb +0 -26
  946. data/decidim-core/app/models/decidim/notification.rb +0 -12
  947. data/decidim-core/app/models/decidim/organization.rb +0 -38
  948. data/decidim-core/app/models/decidim/participatory_process_user_role.rb +0 -22
  949. data/decidim-core/app/models/decidim/report.rb +0 -24
  950. data/decidim-core/app/models/decidim/resource_link.rb +0 -28
  951. data/decidim-core/app/models/decidim/scope.rb +0 -79
  952. data/decidim-core/app/models/decidim/scope_type.rb +0 -16
  953. data/decidim-core/app/models/decidim/static_page.rb +0 -57
  954. data/decidim-core/app/models/decidim/user.rb +0 -116
  955. data/decidim-core/app/models/decidim/user_group.rb +0 -45
  956. data/decidim-core/app/models/decidim/user_group_membership.rb +0 -9
  957. data/decidim-core/app/presenters/decidim/home_stats_presenter.rb +0 -81
  958. data/decidim-core/app/presenters/decidim/menu_item_presenter.rb +0 -57
  959. data/decidim-core/app/presenters/decidim/menu_presenter.rb +0 -47
  960. data/decidim-core/app/presenters/decidim/resource_locator_presenter.rb +0 -78
  961. data/decidim-core/app/queries/decidim/freetext_scopes.rb +0 -39
  962. data/decidim-core/app/queries/decidim/participatory_processes_with_user_role.rb +0 -46
  963. data/decidim-core/app/queries/decidim/stats_users_count.rb +0 -25
  964. data/decidim-core/app/services/decidim/action_authorizer.rb +0 -103
  965. data/decidim-core/app/services/decidim/authorization_handler.rb +0 -92
  966. data/decidim-core/app/services/decidim/email_notification_generator.rb +0 -63
  967. data/decidim-core/app/services/decidim/events_manager.rb +0 -41
  968. data/decidim-core/app/services/decidim/notification_generator.rb +0 -51
  969. data/decidim-core/app/services/decidim/notification_generator_for_recipient.rb +0 -50
  970. data/decidim-core/app/services/decidim/resource_search.rb +0 -79
  971. data/decidim-core/app/services/decidim/static_map_generator.rb +0 -48
  972. data/decidim-core/app/uploaders/decidim/application_uploader.rb +0 -17
  973. data/decidim-core/app/uploaders/decidim/attachment_uploader.rb +0 -73
  974. data/decidim-core/app/uploaders/decidim/avatar_uploader.rb +0 -22
  975. data/decidim-core/app/uploaders/decidim/banner_image_uploader.rb +0 -8
  976. data/decidim-core/app/uploaders/decidim/hero_image_uploader.rb +0 -8
  977. data/decidim-core/app/uploaders/decidim/homepage_image_uploader.rb +0 -16
  978. data/decidim-core/app/uploaders/decidim/image_uploader.rb +0 -47
  979. data/decidim-core/app/uploaders/decidim/official_image_footer_uploader.rb +0 -9
  980. data/decidim-core/app/uploaders/decidim/official_image_header_uploader.rb +0 -9
  981. data/decidim-core/app/uploaders/decidim/organization_favicon_uploader.rb +0 -18
  982. data/decidim-core/app/uploaders/decidim/organization_logo_uploader.rb +0 -10
  983. data/decidim-core/app/validators/etiquette_validator.rb +0 -42
  984. data/decidim-core/app/validators/geocoding_validator.rb +0 -22
  985. data/decidim-core/app/views/decidim/account/_password_fields.html.erb +0 -2
  986. data/decidim-core/app/views/decidim/account/_user_groups.html.erb +0 -0
  987. data/decidim-core/app/views/decidim/account/delete.html.erb +0 -30
  988. data/decidim-core/app/views/decidim/account/show.html.erb +0 -25
  989. data/decidim-core/app/views/decidim/application/_attachments.html.erb +0 -8
  990. data/decidim-core/app/views/decidim/application/_documents.html.erb +0 -28
  991. data/decidim-core/app/views/decidim/application/_photos.html.erb +0 -16
  992. data/decidim-core/app/views/decidim/authorizations/first_login.html.erb +0 -22
  993. data/decidim-core/app/views/decidim/authorizations/index.html.erb +0 -49
  994. data/decidim-core/app/views/decidim/authorizations/new.html.erb +0 -31
  995. data/decidim-core/app/views/decidim/cookie_policy/accept.js.erb +0 -3
  996. data/decidim-core/app/views/decidim/devise/confirmations/new.html.erb +0 -33
  997. data/decidim-core/app/views/decidim/devise/invitations/edit.html.erb +0 -29
  998. data/decidim-core/app/views/decidim/devise/omniauth_registrations/new.html.erb +0 -40
  999. data/decidim-core/app/views/decidim/devise/passwords/edit.html.erb +0 -35
  1000. data/decidim-core/app/views/decidim/devise/passwords/new.html.erb +0 -31
  1001. data/decidim-core/app/views/decidim/devise/registrations/edit.html.erb +0 -40
  1002. data/decidim-core/app/views/decidim/devise/registrations/new.html.erb +0 -87
  1003. data/decidim-core/app/views/decidim/devise/sessions/new.html.erb +0 -45
  1004. data/decidim-core/app/views/decidim/devise/shared/_links.html.erb +0 -29
  1005. data/decidim-core/app/views/decidim/devise/shared/_omniauth_buttons.html.erb +0 -21
  1006. data/decidim-core/app/views/decidim/devise/shared/_omniauth_buttons_mini.html.erb +0 -20
  1007. data/decidim-core/app/views/decidim/errors/internal_server_error.html.erb +0 -10
  1008. data/decidim-core/app/views/decidim/errors/not_found.html.erb +0 -13
  1009. data/decidim-core/app/views/decidim/export_mailer/export.html.erb +0 -1
  1010. data/decidim-core/app/views/decidim/follows/update_button.js.erb +0 -3
  1011. data/decidim-core/app/views/decidim/newsletter_mailer/newsletter.html.erb +0 -5
  1012. data/decidim-core/app/views/decidim/notification_mailer/event_received.html.erb +0 -9
  1013. data/decidim-core/app/views/decidim/notifications/_notification.html.erb +0 -18
  1014. data/decidim-core/app/views/decidim/notifications/index.html.erb +0 -32
  1015. data/decidim-core/app/views/decidim/notifications_settings/show.html.erb +0 -19
  1016. data/decidim-core/app/views/decidim/own_user_groups/index.html.erb +0 -26
  1017. data/decidim-core/app/views/decidim/pages/index.html.erb +0 -34
  1018. data/decidim-core/app/views/decidim/reported_mailer/hide.html.erb +0 -9
  1019. data/decidim-core/app/views/decidim/reported_mailer/report.html.erb +0 -9
  1020. data/decidim-core/app/views/decidim/shared/_action_authorization_modal.html.erb +0 -55
  1021. data/decidim-core/app/views/decidim/shared/_address_details.html.erb +0 -9
  1022. data/decidim-core/app/views/decidim/shared/_announcement.html.erb +0 -5
  1023. data/decidim-core/app/views/decidim/shared/_comments.html.erb +0 -0
  1024. data/decidim-core/app/views/decidim/shared/_embed_modal.html.erb +0 -19
  1025. data/decidim-core/app/views/decidim/shared/_feature_announcement.html.erb +0 -5
  1026. data/decidim-core/app/views/decidim/shared/_flag_modal.html.erb +0 -20
  1027. data/decidim-core/app/views/decidim/shared/_follow_button.html.erb +0 -19
  1028. data/decidim-core/app/views/decidim/shared/_login_modal.html.erb +0 -33
  1029. data/decidim-core/app/views/decidim/shared/_orders.html.erb +0 -16
  1030. data/decidim-core/app/views/decidim/shared/_results_per_page.html.erb +0 -18
  1031. data/decidim-core/app/views/decidim/shared/_share_modal.html.erb +0 -33
  1032. data/decidim-core/app/views/decidim/shared/_static_map.html.erb +0 -17
  1033. data/decidim-core/app/views/decidim/shared/_tags.html.erb +0 -10
  1034. data/decidim-core/app/views/decidim/widgets/show.js.erb +0 -32
  1035. data/decidim-core/app/views/devise/mailer/confirmation_instructions.html.erb +0 -4
  1036. data/decidim-core/app/views/devise/mailer/invitation_instructions.html.erb +0 -13
  1037. data/decidim-core/app/views/devise/mailer/invitation_instructions.text.erb +0 -11
  1038. data/decidim-core/app/views/devise/mailer/invite_admin.html.erb +0 -17
  1039. data/decidim-core/app/views/devise/mailer/invite_admin.text.erb +0 -15
  1040. data/decidim-core/app/views/devise/mailer/invite_collaborator.html.erb +0 -17
  1041. data/decidim-core/app/views/devise/mailer/invite_collaborator.text.erb +0 -15
  1042. data/decidim-core/app/views/devise/mailer/organization_admin_invitation_instructions.html.erb +0 -10
  1043. data/decidim-core/app/views/devise/mailer/organization_admin_invitation_instructions.text.erb +0 -11
  1044. data/decidim-core/app/views/devise/mailer/password_change.html.erb +0 -3
  1045. data/decidim-core/app/views/devise/mailer/reset_password_instructions.html.erb +0 -8
  1046. data/decidim-core/app/views/kaminari/decidim/_first_page.html.erb +0 -11
  1047. data/decidim-core/app/views/kaminari/decidim/_gap.html.erb +0 -8
  1048. data/decidim-core/app/views/kaminari/decidim/_last_page.html.erb +0 -11
  1049. data/decidim-core/app/views/kaminari/decidim/_next_page.html.erb +0 -11
  1050. data/decidim-core/app/views/kaminari/decidim/_page.html.erb +0 -12
  1051. data/decidim-core/app/views/kaminari/decidim/_paginator.html.erb +0 -25
  1052. data/decidim-core/app/views/kaminari/decidim/_prev_page.html.erb +0 -11
  1053. data/decidim-core/app/views/layouts/decidim/_application.html.erb +0 -26
  1054. data/decidim-core/app/views/layouts/decidim/_cookie_warning.html.erb +0 -8
  1055. data/decidim-core/app/views/layouts/decidim/_head.html.erb +0 -25
  1056. data/decidim-core/app/views/layouts/decidim/_head_extra.html.erb +0 -14
  1057. data/decidim-core/app/views/layouts/decidim/_impersonation_warning.html.erb +0 -10
  1058. data/decidim-core/app/views/layouts/decidim/_language_chooser.html.erb +0 -14
  1059. data/decidim-core/app/views/layouts/decidim/_logo.html.erb +0 -31
  1060. data/decidim-core/app/views/layouts/decidim/_mailer_logo.html.erb +0 -31
  1061. data/decidim-core/app/views/layouts/decidim/_social_media_links.html.erb +0 -39
  1062. data/decidim-core/app/views/layouts/decidim/_user_menu.html.erb +0 -6
  1063. data/decidim-core/app/views/layouts/decidim/_wrapper.html.erb +0 -113
  1064. data/decidim-core/app/views/layouts/decidim/application.html.erb +0 -3
  1065. data/decidim-core/app/views/layouts/decidim/mailer.html.erb +0 -119
  1066. data/decidim-core/app/views/layouts/decidim/user_profile.html.erb +0 -37
  1067. data/decidim-core/app/views/layouts/decidim/widget.html.erb +0 -69
  1068. data/decidim-core/app/views/pages/decidim_page.html.erb +0 -17
  1069. data/decidim-core/app/views/pages/home.html.erb +0 -17
  1070. data/decidim-core/app/views/pages/home/_extended.html.erb +0 -48
  1071. data/decidim-core/app/views/pages/home/_footer_sub_hero.html.erb +0 -12
  1072. data/decidim-core/app/views/pages/home/_hero.html.erb +0 -20
  1073. data/decidim-core/app/views/pages/home/_highlighted_processes.html.erb +0 -37
  1074. data/decidim-core/app/views/pages/home/_statistics.html.erb +0 -14
  1075. data/decidim-core/app/views/pages/home/_sub_hero.html.erb +0 -11
  1076. data/decidim-core/bin/rails +0 -15
  1077. data/decidim-core/config/initializers/devise.rb +0 -342
  1078. data/decidim-core/config/initializers/foundation_rails_helper.rb +0 -3
  1079. data/decidim-core/config/initializers/invisible_captcha.rb +0 -11
  1080. data/decidim-core/config/initializers/mail_previews.rb +0 -5
  1081. data/decidim-core/config/locales/ca.yml +0 -404
  1082. data/decidim-core/config/locales/en.yml +0 -402
  1083. data/decidim-core/config/locales/es.yml +0 -402
  1084. data/decidim-core/config/locales/eu.yml +0 -400
  1085. data/decidim-core/config/locales/fi.yml +0 -401
  1086. data/decidim-core/config/locales/fr.yml +0 -400
  1087. data/decidim-core/config/locales/it.yml +0 -400
  1088. data/decidim-core/config/locales/nl.yml +0 -400
  1089. data/decidim-core/config/locales/pl.yml +0 -400
  1090. data/decidim-core/config/locales/uk.yml +0 -400
  1091. data/decidim-core/config/routes.rb +0 -63
  1092. data/decidim-core/config/secrets.yml +0 -36
  1093. data/decidim-core/db/migrate/20160817115213_devise_create_decidim_users.rb +0 -43
  1094. data/decidim-core/db/migrate/20160919104837_create_decidim_organizations.rb +0 -19
  1095. data/decidim-core/db/migrate/20160920140207_devise_invitable_add_to_decidim_users.rb +0 -25
  1096. data/decidim-core/db/migrate/20160920141039_user_belongs_to_organization.rb +0 -7
  1097. data/decidim-core/db/migrate/20160920141151_user_has_roles.rb +0 -7
  1098. data/decidim-core/db/migrate/20161005153007_add_description_to_organizations.rb +0 -9
  1099. data/decidim-core/db/migrate/20161006085629_add_confirmable_to_devise.rb +0 -16
  1100. data/decidim-core/db/migrate/20161010085443_add_name_to_users.rb +0 -7
  1101. data/decidim-core/db/migrate/20161010131544_add_locale_to_users.rb +0 -7
  1102. data/decidim-core/db/migrate/20161018091013_create_decidim_authorizations.rb +0 -15
  1103. data/decidim-core/db/migrate/20161108093802_create_decidim_static_pages.rb +0 -13
  1104. data/decidim-core/db/migrate/20161110105712_create_decidim_features.rb +0 -11
  1105. data/decidim-core/db/migrate/20161123085134_add_categories.rb +0 -12
  1106. data/decidim-core/db/migrate/20161130105257_create_decidim_scopes.rb +0 -11
  1107. data/decidim-core/db/migrate/20161209134715_make_organization_description_optional.rb +0 -7
  1108. data/decidim-core/db/migrate/20161213094244_add_avatar_to_users.rb +0 -7
  1109. data/decidim-core/db/migrate/20161214152811_add_logo_to_organizations.rb +0 -7
  1110. data/decidim-core/db/migrate/20170110133113_add_configuration_to_features.rb +0 -9
  1111. data/decidim-core/db/migrate/20170110153807_add_handler_to_organization.rb +0 -7
  1112. data/decidim-core/db/migrate/20170113150627_create_resource_links.rb +0 -12
  1113. data/decidim-core/db/migrate/20170116110851_create_identities.rb +0 -13
  1114. data/decidim-core/db/migrate/20170117142904_add_uniqueness_field_to_authorizations.rb +0 -9
  1115. data/decidim-core/db/migrate/20170119145359_create_user_groups.rb +0 -13
  1116. data/decidim-core/db/migrate/20170119150255_create_user_group_memberships.rb +0 -14
  1117. data/decidim-core/db/migrate/20170119150649_add_show_statistics_to_organization.rb +0 -7
  1118. data/decidim-core/db/migrate/20170120120733_add_user_groups_verified.rb +0 -7
  1119. data/decidim-core/db/migrate/20170123140857_add_avatar_to_user_groups.rb +0 -7
  1120. data/decidim-core/db/migrate/20170125152026_add_weight_to_features.rb +0 -7
  1121. data/decidim-core/db/migrate/20170128140553_add_timestamps_to_identities.rb +0 -7
  1122. data/decidim-core/db/migrate/20170130132833_add_favicon_to_decidim_organizations.rb +0 -7
  1123. data/decidim-core/db/migrate/20170131134349_add_action_permissions_to_decidim_features.rb +0 -7
  1124. data/decidim-core/db/migrate/20170202084913_add_comments_and_replies_notifications_to_users.rb +0 -8
  1125. data/decidim-core/db/migrate/20170203150545_add_newsletter_notifications_to_users.rb +0 -7
  1126. data/decidim-core/db/migrate/20170206142116_add_published_at_to_decidim_features.rb +0 -8
  1127. data/decidim-core/db/migrate/20170207091021_add_social_media_handlers_to_organization.rb +0 -10
  1128. data/decidim-core/db/migrate/20170207093048_add_organization_logo_and_url.rb +0 -9
  1129. data/decidim-core/db/migrate/20170213081133_create_decidim_newsletters.rb +0 -17
  1130. data/decidim-core/db/migrate/20170215115407_add_organization_custom_reference.rb +0 -13
  1131. data/decidim-core/db/migrate/20170306144354_add_secondary_hosts_to_organizations.rb +0 -7
  1132. data/decidim-core/db/migrate/20170307084957_create_reports.rb +0 -17
  1133. data/decidim-core/db/migrate/20170308091316_create_moderations.rb +0 -14
  1134. data/decidim-core/db/migrate/20170313095436_add_available_authorizations_to_organization.rb +0 -12
  1135. data/decidim-core/db/migrate/20170405091801_change_decidim_user_email_index_uniqueness.rb +0 -8
  1136. data/decidim-core/db/migrate/20170405094028_add_organization_to_identities.rb +0 -7
  1137. data/decidim-core/db/migrate/20170405094258_change_decidim_identities_provider_uid_index_uniqueness.rb +0 -14
  1138. data/decidim-core/db/migrate/20170529150743_add_rejected_at_to_user_groups.rb +0 -7
  1139. data/decidim-core/db/migrate/20170605140421_add_deleted_fields_to_users.rb +0 -8
  1140. data/decidim-core/db/migrate/20170605162500_add_hierarchy_to_scopes.rb +0 -70
  1141. data/decidim-core/db/migrate/20170606102659_set_email_unique_in_organization_conditional.rb +0 -8
  1142. data/decidim-core/db/migrate/20170608142521_add_organization_to_user_groups.rb +0 -27
  1143. data/decidim-core/db/migrate/20170612070905_add_uniqueness_to_name_and_document_number_to_user_groups.rb +0 -8
  1144. data/decidim-core/db/migrate/20170612100253_create_decidim_categorizations.rb +0 -12
  1145. data/decidim-core/db/migrate/20170713131206_add_admin_to_users.rb +0 -13
  1146. data/decidim-core/db/migrate/20170713131308_migrate_user_roles_to_participatory_process_roles.rb +0 -32
  1147. data/decidim-core/db/migrate/20170720120231_make_moderations_polymorphic.rb +0 -29
  1148. data/decidim-core/db/migrate/20170720135441_add_managed_to_users.rb +0 -7
  1149. data/decidim-core/db/migrate/20170720140610_set_email_unique_in_organization_condition_for_managed_users.rb +0 -12
  1150. data/decidim-core/db/migrate/20170724130558_create_impersonation_logs.rb +0 -15
  1151. data/decidim-core/db/migrate/20170726145242_make_categories_polymorphic.rb +0 -27
  1152. data/decidim-core/db/migrate/20170727125445_add_roles_to_users.rb +0 -7
  1153. data/decidim-core/db/migrate/20170807123535_create_decidim_follows.rb +0 -20
  1154. data/decidim-core/db/migrate/20170808071019_create_decidim_notifications.rb +0 -13
  1155. data/decidim-core/db/migrate/20170906091718_add_extra_to_notifications.rb +0 -7
  1156. data/decidim-core/db/migrate/20170912082054_add_emails_on_notifications_flag_to_user.rb +0 -7
  1157. data/decidim-core/db/migrate/20170913092351_add_header_snippets_to_organizations.rb +0 -7
  1158. data/decidim-core/db/migrate/20170914075721_remove_followable_index_from_follows.rb +0 -7
  1159. data/decidim-core/db/migrate/20170914092116_remove_comment_and_replies_notifications_from_users.rb +0 -8
  1160. data/decidim-core/db/seeds.rb +0 -94
  1161. data/decidim-core/db/seeds/homepage_image.jpg +0 -0
  1162. data/decidim-core/decidim-core.gemspec +0 -61
  1163. data/decidim-core/lib/decidim/abilities.rb +0 -7
  1164. data/decidim-core/lib/decidim/abilities/participatory_process_role_ability.rb +0 -62
  1165. data/decidim-core/lib/decidim/attributes.rb +0 -7
  1166. data/decidim-core/lib/decidim/attributes/time_with_zone.rb +0 -14
  1167. data/decidim-core/lib/decidim/authorable.rb +0 -33
  1168. data/decidim-core/lib/decidim/authorization_form_builder.rb +0 -71
  1169. data/decidim-core/lib/decidim/core.rb +0 -242
  1170. data/decidim-core/lib/decidim/core/api.rb +0 -13
  1171. data/decidim-core/lib/decidim/core/api/author_interface.rb +0 -18
  1172. data/decidim-core/lib/decidim/core/api/decidim_type.rb +0 -17
  1173. data/decidim-core/lib/decidim/core/api/localized_string_type.rb +0 -12
  1174. data/decidim-core/lib/decidim/core/api/process_step_type.rb +0 -19
  1175. data/decidim-core/lib/decidim/core/api/process_type.rb +0 -17
  1176. data/decidim-core/lib/decidim/core/api/session_type.rb +0 -17
  1177. data/decidim-core/lib/decidim/core/api/translated_field_type.rb +0 -43
  1178. data/decidim-core/lib/decidim/core/api/user_group_type.rb +0 -35
  1179. data/decidim-core/lib/decidim/core/api/user_type.rb +0 -33
  1180. data/decidim-core/lib/decidim/core/engine.rb +0 -175
  1181. data/decidim-core/lib/decidim/core/test.rb +0 -21
  1182. data/decidim-core/lib/decidim/core/test/factories.rb +0 -322
  1183. data/decidim-core/lib/decidim/core/test/shared_examples/announcements_examples.rb +0 -58
  1184. data/decidim-core/lib/decidim/core/test/shared_examples/authorable.rb +0 -32
  1185. data/decidim-core/lib/decidim/core/test/shared_examples/comments_examples.rb +0 -177
  1186. data/decidim-core/lib/decidim/core/test/shared_examples/errors.rb +0 -21
  1187. data/decidim-core/lib/decidim/core/test/shared_examples/follows_examples.rb +0 -37
  1188. data/decidim-core/lib/decidim/core/test/shared_examples/has_attachments.rb +0 -25
  1189. data/decidim-core/lib/decidim/core/test/shared_examples/has_category.rb +0 -11
  1190. data/decidim-core/lib/decidim/core/test/shared_examples/has_feature.rb +0 -21
  1191. data/decidim-core/lib/decidim/core/test/shared_examples/has_reference.rb +0 -43
  1192. data/decidim-core/lib/decidim/core/test/shared_examples/has_scope.rb +0 -11
  1193. data/decidim-core/lib/decidim/core/test/shared_examples/localised_email.rb +0 -25
  1194. data/decidim-core/lib/decidim/core/test/shared_examples/manage_moderations_examples.rb +0 -69
  1195. data/decidim-core/lib/decidim/core/test/shared_examples/paginated_resource_examples.rb +0 -26
  1196. data/decidim-core/lib/decidim/core/test/shared_examples/process_announcements_examples.rb +0 -33
  1197. data/decidim-core/lib/decidim/core/test/shared_examples/publicable.rb +0 -27
  1198. data/decidim-core/lib/decidim/core/test/shared_examples/reportable.rb +0 -45
  1199. data/decidim-core/lib/decidim/core/test/shared_examples/reports_examples.rb +0 -64
  1200. data/decidim-core/lib/decidim/core/test/shared_examples/scope_helper_examples.rb +0 -41
  1201. data/decidim-core/lib/decidim/core/test/shared_examples/user_localised_email_examples.rb +0 -25
  1202. data/decidim-core/lib/decidim/core/version.rb +0 -25
  1203. data/decidim-core/lib/decidim/devise_failure_app.rb +0 -36
  1204. data/decidim-core/lib/decidim/engine_router.rb +0 -54
  1205. data/decidim-core/lib/decidim/events.rb +0 -9
  1206. data/decidim-core/lib/decidim/events/base_event.rb +0 -70
  1207. data/decidim-core/lib/decidim/events/email_event.rb +0 -39
  1208. data/decidim-core/lib/decidim/events/notification_event.rb +0 -32
  1209. data/decidim-core/lib/decidim/exporters.rb +0 -18
  1210. data/decidim-core/lib/decidim/exporters/csv.rb +0 -55
  1211. data/decidim-core/lib/decidim/exporters/export_data.rb +0 -37
  1212. data/decidim-core/lib/decidim/exporters/exporter.rb +0 -29
  1213. data/decidim-core/lib/decidim/exporters/json.rb +0 -23
  1214. data/decidim-core/lib/decidim/exporters/serializer.rb +0 -30
  1215. data/decidim-core/lib/decidim/faker/localized.rb +0 -163
  1216. data/decidim-core/lib/decidim/feature_manifest.rb +0 -193
  1217. data/decidim-core/lib/decidim/feature_validator.rb +0 -22
  1218. data/decidim-core/lib/decidim/features.rb +0 -9
  1219. data/decidim-core/lib/decidim/features/export_manifest.rb +0 -52
  1220. data/decidim-core/lib/decidim/features/namer.rb +0 -35
  1221. data/decidim-core/lib/decidim/file_zipper.rb +0 -29
  1222. data/decidim-core/lib/decidim/filter_form_builder.rb +0 -64
  1223. data/decidim-core/lib/decidim/followable.rb +0 -13
  1224. data/decidim-core/lib/decidim/form_builder.rb +0 -500
  1225. data/decidim-core/lib/decidim/has_attachments.rb +0 -33
  1226. data/decidim-core/lib/decidim/has_category.rb +0 -24
  1227. data/decidim-core/lib/decidim/has_feature.rb +0 -22
  1228. data/decidim-core/lib/decidim/has_reference.rb +0 -40
  1229. data/decidim-core/lib/decidim/has_scope.rb +0 -25
  1230. data/decidim-core/lib/decidim/has_settings.rb +0 -70
  1231. data/decidim-core/lib/decidim/i18n_exceptions.rb +0 -17
  1232. data/decidim-core/lib/decidim/manifest_registry.rb +0 -43
  1233. data/decidim-core/lib/decidim/menu.rb +0 -61
  1234. data/decidim-core/lib/decidim/menu_item.rb +0 -31
  1235. data/decidim-core/lib/decidim/menu_registry.rb +0 -65
  1236. data/decidim-core/lib/decidim/page_finder.rb +0 -49
  1237. data/decidim-core/lib/decidim/participable.rb +0 -80
  1238. data/decidim-core/lib/decidim/participatory_space_manifest.rb +0 -54
  1239. data/decidim-core/lib/decidim/publicable.rb +0 -49
  1240. data/decidim-core/lib/decidim/query_extensions.rb +0 -38
  1241. data/decidim-core/lib/decidim/reportable.rb +0 -47
  1242. data/decidim-core/lib/decidim/resource_manifest.rb +0 -74
  1243. data/decidim-core/lib/decidim/resourceable.rb +0 -112
  1244. data/decidim-core/lib/decidim/scopable.rb +0 -33
  1245. data/decidim-core/lib/decidim/settings_manifest.rb +0 -100
  1246. data/decidim-core/lib/decidim/stats_registry.rb +0 -111
  1247. data/decidim-core/lib/decidim/translatable_attributes.rb +0 -64
  1248. data/decidim-core/lib/devise/models/decidim_validatable.rb +0 -68
  1249. data/decidim-core/lib/tasks/decidim_tasks.rake +0 -6
  1250. data/decidim-core/spec/assets/avatar.jpg +0 -0
  1251. data/decidim-core/spec/commands/decidim/authorize_user_spec.rb +0 -74
  1252. data/decidim-core/spec/commands/decidim/create_omniauth_registration_spec.rb +0 -131
  1253. data/decidim-core/spec/commands/decidim/create_registration_spec.rb +0 -129
  1254. data/decidim-core/spec/commands/decidim/create_report_spec.rb +0 -99
  1255. data/decidim-core/spec/commands/decidim/destroy_account_spec.rb +0 -74
  1256. data/decidim-core/spec/commands/decidim/invite_user_again_spec.rb +0 -43
  1257. data/decidim-core/spec/commands/decidim/invite_user_spec.rb +0 -100
  1258. data/decidim-core/spec/commands/decidim/remove_admin_spec.rb +0 -31
  1259. data/decidim-core/spec/commands/decidim/update_account_spec.rb +0 -122
  1260. data/decidim-core/spec/commands/decidim/update_notifications_settings_spec.rb +0 -45
  1261. data/decidim-core/spec/controllers/authorizations_controller_spec.rb +0 -36
  1262. data/decidim-core/spec/controllers/concerns/form_factory_spec.rb +0 -92
  1263. data/decidim-core/spec/controllers/concerns/settings_spec.rb +0 -53
  1264. data/decidim-core/spec/controllers/locales_controller_spec.rb +0 -74
  1265. data/decidim-core/spec/controllers/omniauth_registrations_controller_spec.rb +0 -44
  1266. data/decidim-core/spec/controllers/pages_controller_spec.rb +0 -39
  1267. data/decidim-core/spec/controllers/registrations_controller_spec.rb +0 -57
  1268. data/decidim-core/spec/controllers/scopes_controller_spec.rb +0 -101
  1269. data/decidim-core/spec/controllers/sessions_controller_spec.rb +0 -60
  1270. data/decidim-core/spec/controllers/static_map_controller_spec.rb +0 -37
  1271. data/decidim-core/spec/factories.rb +0 -8
  1272. data/decidim-core/spec/factory_lint_spec.rb +0 -9
  1273. data/decidim-core/spec/features/account_spec.rb +0 -151
  1274. data/decidim-core/spec/features/authentication_spec.rb +0 -433
  1275. data/decidim-core/spec/features/authorizations_spec.rb +0 -139
  1276. data/decidim-core/spec/features/components_spec.rb +0 -23
  1277. data/decidim-core/spec/features/cookies_spec.rb +0 -25
  1278. data/decidim-core/spec/features/homepage_spec.rb +0 -181
  1279. data/decidim-core/spec/features/locales_spec.rb +0 -53
  1280. data/decidim-core/spec/features/menu_spec.rb +0 -60
  1281. data/decidim-core/spec/features/notifications_spec.rb +0 -88
  1282. data/decidim-core/spec/features/user_groups_spec.rb +0 -65
  1283. data/decidim-core/spec/forms/account_form_spec.rb +0 -71
  1284. data/decidim-core/spec/forms/attachment_form_spec.rb +0 -43
  1285. data/decidim-core/spec/forms/invite_user_form_spec.rb +0 -64
  1286. data/decidim-core/spec/forms/notifications_settings_form_spec.rb +0 -43
  1287. data/decidim-core/spec/forms/omniauth_registration_form_spec.rb +0 -57
  1288. data/decidim-core/spec/forms/registration_form_spec.rb +0 -125
  1289. data/decidim-core/spec/forms/report_form_spec.rb +0 -29
  1290. data/decidim-core/spec/forms/translatable_presence_validator_spec.rb +0 -52
  1291. data/decidim-core/spec/helpers/decidim/action_authorization_helper_spec.rb +0 -151
  1292. data/decidim-core/spec/helpers/decidim/application_helper_spec.rb +0 -40
  1293. data/decidim-core/spec/helpers/decidim/authorization_form_helper_spec.rb +0 -44
  1294. data/decidim-core/spec/helpers/decidim/decidim_form_helper_spec.rb +0 -54
  1295. data/decidim-core/spec/helpers/decidim/feature_path_helper_spec.rb +0 -26
  1296. data/decidim-core/spec/helpers/decidim/filters_helper_spec.rb +0 -44
  1297. data/decidim-core/spec/helpers/decidim/icon_helper_spec.rb +0 -31
  1298. data/decidim-core/spec/helpers/decidim/omniauth_helper_spec.rb +0 -50
  1299. data/decidim-core/spec/helpers/decidim/replace_buttons_helper_spec.rb +0 -26
  1300. data/decidim-core/spec/helpers/decidim/resource_helper_spec.rb +0 -76
  1301. data/decidim-core/spec/helpers/decidim/translations_helper_spec.rb +0 -49
  1302. data/decidim-core/spec/helpers/decidim/widget_urls_helper_spec.rb +0 -14
  1303. data/decidim-core/spec/jobs/decidim/email_notification_generator_job_spec.rb +0 -34
  1304. data/decidim-core/spec/jobs/decidim/notification_generator_for_recipient_job_spec.rb +0 -34
  1305. data/decidim-core/spec/jobs/decidim/notification_generator_job_spec.rb +0 -34
  1306. data/decidim-core/spec/lib/attributes/time_with_timezone_spec.rb +0 -41
  1307. data/decidim-core/spec/lib/authorization_form_builder_spec.rb +0 -63
  1308. data/decidim-core/spec/lib/decidim_spec.rb +0 -9
  1309. data/decidim-core/spec/lib/events/base_event_spec.rb +0 -13
  1310. data/decidim-core/spec/lib/events/email_event_spec.rb +0 -17
  1311. data/decidim-core/spec/lib/events/notification_event_spec.rb +0 -17
  1312. data/decidim-core/spec/lib/exporters/csv_spec.rb +0 -39
  1313. data/decidim-core/spec/lib/exporters/json_spec.rb +0 -34
  1314. data/decidim-core/spec/lib/exporters/serializer_spec.rb +0 -14
  1315. data/decidim-core/spec/lib/faker_localized_spec.rb +0 -70
  1316. data/decidim-core/spec/lib/feature_manifest_spec.rb +0 -109
  1317. data/decidim-core/spec/lib/features/current_feature_spec.rb +0 -80
  1318. data/decidim-core/spec/lib/features/export_manifest_spec.rb +0 -42
  1319. data/decidim-core/spec/lib/file_zipper_spec.rb +0 -29
  1320. data/decidim-core/spec/lib/filter_form_builder_spec.rb +0 -68
  1321. data/decidim-core/spec/lib/form_builder_spec.rb +0 -479
  1322. data/decidim-core/spec/lib/page_finder_spec.rb +0 -58
  1323. data/decidim-core/spec/lib/resource_manifest_spec.rb +0 -58
  1324. data/decidim-core/spec/lib/resourceable_spec.rb +0 -105
  1325. data/decidim-core/spec/lib/seed_spec.rb +0 -38
  1326. data/decidim-core/spec/lib/settings_manifest_spec.rb +0 -79
  1327. data/decidim-core/spec/lib/stats_registry_spec.rb +0 -111
  1328. data/decidim-core/spec/lib/translatable_attributes_spec.rb +0 -58
  1329. data/decidim-core/spec/mailers/decidim_devise_mailer_spec.rb +0 -54
  1330. data/decidim-core/spec/mailers/export_mailer_spec.rb +0 -40
  1331. data/decidim-core/spec/mailers/newsletter_mailer_spec.rb +0 -37
  1332. data/decidim-core/spec/mailers/previews/devise_mailer_preview.rb +0 -13
  1333. data/decidim-core/spec/mailers/reported_mailer_spec.rb +0 -38
  1334. data/decidim-core/spec/middleware/decidim/current_organization_spec.rb +0 -42
  1335. data/decidim-core/spec/models/decidim/abilities/admin_ability_spec.rb +0 -22
  1336. data/decidim-core/spec/models/decidim/abilities/base_ability_spec.rb +0 -45
  1337. data/decidim-core/spec/models/decidim/abilities/everyone_ability_spec.rb +0 -17
  1338. data/decidim-core/spec/models/decidim/abilities/participatory_process_admin_ability_spec.rb +0 -18
  1339. data/decidim-core/spec/models/decidim/abilities/participatory_process_collaborator_ability_spec.rb +0 -20
  1340. data/decidim-core/spec/models/decidim/attachment_spec.rb +0 -89
  1341. data/decidim-core/spec/models/decidim/authorization_spec.rb +0 -13
  1342. data/decidim-core/spec/models/decidim/category_spec.rb +0 -40
  1343. data/decidim-core/spec/models/decidim/feature_spec.rb +0 -14
  1344. data/decidim-core/spec/models/decidim/follow_spec.rb +0 -33
  1345. data/decidim-core/spec/models/decidim/identity_spec.rb +0 -56
  1346. data/decidim-core/spec/models/decidim/impersonation_log_spec.rb +0 -28
  1347. data/decidim-core/spec/models/decidim/organization_spec.rb +0 -45
  1348. data/decidim-core/spec/models/decidim/participatory_process_user_role_spec.rb +0 -62
  1349. data/decidim-core/spec/models/decidim/resource_link_spec.rb +0 -56
  1350. data/decidim-core/spec/models/decidim/scope_spec.rb +0 -122
  1351. data/decidim-core/spec/models/decidim/scope_type_spec.rb +0 -28
  1352. data/decidim-core/spec/models/decidim/static_page_spec.rb +0 -104
  1353. data/decidim-core/spec/models/decidim/user_group_membership_spec.rb +0 -21
  1354. data/decidim-core/spec/models/decidim/user_group_spec.rb +0 -59
  1355. data/decidim-core/spec/models/decidim/user_spec.rb +0 -91
  1356. data/decidim-core/spec/models/notification_spec.rb +0 -24
  1357. data/decidim-core/spec/presenters/decidim/home_stats_presenter_spec.rb +0 -76
  1358. data/decidim-core/spec/presenters/decidim/menu_item_presenter_spec.rb +0 -19
  1359. data/decidim-core/spec/presenters/decidim/menu_presenter_spec.rb +0 -60
  1360. data/decidim-core/spec/presenters/decidim/resource_locator_presenter_spec.rb +0 -49
  1361. data/decidim-core/spec/queries/decidim/stats_users_count_spec.rb +0 -42
  1362. data/decidim-core/spec/routing/feature_routes_spec.rb +0 -15
  1363. data/decidim-core/spec/services/decidim/action_authorizer_spec.rb +0 -130
  1364. data/decidim-core/spec/services/decidim/authorization_handler_spec.rb +0 -72
  1365. data/decidim-core/spec/services/decidim/dummy_authorization_handler_spec.rb +0 -43
  1366. data/decidim-core/spec/services/decidim/email_notification_generator_spec.rb +0 -63
  1367. data/decidim-core/spec/services/decidim/events_manager_spec.rb +0 -40
  1368. data/decidim-core/spec/services/decidim/notification_generator_for_recipient_spec.rb +0 -26
  1369. data/decidim-core/spec/services/decidim/notification_generator_spec.rb +0 -44
  1370. data/decidim-core/spec/services/decidim/static_map_generator_spec.rb +0 -28
  1371. data/decidim-core/spec/spec_helper.rb +0 -9
  1372. data/decidim-core/spec/types/decidim_type_spec.rb +0 -30
  1373. data/decidim-core/spec/types/localized_string_type_spec.rb +0 -30
  1374. data/decidim-core/spec/types/process_step_type_spec.rb +0 -42
  1375. data/decidim-core/spec/types/process_type_spec.rb +0 -39
  1376. data/decidim-core/spec/types/translated_field_type_spec.rb +0 -68
  1377. data/decidim-core/spec/types/user_group_type_spec.rb +0 -56
  1378. data/decidim-core/spec/types/user_type_spec.rb +0 -44
  1379. data/decidim-core/spec/validators/etiquette_validator_spec.rb +0 -63
  1380. data/decidim-core/spec/validators/geocoding_validator_spec.rb +0 -57
  1381. data/decidim-core/spec/views/decidim/authorizations/new.html.erb_spec.rb +0 -37
  1382. data/decidim-core/vendor/assets/javascripts/appendAround.js +0 -41
  1383. data/decidim-core/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.ca.js +0 -17
  1384. data/decidim-core/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.es.js +0 -14
  1385. data/decidim-core/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.eu.js +0 -15
  1386. data/decidim-core/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.fi.js +0 -14
  1387. data/decidim-core/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.fr.js +0 -14
  1388. data/decidim-core/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.it.js +0 -14
  1389. data/decidim-core/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.nl.js +0 -14
  1390. data/decidim-core/vendor/assets/javascripts/datepicker-locales/foundation-datepicker.uk.js +0 -14
  1391. data/decidim-core/vendor/assets/javascripts/form_datepicker.js.es6 +0 -32
  1392. data/decidim-core/vendor/assets/javascripts/foundation-datepicker.js +0 -1417
  1393. data/decidim-core/vendor/assets/javascripts/leaflet-svg-icon.js +0 -179
  1394. data/decidim-core/vendor/assets/javascripts/leaflet-tilelayer-here.js +0 -166
  1395. data/decidim-core/vendor/assets/javascripts/leaflet.js +0 -9
  1396. data/decidim-core/vendor/assets/javascripts/leaflet.markercluster.js +0 -7
  1397. data/decidim-core/vendor/assets/javascripts/modernizr.js +0 -3
  1398. data/decidim-core/vendor/assets/javascripts/morphdom.js +0 -688
  1399. data/decidim-core/vendor/assets/javascripts/quill.min.js +0 -8
  1400. data/decidim-core/vendor/assets/javascripts/quill.min.js.map +0 -1
  1401. data/decidim-core/vendor/assets/javascripts/svg4everybody.min.js +0 -2
  1402. data/decidim-core/vendor/assets/stylesheets/MarkerCluster.Default.css +0 -60
  1403. data/decidim-core/vendor/assets/stylesheets/MarkerCluster.css +0 -14
  1404. data/decidim-core/vendor/assets/stylesheets/leaflet.css +0 -624
  1405. data/decidim-core/vendor/assets/stylesheets/quill.bubble.css +0 -938
  1406. data/decidim-core/vendor/assets/stylesheets/quill.core.css +0 -387
  1407. data/decidim-core/vendor/assets/stylesheets/quill.snow.css +0 -931
  1408. data/decidim-dev/README.md +0 -24
  1409. data/decidim-dev/Rakefile +0 -3
  1410. data/decidim-dev/app/assets/images/decidim/dummy.svg +0 -4
  1411. data/decidim-dev/app/views/decidim/dummy_resource/_linked_dummys.html.erb +0 -5
  1412. data/decidim-dev/config/locales/ca.yml +0 -10
  1413. data/decidim-dev/config/locales/en.yml +0 -10
  1414. data/decidim-dev/config/locales/es.yml +0 -10
  1415. data/decidim-dev/config/locales/eu.yml +0 -9
  1416. data/decidim-dev/config/locales/fi.yml +0 -9
  1417. data/decidim-dev/config/locales/fr.yml +0 -9
  1418. data/decidim-dev/config/locales/it.yml +0 -9
  1419. data/decidim-dev/config/locales/nl.yml +0 -9
  1420. data/decidim-dev/config/locales/pl.yml +0 -9
  1421. data/decidim-dev/config/locales/uk.yml +0 -9
  1422. data/decidim-dev/decidim-dev.gemspec +0 -40
  1423. data/decidim-dev/lib/decidim/dev.rb +0 -45
  1424. data/decidim-dev/lib/decidim/dev/assets/Exampledocument.pdf +0 -0
  1425. data/decidim-dev/lib/decidim/dev/assets/avatar.jpg +0 -0
  1426. data/decidim-dev/lib/decidim/dev/assets/city.jpeg +0 -0
  1427. data/decidim-dev/lib/decidim/dev/assets/city2.jpeg +0 -0
  1428. data/decidim-dev/lib/decidim/dev/assets/city3.jpeg +0 -0
  1429. data/decidim-dev/lib/decidim/dev/assets/icon.png +0 -0
  1430. data/decidim-dev/lib/decidim/dev/assets/malicious.jpg +0 -0
  1431. data/decidim-dev/lib/decidim/dev/common_rake.rb +0 -10
  1432. data/decidim-dev/lib/decidim/dev/railtie.rb +0 -15
  1433. data/decidim-dev/lib/decidim/dev/test/authorization_shared_examples.rb +0 -18
  1434. data/decidim-dev/lib/decidim/dev/test/base_spec_helper.rb +0 -30
  1435. data/decidim-dev/lib/decidim/dev/test/promoted_participatory_processes_shared_examples.rb +0 -58
  1436. data/decidim-dev/lib/decidim/dev/test/rspec_support/action_mailer.rb +0 -73
  1437. data/decidim-dev/lib/decidim/dev/test/rspec_support/active_job.rb +0 -11
  1438. data/decidim-dev/lib/decidim/dev/test/rspec_support/attachments.rb +0 -13
  1439. data/decidim-dev/lib/decidim/dev/test/rspec_support/authenticated_controller_context.rb +0 -10
  1440. data/decidim-dev/lib/decidim/dev/test/rspec_support/authorization_handlers.rb +0 -8
  1441. data/decidim-dev/lib/decidim/dev/test/rspec_support/capybara.rb +0 -67
  1442. data/decidim-dev/lib/decidim/dev/test/rspec_support/capybara_select2.rb +0 -35
  1443. data/decidim-dev/lib/decidim/dev/test/rspec_support/comments.rb +0 -19
  1444. data/decidim-dev/lib/decidim/dev/test/rspec_support/database_cleaner.rb +0 -14
  1445. data/decidim-dev/lib/decidim/dev/test/rspec_support/factory_girl.rb +0 -5
  1446. data/decidim-dev/lib/decidim/dev/test/rspec_support/feature.rb +0 -132
  1447. data/decidim-dev/lib/decidim/dev/test/rspec_support/feature_context.rb +0 -76
  1448. data/decidim-dev/lib/decidim/dev/test/rspec_support/geocoder.rb +0 -18
  1449. data/decidim-dev/lib/decidim/dev/test/rspec_support/helpers.rb +0 -42
  1450. data/decidim-dev/lib/decidim/dev/test/rspec_support/html_matchers.rb +0 -7
  1451. data/decidim-dev/lib/decidim/dev/test/rspec_support/phantomjs_polyfills/phantomjs-getOwnPropertyNames.js +0 -16
  1452. data/decidim-dev/lib/decidim/dev/test/rspec_support/phantomjs_polyfills/phantomjs-shim.js +0 -225
  1453. data/decidim-dev/lib/decidim/dev/test/rspec_support/phantomjs_polyfills/promise.js +0 -233
  1454. data/decidim-dev/lib/decidim/dev/test/rspec_support/route_helpers.rb +0 -6
  1455. data/decidim-dev/lib/decidim/dev/test/rspec_support/translation_helpers.rb +0 -97
  1456. data/decidim-dev/lib/decidim/dev/test/rspec_support/warden.rb +0 -26
  1457. data/decidim-dev/lib/decidim/dev/test/rspec_support/webmock.rb +0 -4
  1458. data/decidim-dev/lib/decidim/dev/test/rspec_support/wisper.rb +0 -7
  1459. data/decidim-dev/lib/decidim/dev/test/spec_helper.rb +0 -40
  1460. data/decidim-dev/lib/generators/decidim/dummy_generator.rb +0 -88
  1461. data/decidim-dev/lib/generators/decidim/templates/autoprefixer.yml +0 -8
  1462. data/decidim-dev/lib/generators/decidim/templates/autoprefixer_initializer.rb +0 -18
  1463. data/decidim-dev/lib/generators/decidim/templates/no_animations.rb +0 -54
  1464. data/decidim-dev/lib/tasks/locale_checker.rake +0 -21
  1465. data/decidim-dev/lib/tasks/test_app.rake +0 -30
  1466. data/decidim-meetings/README.md +0 -23
  1467. data/decidim-meetings/Rakefile +0 -3
  1468. data/decidim-meetings/app/assets/config/admin/decidim_meetings_manifest.js +0 -1
  1469. data/decidim-meetings/app/assets/images/decidim/meetings/icon.svg +0 -5
  1470. data/decidim-meetings/app/assets/javascripts/decidim/meetings/admin/registrations_form.js.es6 +0 -21
  1471. data/decidim-meetings/app/commands/decidim/meetings/admin/close_meeting.rb +0 -62
  1472. data/decidim-meetings/app/commands/decidim/meetings/admin/create_meeting.rb +0 -56
  1473. data/decidim-meetings/app/commands/decidim/meetings/admin/update_meeting.rb +0 -84
  1474. data/decidim-meetings/app/commands/decidim/meetings/admin/update_registrations.rb +0 -60
  1475. data/decidim-meetings/app/commands/decidim/meetings/join_meeting.rb +0 -73
  1476. data/decidim-meetings/app/commands/decidim/meetings/leave_meeting.rb +0 -39
  1477. data/decidim-meetings/app/controllers/decidim/meetings/admin/application_controller.rb +0 -24
  1478. data/decidim-meetings/app/controllers/decidim/meetings/admin/attachments_controller.rb +0 -30
  1479. data/decidim-meetings/app/controllers/decidim/meetings/admin/meeting_closes_controller.rb +0 -38
  1480. data/decidim-meetings/app/controllers/decidim/meetings/admin/meetings_controller.rb +0 -58
  1481. data/decidim-meetings/app/controllers/decidim/meetings/admin/registrations_controller.rb +0 -43
  1482. data/decidim-meetings/app/controllers/decidim/meetings/application_controller.rb +0 -14
  1483. data/decidim-meetings/app/controllers/decidim/meetings/meeting_widgets_controller.rb +0 -19
  1484. data/decidim-meetings/app/controllers/decidim/meetings/meetings_controller.rb +0 -57
  1485. data/decidim-meetings/app/controllers/decidim/meetings/registrations_controller.rb +0 -46
  1486. data/decidim-meetings/app/events/decidim/meetings/close_meeting_event.rb +0 -30
  1487. data/decidim-meetings/app/events/decidim/meetings/meeting_registrations_enabled_event.rb +0 -39
  1488. data/decidim-meetings/app/events/decidim/meetings/meeting_registrations_over_percentage_event.rb +0 -43
  1489. data/decidim-meetings/app/events/decidim/meetings/upcoming_meeting_event.rb +0 -30
  1490. data/decidim-meetings/app/events/decidim/meetings/update_meeting_event.rb +0 -30
  1491. data/decidim-meetings/app/forms/decidim/meetings/admin/close_meeting_form.rb +0 -33
  1492. data/decidim-meetings/app/forms/decidim/meetings/admin/meeting_form.rb +0 -58
  1493. data/decidim-meetings/app/forms/decidim/meetings/admin/meeting_registrations_form.rb +0 -32
  1494. data/decidim-meetings/app/helpers/decidim/meetings/admin/application_helper.rb +0 -13
  1495. data/decidim-meetings/app/helpers/decidim/meetings/application_helper.rb +0 -15
  1496. data/decidim-meetings/app/helpers/decidim/meetings/map_helper.rb +0 -26
  1497. data/decidim-meetings/app/helpers/decidim/meetings/meetings_helper.rb +0 -25
  1498. data/decidim-meetings/app/jobs/decidim/meetings/upcoming_meeting_notification_job.rb +0 -33
  1499. data/decidim-meetings/app/mailers/decidim/meetings/registration_mailer.rb +0 -46
  1500. data/decidim-meetings/app/models/decidim/meetings/abilities/current_user_ability.rb +0 -43
  1501. data/decidim-meetings/app/models/decidim/meetings/application_record.rb +0 -10
  1502. data/decidim-meetings/app/models/decidim/meetings/meeting.rb +0 -68
  1503. data/decidim-meetings/app/models/decidim/meetings/registration.rb +0 -13
  1504. data/decidim-meetings/app/serializers/decidim/meetings/registration_serializer.rb +0 -18
  1505. data/decidim-meetings/app/services/decidim/meetings/meeting_search.rb +0 -47
  1506. data/decidim-meetings/app/views/decidim/meetings/admin/meeting_closes/_form.html.erb +0 -34
  1507. data/decidim-meetings/app/views/decidim/meetings/admin/meeting_closes/edit.html.erb +0 -7
  1508. data/decidim-meetings/app/views/decidim/meetings/admin/meetings/_form.html.erb +0 -48
  1509. data/decidim-meetings/app/views/decidim/meetings/admin/meetings/edit.html.erb +0 -8
  1510. data/decidim-meetings/app/views/decidim/meetings/admin/meetings/index.html.erb +0 -75
  1511. data/decidim-meetings/app/views/decidim/meetings/admin/meetings/new.html.erb +0 -7
  1512. data/decidim-meetings/app/views/decidim/meetings/admin/registrations/_form.html.erb +0 -33
  1513. data/decidim-meetings/app/views/decidim/meetings/admin/registrations/edit.html.erb +0 -8
  1514. data/decidim-meetings/app/views/decidim/meetings/meeting_widgets/show.html.erb +0 -9
  1515. data/decidim-meetings/app/views/decidim/meetings/meetings/_datetime.html.erb +0 -8
  1516. data/decidim-meetings/app/views/decidim/meetings/meetings/_filters.html.erb +0 -26
  1517. data/decidim-meetings/app/views/decidim/meetings/meetings/_filters_small_view.html.erb +0 -18
  1518. data/decidim-meetings/app/views/decidim/meetings/meetings/_linked_meetings.html.erb +0 -22
  1519. data/decidim-meetings/app/views/decidim/meetings/meetings/_meetings.html.erb +0 -35
  1520. data/decidim-meetings/app/views/decidim/meetings/meetings/_registration_confirm.html.erb +0 -15
  1521. data/decidim-meetings/app/views/decidim/meetings/meetings/index.html.erb +0 -49
  1522. data/decidim-meetings/app/views/decidim/meetings/meetings/index.js.erb +0 -12
  1523. data/decidim-meetings/app/views/decidim/meetings/meetings/show.html.erb +0 -85
  1524. data/decidim-meetings/app/views/decidim/meetings/registration_mailer/confirmation.html.erb +0 -3
  1525. data/decidim-meetings/bin/rails +0 -15
  1526. data/decidim-meetings/config/locales/ca.yml +0 -175
  1527. data/decidim-meetings/config/locales/en.yml +0 -177
  1528. data/decidim-meetings/config/locales/es.yml +0 -175
  1529. data/decidim-meetings/config/locales/eu.yml +0 -174
  1530. data/decidim-meetings/config/locales/fi.yml +0 -174
  1531. data/decidim-meetings/config/locales/fr.yml +0 -174
  1532. data/decidim-meetings/config/locales/it.yml +0 -174
  1533. data/decidim-meetings/config/locales/nl.yml +0 -174
  1534. data/decidim-meetings/config/locales/pl.yml +0 -176
  1535. data/decidim-meetings/config/locales/uk.yml +0 -178
  1536. data/decidim-meetings/db/migrate/20161130121354_create_meetings.rb +0 -22
  1537. data/decidim-meetings/db/migrate/20170110142105_close_a_meeting.rb +0 -11
  1538. data/decidim-meetings/db/migrate/20170123151650_add_latitude_and_longitude_to_meetings.rb +0 -8
  1539. data/decidim-meetings/db/migrate/20170129153716_remove_short_description_from_meetings.rb +0 -7
  1540. data/decidim-meetings/db/migrate/20170215132546_add_reference_to_meetings.rb +0 -13
  1541. data/decidim-meetings/db/migrate/20170410074252_remove_not_null_reference_meetings.rb +0 -7
  1542. data/decidim-meetings/db/migrate/20170612101925_migrate_meetings_category.rb +0 -15
  1543. data/decidim-meetings/db/migrate/20170810120836_add_registration_attributes_to_meetings.rb +0 -9
  1544. data/decidim-meetings/db/migrate/20170810131100_create_registrations.rb +0 -14
  1545. data/decidim-meetings/decidim-meetings.gemspec +0 -33
  1546. data/decidim-meetings/lib/decidim/meetings.rb +0 -12
  1547. data/decidim-meetings/lib/decidim/meetings/admin.rb +0 -10
  1548. data/decidim-meetings/lib/decidim/meetings/admin_engine.rb +0 -35
  1549. data/decidim-meetings/lib/decidim/meetings/engine.rb +0 -31
  1550. data/decidim-meetings/lib/decidim/meetings/feature.rb +0 -111
  1551. data/decidim-meetings/lib/decidim/meetings/seeds/Exampledocument.pdf +0 -0
  1552. data/decidim-meetings/lib/decidim/meetings/seeds/city.jpeg +0 -0
  1553. data/decidim-meetings/lib/decidim/meetings/test/factories.rb +0 -35
  1554. data/decidim-meetings/spec/commands/close_meeting_spec.rb +0 -99
  1555. data/decidim-meetings/spec/commands/create_meeting_spec.rb +0 -87
  1556. data/decidim-meetings/spec/commands/join_meeting_spec.rb +0 -152
  1557. data/decidim-meetings/spec/commands/leave_meeting_spec.rb +0 -34
  1558. data/decidim-meetings/spec/commands/update_meeting_spec.rb +0 -183
  1559. data/decidim-meetings/spec/commands/update_registrations_spec.rb +0 -79
  1560. data/decidim-meetings/spec/events/decidim/meetings/close_meeting_event_spec.rb +0 -17
  1561. data/decidim-meetings/spec/events/decidim/meetings/meeting_registrations_enabled_event_spec.rb +0 -17
  1562. data/decidim-meetings/spec/events/decidim/meetings/meeting_registrations_over_percentage_event_spec.rb +0 -17
  1563. data/decidim-meetings/spec/events/decidim/meetings/upcoming_meeting_event_spec.rb +0 -17
  1564. data/decidim-meetings/spec/events/decidim/meetings/update_meeting_event_spec.rb +0 -17
  1565. data/decidim-meetings/spec/factories.rb +0 -10
  1566. data/decidim-meetings/spec/features/admin_manages_meetings_attachments_spec.rb +0 -12
  1567. data/decidim-meetings/spec/features/admin_manages_meetings_spec.rb +0 -14
  1568. data/decidim-meetings/spec/features/comments_spec.rb +0 -22
  1569. data/decidim-meetings/spec/features/explore_meetings_spec.rb +0 -275
  1570. data/decidim-meetings/spec/features/follow_meetings_spec.rb +0 -13
  1571. data/decidim-meetings/spec/features/meeting_embeds_spec.rb +0 -39
  1572. data/decidim-meetings/spec/features/meeting_registrations_spec.rb +0 -131
  1573. data/decidim-meetings/spec/features/process_admin_manages_meetings_attachments_spec.rb +0 -12
  1574. data/decidim-meetings/spec/features/process_admin_manages_meetings_spec.rb +0 -14
  1575. data/decidim-meetings/spec/forms/close_meeting_form_spec.rb +0 -89
  1576. data/decidim-meetings/spec/forms/meeting_form_spec.rb +0 -150
  1577. data/decidim-meetings/spec/forms/meeting_registrations_form_spec.rb +0 -78
  1578. data/decidim-meetings/spec/helpers/meetings_helper_spec.rb +0 -16
  1579. data/decidim-meetings/spec/jobs/decidim/meetings/upcoming_meeting_notification_job_spec.rb +0 -41
  1580. data/decidim-meetings/spec/mailers/registration_mailer_spec.rb +0 -38
  1581. data/decidim-meetings/spec/models/meeting_spec.rb +0 -57
  1582. data/decidim-meetings/spec/models/registration_spec.rb +0 -21
  1583. data/decidim-meetings/spec/serializers/registration_serializer_spec.rb +0 -23
  1584. data/decidim-meetings/spec/services/meeting_search_spec.rb +0 -144
  1585. data/decidim-meetings/spec/shared/manage_attachments_examples.rb +0 -15
  1586. data/decidim-meetings/spec/shared/manage_meetings_examples.rb +0 -285
  1587. data/decidim-meetings/spec/shared/manage_registrations_examples.rb +0 -71
  1588. data/decidim-meetings/spec/spec_helper.rb +0 -9
  1589. data/decidim-pages/README.md +0 -24
  1590. data/decidim-pages/Rakefile +0 -3
  1591. data/decidim-pages/app/assets/images/decidim/pages/icon.svg +0 -8
  1592. data/decidim-pages/app/commands/decidim/pages/admin/update_page.rb +0 -36
  1593. data/decidim-pages/app/commands/decidim/pages/copy_page.rb +0 -26
  1594. data/decidim-pages/app/commands/decidim/pages/create_page.rb +0 -19
  1595. data/decidim-pages/app/commands/decidim/pages/destroy_page.rb +0 -18
  1596. data/decidim-pages/app/controllers/decidim/pages/admin/application_controller.rb +0 -13
  1597. data/decidim-pages/app/controllers/decidim/pages/admin/pages_controller.rb +0 -36
  1598. data/decidim-pages/app/controllers/decidim/pages/application_controller.rb +0 -16
  1599. data/decidim-pages/app/forms/decidim/pages/admin/page_form.rb +0 -14
  1600. data/decidim-pages/app/helpers/decidim/pages/application_helper.rb +0 -10
  1601. data/decidim-pages/app/models/decidim/pages/application_record.rb +0 -10
  1602. data/decidim-pages/app/models/decidim/pages/page.rb +0 -19
  1603. data/decidim-pages/app/views/decidim/pages/admin/pages/_form.html.erb +0 -10
  1604. data/decidim-pages/app/views/decidim/pages/admin/pages/edit.html.erb +0 -7
  1605. data/decidim-pages/app/views/decidim/pages/application/show.html.erb +0 -15
  1606. data/decidim-pages/bin/rails +0 -15
  1607. data/decidim-pages/config/locales/ca.yml +0 -23
  1608. data/decidim-pages/config/locales/en.yml +0 -23
  1609. data/decidim-pages/config/locales/es.yml +0 -23
  1610. data/decidim-pages/config/locales/eu.yml +0 -22
  1611. data/decidim-pages/config/locales/fi.yml +0 -22
  1612. data/decidim-pages/config/locales/fr.yml +0 -22
  1613. data/decidim-pages/config/locales/it.yml +0 -22
  1614. data/decidim-pages/config/locales/nl.yml +0 -22
  1615. data/decidim-pages/config/locales/pl.yml +0 -22
  1616. data/decidim-pages/config/locales/uk.yml +0 -22
  1617. data/decidim-pages/db/migrate/20161116121353_create_decidim_pages.rb +0 -13
  1618. data/decidim-pages/db/migrate/20161214150429_add_commentable_to_pages.rb +0 -7
  1619. data/decidim-pages/db/migrate/20170110145040_remove_commentable_flag_from_pages.rb +0 -7
  1620. data/decidim-pages/db/migrate/20170220091402_remove_page_feature_titles.rb +0 -7
  1621. data/decidim-pages/decidim-pages.gemspec +0 -23
  1622. data/decidim-pages/lib/decidim/pages.rb +0 -13
  1623. data/decidim-pages/lib/decidim/pages/admin.rb +0 -10
  1624. data/decidim-pages/lib/decidim/pages/admin_engine.rb +0 -22
  1625. data/decidim-pages/lib/decidim/pages/engine.rb +0 -17
  1626. data/decidim-pages/lib/decidim/pages/feature.rb +0 -62
  1627. data/decidim-pages/spec/commands/copy_page_spec.rb +0 -47
  1628. data/decidim-pages/spec/commands/create_page_spec.rb +0 -44
  1629. data/decidim-pages/spec/commands/destroy_page_spec.rb +0 -25
  1630. data/decidim-pages/spec/commands/update_page_spec.rb +0 -58
  1631. data/decidim-pages/spec/factories.rb +0 -17
  1632. data/decidim-pages/spec/features/admin_spec.rb +0 -53
  1633. data/decidim-pages/spec/features/page_show_spec.rb +0 -28
  1634. data/decidim-pages/spec/forms/page_form_spec.rb +0 -42
  1635. data/decidim-pages/spec/models/page_spec.rb +0 -32
  1636. data/decidim-pages/spec/spec_helper.rb +0 -9
  1637. data/decidim-participatory_processes/.gitignore +0 -3
  1638. data/decidim-participatory_processes/README.md +0 -36
  1639. data/decidim-participatory_processes/Rakefile +0 -3
  1640. data/decidim-participatory_processes/app/assets/config/admin/decidim_participatory_processes_manifest.js +0 -1
  1641. data/decidim-participatory_processes/app/assets/config/decidim_participatory_processes_manifest.js +0 -2
  1642. data/decidim-participatory_processes/app/assets/images/decidim/participatory_processes/process.svg +0 -10
  1643. data/decidim-participatory_processes/app/assets/javascripts/decidim/participatory_processes/admin/participatory_processes.js.es6 +0 -12
  1644. data/decidim-participatory_processes/app/assets/javascripts/decidim/participatory_processes/filters.js.es6 +0 -25
  1645. data/decidim-participatory_processes/app/commands/decidim/participatory_processes/admin/activate_participatory_process_step.rb +0 -46
  1646. data/decidim-participatory_processes/app/commands/decidim/participatory_processes/admin/copy_participatory_process.rb +0 -116
  1647. data/decidim-participatory_processes/app/commands/decidim/participatory_processes/admin/create_participatory_process.rb +0 -82
  1648. data/decidim-participatory_processes/app/commands/decidim/participatory_processes/admin/create_participatory_process_admin.rb +0 -95
  1649. data/decidim-participatory_processes/app/commands/decidim/participatory_processes/admin/create_participatory_process_group.rb +0 -57
  1650. data/decidim-participatory_processes/app/commands/decidim/participatory_processes/admin/create_participatory_process_step.rb +0 -49
  1651. data/decidim-participatory_processes/app/commands/decidim/participatory_processes/admin/deactivate_participatory_process_step.rb +0 -38
  1652. data/decidim-participatory_processes/app/commands/decidim/participatory_processes/admin/destroy_participatory_process_step.rb +0 -46
  1653. data/decidim-participatory_processes/app/commands/decidim/participatory_processes/admin/publish_participatory_process.rb +0 -34
  1654. data/decidim-participatory_processes/app/commands/decidim/participatory_processes/admin/reorder_participatory_process_steps.rb +0 -54
  1655. data/decidim-participatory_processes/app/commands/decidim/participatory_processes/admin/unpublish_participatory_process.rb +0 -34
  1656. data/decidim-participatory_processes/app/commands/decidim/participatory_processes/admin/update_participatory_process.rb +0 -77
  1657. data/decidim-participatory_processes/app/commands/decidim/participatory_processes/admin/update_participatory_process_admin.rb +0 -43
  1658. data/decidim-participatory_processes/app/commands/decidim/participatory_processes/admin/update_participatory_process_group.rb +0 -60
  1659. data/decidim-participatory_processes/app/commands/decidim/participatory_processes/admin/update_participatory_process_step.rb +0 -51
  1660. data/decidim-participatory_processes/app/constraints/decidim/participatory_processes/current_feature.rb +0 -28
  1661. data/decidim-participatory_processes/app/constraints/decidim/participatory_processes/current_participatory_process.rb +0 -37
  1662. data/decidim-participatory_processes/app/controllers/concerns/decidim/participatory_processes/admin/participatory_process_context.rb +0 -21
  1663. data/decidim-participatory_processes/app/controllers/concerns/decidim/participatory_processes/needs_participatory_process.rb +0 -50
  1664. data/decidim-participatory_processes/app/controllers/concerns/decidim/participatory_processes/participatory_process_context.rb +0 -27
  1665. data/decidim-participatory_processes/app/controllers/decidim/participatory_processes/admin/application_controller.rb +0 -11
  1666. data/decidim-participatory_processes/app/controllers/decidim/participatory_processes/admin/categories_controller.rb +0 -13
  1667. data/decidim-participatory_processes/app/controllers/decidim/participatory_processes/admin/concerns/participatory_process_admin.rb +0 -26
  1668. data/decidim-participatory_processes/app/controllers/decidim/participatory_processes/admin/exports_controller.rb +0 -14
  1669. data/decidim-participatory_processes/app/controllers/decidim/participatory_processes/admin/feature_permissions_controller.rb +0 -14
  1670. data/decidim-participatory_processes/app/controllers/decidim/participatory_processes/admin/features_controller.rb +0 -14
  1671. data/decidim-participatory_processes/app/controllers/decidim/participatory_processes/admin/moderations_controller.rb +0 -12
  1672. data/decidim-participatory_processes/app/controllers/decidim/participatory_processes/admin/participatory_process_attachments_controller.rb +0 -27
  1673. data/decidim-participatory_processes/app/controllers/decidim/participatory_processes/admin/participatory_process_copies_controller.rb +0 -35
  1674. data/decidim-participatory_processes/app/controllers/decidim/participatory_processes/admin/participatory_process_groups_controller.rb +0 -90
  1675. data/decidim-participatory_processes/app/controllers/decidim/participatory_processes/admin/participatory_process_publications_controller.rb +0 -45
  1676. data/decidim-participatory_processes/app/controllers/decidim/participatory_processes/admin/participatory_process_step_activations_controller.rb +0 -39
  1677. data/decidim-participatory_processes/app/controllers/decidim/participatory_processes/admin/participatory_process_step_ordering_controller.rb +0 -29
  1678. data/decidim-participatory_processes/app/controllers/decidim/participatory_processes/admin/participatory_process_steps_controller.rb +0 -91
  1679. data/decidim-participatory_processes/app/controllers/decidim/participatory_processes/admin/participatory_process_user_roles_controller.rb +0 -99
  1680. data/decidim-participatory_processes/app/controllers/decidim/participatory_processes/admin/participatory_processes_controller.rb +0 -102
  1681. data/decidim-participatory_processes/app/controllers/decidim/participatory_processes/participatory_process_groups_controller.rb +0 -28
  1682. data/decidim-participatory_processes/app/controllers/decidim/participatory_processes/participatory_process_steps_controller.rb +0 -20
  1683. data/decidim-participatory_processes/app/controllers/decidim/participatory_processes/participatory_process_widgets_controller.rb +0 -21
  1684. data/decidim-participatory_processes/app/controllers/decidim/participatory_processes/participatory_processes_controller.rb +0 -64
  1685. data/decidim-participatory_processes/app/forms/decidim/participatory_processes/admin/participatory_process_copy_form.rb +0 -35
  1686. data/decidim-participatory_processes/app/forms/decidim/participatory_processes/admin/participatory_process_form.rb +0 -72
  1687. data/decidim-participatory_processes/app/forms/decidim/participatory_processes/admin/participatory_process_group_form.rb +0 -26
  1688. data/decidim-participatory_processes/app/forms/decidim/participatory_processes/admin/participatory_process_step_form.rb +0 -37
  1689. data/decidim-participatory_processes/app/forms/decidim/participatory_processes/admin/participatory_process_user_role_form.rb +0 -31
  1690. data/decidim-participatory_processes/app/helpers/decidim/participatory_processes/admin/process_groups_for_select_helper.rb +0 -23
  1691. data/decidim-participatory_processes/app/helpers/decidim/participatory_processes/admin/processes_for_select_helper.rb +0 -25
  1692. data/decidim-participatory_processes/app/helpers/decidim/participatory_processes/participatory_process_helper.rb +0 -19
  1693. data/decidim-participatory_processes/app/helpers/decidim/participatory_processes/participatory_process_steps_helper.rb +0 -20
  1694. data/decidim-participatory_processes/app/models/decidim/participatory_process.rb +0 -62
  1695. data/decidim-participatory_processes/app/models/decidim/participatory_process_group.rb +0 -15
  1696. data/decidim-participatory_processes/app/models/decidim/participatory_process_step.rb +0 -39
  1697. data/decidim-participatory_processes/app/models/decidim/participatory_processes/abilities/admin/admin_ability.rb +0 -21
  1698. data/decidim-participatory_processes/app/models/decidim/participatory_processes/abilities/admin_ability.rb +0 -16
  1699. data/decidim-participatory_processes/app/models/decidim/participatory_processes/abilities/everyone_ability.rb +0 -19
  1700. data/decidim-participatory_processes/app/presenters/decidim/participatory_processes/participatory_process_stats_presenter.rb +0 -52
  1701. data/decidim-participatory_processes/app/queries/decidim/participatory_processes/admin/admin_users.rb +0 -46
  1702. data/decidim-participatory_processes/app/queries/decidim/participatory_processes/filtered_participatory_process_groups.rb +0 -29
  1703. data/decidim-participatory_processes/app/queries/decidim/participatory_processes/filtered_participatory_processes.rb +0 -26
  1704. data/decidim-participatory_processes/app/queries/decidim/participatory_processes/highlighted_participatory_processes.rb +0 -12
  1705. data/decidim-participatory_processes/app/queries/decidim/participatory_processes/organization_participatory_process_groups.rb +0 -16
  1706. data/decidim-participatory_processes/app/queries/decidim/participatory_processes/organization_participatory_processes.rb +0 -16
  1707. data/decidim-participatory_processes/app/queries/decidim/participatory_processes/organization_prioritized_participatory_process_groups.rb +0 -20
  1708. data/decidim-participatory_processes/app/queries/decidim/participatory_processes/organization_prioritized_participatory_processes.rb +0 -22
  1709. data/decidim-participatory_processes/app/queries/decidim/participatory_processes/organization_published_participatory_processes.rb +0 -19
  1710. data/decidim-participatory_processes/app/queries/decidim/participatory_processes/prioritized_participatory_processes.rb +0 -13
  1711. data/decidim-participatory_processes/app/queries/decidim/participatory_processes/promoted_participatory_processes.rb +0 -12
  1712. data/decidim-participatory_processes/app/queries/decidim/participatory_processes/published_participatory_processes.rb +0 -12
  1713. data/decidim-participatory_processes/app/views/decidim/participatory_process_groups/_participatory_process_group.html.erb +0 -22
  1714. data/decidim-participatory_processes/app/views/decidim/participatory_process_steps/_participatory_process_step.html.erb +0 -16
  1715. data/decidim-participatory_processes/app/views/decidim/participatory_processes/_order_by_processes.html.erb +0 -12
  1716. data/decidim-participatory_processes/app/views/decidim/participatory_processes/_participatory_process.html.erb +0 -28
  1717. data/decidim-participatory_processes/app/views/decidim/participatory_processes/admin/participatory_process_copies/_form.html.erb +0 -38
  1718. data/decidim-participatory_processes/app/views/decidim/participatory_processes/admin/participatory_process_copies/new.html.erb +0 -7
  1719. data/decidim-participatory_processes/app/views/decidim/participatory_processes/admin/participatory_process_groups/_form.html.erb +0 -17
  1720. data/decidim-participatory_processes/app/views/decidim/participatory_processes/admin/participatory_process_groups/edit.html.erb +0 -19
  1721. data/decidim-participatory_processes/app/views/decidim/participatory_processes/admin/participatory_process_groups/index.html.erb +0 -44
  1722. data/decidim-participatory_processes/app/views/decidim/participatory_processes/admin/participatory_process_groups/new.html.erb +0 -13
  1723. data/decidim-participatory_processes/app/views/decidim/participatory_processes/admin/participatory_process_groups/show.html.erb +0 -23
  1724. data/decidim-participatory_processes/app/views/decidim/participatory_processes/admin/participatory_process_steps/_form.html.erb +0 -25
  1725. data/decidim-participatory_processes/app/views/decidim/participatory_processes/admin/participatory_process_steps/edit.html.erb +0 -8
  1726. data/decidim-participatory_processes/app/views/decidim/participatory_processes/admin/participatory_process_steps/index.html.erb +0 -63
  1727. data/decidim-participatory_processes/app/views/decidim/participatory_processes/admin/participatory_process_steps/new.html.erb +0 -7
  1728. data/decidim-participatory_processes/app/views/decidim/participatory_processes/admin/participatory_process_steps/show.html.erb +0 -18
  1729. data/decidim-participatory_processes/app/views/decidim/participatory_processes/admin/participatory_process_user_roles/_form.html.erb +0 -22
  1730. data/decidim-participatory_processes/app/views/decidim/participatory_processes/admin/participatory_process_user_roles/edit.html.erb +0 -7
  1731. data/decidim-participatory_processes/app/views/decidim/participatory_processes/admin/participatory_process_user_roles/index.html.erb +0 -65
  1732. data/decidim-participatory_processes/app/views/decidim/participatory_processes/admin/participatory_process_user_roles/new.html.erb +0 -7
  1733. data/decidim-participatory_processes/app/views/decidim/participatory_processes/admin/participatory_processes/_form.html.erb +0 -107
  1734. data/decidim-participatory_processes/app/views/decidim/participatory_processes/admin/participatory_processes/edit.html.erb +0 -19
  1735. data/decidim-participatory_processes/app/views/decidim/participatory_processes/admin/participatory_processes/index.html.erb +0 -66
  1736. data/decidim-participatory_processes/app/views/decidim/participatory_processes/admin/participatory_processes/new.html.erb +0 -11
  1737. data/decidim-participatory_processes/app/views/decidim/participatory_processes/participatory_process_groups/show.html.erb +0 -11
  1738. data/decidim-participatory_processes/app/views/decidim/participatory_processes/participatory_process_steps/_timeline.html.erb +0 -7
  1739. data/decidim-participatory_processes/app/views/decidim/participatory_processes/participatory_process_steps/index.html.erb +0 -14
  1740. data/decidim-participatory_processes/app/views/decidim/participatory_processes/participatory_process_widgets/show.html.erb +0 -17
  1741. data/decidim-participatory_processes/app/views/decidim/participatory_processes/participatory_processes/_no_processes_yet.html.erb +0 -3
  1742. data/decidim-participatory_processes/app/views/decidim/participatory_processes/participatory_processes/_promoted_process.html.erb +0 -32
  1743. data/decidim-participatory_processes/app/views/decidim/participatory_processes/participatory_processes/_statistics.html.erb +0 -10
  1744. data/decidim-participatory_processes/app/views/decidim/participatory_processes/participatory_processes/index.html.erb +0 -22
  1745. data/decidim-participatory_processes/app/views/decidim/participatory_processes/participatory_processes/index.js.erb +0 -6
  1746. data/decidim-participatory_processes/app/views/decidim/participatory_processes/participatory_processes/show.html.erb +0 -92
  1747. data/decidim-participatory_processes/app/views/layouts/decidim/_process_header.html.erb +0 -65
  1748. data/decidim-participatory_processes/app/views/layouts/decidim/_process_header_steps.html.erb +0 -27
  1749. data/decidim-participatory_processes/app/views/layouts/decidim/admin/participatory_process.html.erb +0 -64
  1750. data/decidim-participatory_processes/app/views/layouts/decidim/admin/participatory_process_groups.html.erb +0 -14
  1751. data/decidim-participatory_processes/app/views/layouts/decidim/admin/participatory_processes.html.erb +0 -14
  1752. data/decidim-participatory_processes/app/views/layouts/decidim/participatory_process.html.erb +0 -30
  1753. data/decidim-participatory_processes/bin/rails +0 -15
  1754. data/decidim-participatory_processes/config/locales/ca.yml +0 -281
  1755. data/decidim-participatory_processes/config/locales/en.yml +0 -281
  1756. data/decidim-participatory_processes/config/locales/es.yml +0 -281
  1757. data/decidim-participatory_processes/config/locales/eu.yml +0 -280
  1758. data/decidim-participatory_processes/config/locales/fi.yml +0 -280
  1759. data/decidim-participatory_processes/config/locales/fr.yml +0 -280
  1760. data/decidim-participatory_processes/config/locales/it.yml +0 -280
  1761. data/decidim-participatory_processes/config/locales/nl.yml +0 -280
  1762. data/decidim-participatory_processes/config/locales/pl.yml +0 -281
  1763. data/decidim-participatory_processes/config/locales/uk.yml +0 -282
  1764. data/decidim-participatory_processes/db/migrate/20161005130108_add_participatory_processes.rb +0 -19
  1765. data/decidim-participatory_processes/db/migrate/20161010102356_translate_processes.rb +0 -17
  1766. data/decidim-participatory_processes/db/migrate/20161011125616_add_hero_image_to_processes.rb +0 -7
  1767. data/decidim-participatory_processes/db/migrate/20161011141033_add_banner_image_to_processes.rb +0 -7
  1768. data/decidim-participatory_processes/db/migrate/20161013134732_add_promoted_flag_to_processes.rb +0 -7
  1769. data/decidim-participatory_processes/db/migrate/20161017085822_add_participatory_process_steps.rb +0 -18
  1770. data/decidim-participatory_processes/db/migrate/20161019072016_add_active_flag_to_step.rb +0 -13
  1771. data/decidim-participatory_processes/db/migrate/20161020080756_add_position_to_steps.rb +0 -9
  1772. data/decidim-participatory_processes/db/migrate/20161025125300_add_published_at_to_processes.rb +0 -7
  1773. data/decidim-participatory_processes/db/migrate/20161107152228_remove_not_null_on_step_position.rb +0 -7
  1774. data/decidim-participatory_processes/db/migrate/20161110092735_add_index_for_process_slug_organization.rb +0 -10
  1775. data/decidim-participatory_processes/db/migrate/20161116115156_create_attachments.rb +0 -18
  1776. data/decidim-participatory_processes/db/migrate/20170116135237_loosen_step_requirements.rb +0 -8
  1777. data/decidim-participatory_processes/db/migrate/20170123134023_make_attachments_polymorphic.rb +0 -19
  1778. data/decidim-participatory_processes/db/migrate/20170125135937_rename_attachable_to_attached_to.rb +0 -13
  1779. data/decidim-participatory_processes/db/migrate/20170126151123_add_extra_info_to_processes.rb +0 -10
  1780. data/decidim-participatory_processes/db/migrate/20170206083118_rename_extra_info_on_processes.rb +0 -14
  1781. data/decidim-participatory_processes/db/migrate/20170220110740_remove_steps_short_description.rb +0 -27
  1782. data/decidim-participatory_processes/db/migrate/20170221094835_add_scopes_to_processes.rb +0 -8
  1783. data/decidim-participatory_processes/db/migrate/20170228142440_add_participatory_process_groups.rb +0 -17
  1784. data/decidim-participatory_processes/db/migrate/20170404132616_change_steps_end_and_start_date_to_date.rb +0 -8
  1785. data/decidim-participatory_processes/db/migrate/20170720120135_make_features_polymorphic.rb +0 -27
  1786. data/decidim-participatory_processes/db/migrate/20170725085104_add_show_statistics_to_participatory_processes.rb +0 -7
  1787. data/decidim-participatory_processes/db/migrate/20170804125402_attachment_description_nullable.rb +0 -7
  1788. data/decidim-participatory_processes/db/migrate/20170808080905_add_announcement_to_participatory_processes.rb +0 -7
  1789. data/decidim-participatory_processes/db/migrate/20170809084005_add_scopes_enabled_to_participatory_processes.rb +0 -7
  1790. data/decidim-participatory_processes/db/migrate/20170830081725_add_start_date_to_processes.rb +0 -8
  1791. data/decidim-participatory_processes/db/seeds/Exampledocument.pdf +0 -0
  1792. data/decidim-participatory_processes/db/seeds/city.jpeg +0 -0
  1793. data/decidim-participatory_processes/db/seeds/city2.jpeg +0 -0
  1794. data/decidim-participatory_processes/db/seeds/homepage_image.jpg +0 -0
  1795. data/decidim-participatory_processes/decidim-participatory_processes.gemspec +0 -21
  1796. data/decidim-participatory_processes/lib/decidim/participatory_processes.rb +0 -12
  1797. data/decidim-participatory_processes/lib/decidim/participatory_processes/admin.rb +0 -10
  1798. data/decidim-participatory_processes/lib/decidim/participatory_processes/admin_engine.rb +0 -98
  1799. data/decidim-participatory_processes/lib/decidim/participatory_processes/engine.rb +0 -55
  1800. data/decidim-participatory_processes/lib/decidim/participatory_processes/participatory_space.rb +0 -119
  1801. data/decidim-participatory_processes/lib/decidim/participatory_processes/test/factories.rb +0 -97
  1802. data/decidim-participatory_processes/spec/commands/activate_participatory_process_step_spec.rb +0 -46
  1803. data/decidim-participatory_processes/spec/commands/copy_participatory_process_spec.rb +0 -128
  1804. data/decidim-participatory_processes/spec/commands/create_category_spec.rb +0 -10
  1805. data/decidim-participatory_processes/spec/commands/create_participatory_process_admin_spec.rb +0 -85
  1806. data/decidim-participatory_processes/spec/commands/create_participatory_process_spec.rb +0 -96
  1807. data/decidim-participatory_processes/spec/commands/create_participatory_process_step_spec.rb +0 -56
  1808. data/decidim-participatory_processes/spec/commands/deactivate_participatory_process_step_spec.rb +0 -37
  1809. data/decidim-participatory_processes/spec/commands/destroy_category_spec.rb +0 -10
  1810. data/decidim-participatory_processes/spec/commands/destroy_participatory_process_step_spec.rb +0 -59
  1811. data/decidim-participatory_processes/spec/commands/publish_participatory_process_spec.rb +0 -37
  1812. data/decidim-participatory_processes/spec/commands/reorder_participatory_process_steps_spec.rb +0 -55
  1813. data/decidim-participatory_processes/spec/commands/unpublish_participatory_process_spec.rb +0 -37
  1814. data/decidim-participatory_processes/spec/commands/update_category_spec.rb +0 -10
  1815. data/decidim-participatory_processes/spec/commands/update_participatory_process_spec.rb +0 -121
  1816. data/decidim-participatory_processes/spec/controllers/exports_controller_spec.rb +0 -53
  1817. data/decidim-participatory_processes/spec/controllers/participatory_processes_controller_spec.rb +0 -122
  1818. data/decidim-participatory_processes/spec/factories.rb +0 -6
  1819. data/decidim-participatory_processes/spec/features/admin/admin_copy_participatory_process_spec.rb +0 -109
  1820. data/decidim-participatory_processes/spec/features/admin/admin_manages_participatory_process_admins_spec.rb +0 -9
  1821. data/decidim-participatory_processes/spec/features/admin/admin_manages_participatory_process_attachments_spec.rb +0 -9
  1822. data/decidim-participatory_processes/spec/features/admin/admin_manages_participatory_process_categories_spec.rb +0 -16
  1823. data/decidim-participatory_processes/spec/features/admin/admin_manages_participatory_process_feature_permissions_spec.rb +0 -14
  1824. data/decidim-participatory_processes/spec/features/admin/admin_manages_participatory_process_features_spec.rb +0 -311
  1825. data/decidim-participatory_processes/spec/features/admin/admin_manages_participatory_process_groups_spec.rb +0 -106
  1826. data/decidim-participatory_processes/spec/features/admin/admin_manages_participatory_process_steps_spec.rb +0 -9
  1827. data/decidim-participatory_processes/spec/features/admin/admin_manages_participatory_processes_spec.rb +0 -119
  1828. data/decidim-participatory_processes/spec/features/admin/admin_manages_user_groups_spec.rb +0 -43
  1829. data/decidim-participatory_processes/spec/features/admin/participatory_process_admin_manages_participatory_process_admins_spec.rb +0 -24
  1830. data/decidim-participatory_processes/spec/features/admin/participatory_process_admin_manages_participatory_process_attachments_spec.rb +0 -9
  1831. data/decidim-participatory_processes/spec/features/admin/participatory_process_admin_manages_participatory_process_categories_spec.rb +0 -16
  1832. data/decidim-participatory_processes/spec/features/admin/participatory_process_admin_manages_participatory_process_steps_spec.rb +0 -9
  1833. data/decidim-participatory_processes/spec/features/admin/participatory_process_admin_manages_participatory_processes_spec.rb +0 -35
  1834. data/decidim-participatory_processes/spec/features/participatory_process_groups_spec.rb +0 -79
  1835. data/decidim-participatory_processes/spec/features/participatory_process_steps_spec.rb +0 -34
  1836. data/decidim-participatory_processes/spec/features/participatory_processes_spec.rb +0 -193
  1837. data/decidim-participatory_processes/spec/features/process_embeds_spec.rb +0 -20
  1838. data/decidim-participatory_processes/spec/forms/category_form_spec.rb +0 -16
  1839. data/decidim-participatory_processes/spec/forms/participatory_process_form_spec.rb +0 -167
  1840. data/decidim-participatory_processes/spec/forms/participatory_process_group_form_spec.rb +0 -84
  1841. data/decidim-participatory_processes/spec/forms/participatory_process_step_form_spec.rb +0 -106
  1842. data/decidim-participatory_processes/spec/forms/participatory_process_user_role_form_spec.rb +0 -36
  1843. data/decidim-participatory_processes/spec/helpers/decidim/participatory_processes/participatory_process_helper_spec.rb +0 -43
  1844. data/decidim-participatory_processes/spec/helpers/decidim/scopes_helper_spec.rb +0 -16
  1845. data/decidim-participatory_processes/spec/lib/features/participatory_processes/current_feature_spec.rb +0 -90
  1846. data/decidim-participatory_processes/spec/models/abilities/admin/admin_ability_spec.rb +0 -12
  1847. data/decidim-participatory_processes/spec/models/abilities/admin_ability_spec.rb +0 -12
  1848. data/decidim-participatory_processes/spec/models/abilities/everyone_ability_spec.rb +0 -13
  1849. data/decidim-participatory_processes/spec/models/decidim/participatory_process_spec.rb +0 -29
  1850. data/decidim-participatory_processes/spec/models/decidim/participatory_process_step_spec.rb +0 -120
  1851. data/decidim-participatory_processes/spec/presenters/decidim/participatory_processes/participatory_process_stats_presenter.spec.rb +0 -44
  1852. data/decidim-participatory_processes/spec/queries/admin/process_admins_spec.rb +0 -24
  1853. data/decidim-participatory_processes/spec/queries/organization_participatory_process_groups_spec.rb +0 -27
  1854. data/decidim-participatory_processes/spec/queries/organization_participatory_processes_spec.rb +0 -26
  1855. data/decidim-participatory_processes/spec/queries/organization_prioritized_participatory_processes_spec.rb +0 -48
  1856. data/decidim-participatory_processes/spec/queries/organization_published_participatory_processes_spec.rb +0 -40
  1857. data/decidim-participatory_processes/spec/queries/participatory_processes_with_user_role_spec.rb +0 -31
  1858. data/decidim-participatory_processes/spec/shared/manage_process_admins_examples.rb +0 -120
  1859. data/decidim-participatory_processes/spec/shared/manage_process_attachments_examples.rb +0 -16
  1860. data/decidim-participatory_processes/spec/shared/manage_process_categories_examples.rb +0 -130
  1861. data/decidim-participatory_processes/spec/shared/manage_process_steps_examples.rb +0 -120
  1862. data/decidim-participatory_processes/spec/shared/manage_processes_examples.rb +0 -145
  1863. data/decidim-participatory_processes/spec/shared/participatory_process_administration_by_admin_shared_context.rb +0 -9
  1864. data/decidim-participatory_processes/spec/shared/participatory_process_administration_by_process_admin_shared_context.rb +0 -13
  1865. data/decidim-participatory_processes/spec/shared/participatory_process_administration_shared_context.rb +0 -14
  1866. data/decidim-participatory_processes/spec/spec_helper.rb +0 -9
  1867. data/decidim-proposals/README.md +0 -24
  1868. data/decidim-proposals/Rakefile +0 -3
  1869. data/decidim-proposals/app/assets/config/decidim_proposals_manifest.css +0 -1
  1870. data/decidim-proposals/app/assets/config/decidim_proposals_manifest.js +0 -2
  1871. data/decidim-proposals/app/assets/images/decidim/proposals/icon.svg +0 -3
  1872. data/decidim-proposals/app/assets/javascripts/decidim/proposals/add_proposal.js.es6 +0 -25
  1873. data/decidim-proposals/app/assets/javascripts/decidim/proposals/social_share.js +0 -2
  1874. data/decidim-proposals/app/assets/stylesheets/decidim/proposals/social_share.css.scss +0 -19
  1875. data/decidim-proposals/app/commands/decidim/proposals/admin/answer_proposal.rb +0 -44
  1876. data/decidim-proposals/app/commands/decidim/proposals/admin/create_proposal.rb +0 -88
  1877. data/decidim-proposals/app/commands/decidim/proposals/create_proposal.rb +0 -90
  1878. data/decidim-proposals/app/commands/decidim/proposals/create_proposal_export.rb +0 -37
  1879. data/decidim-proposals/app/commands/decidim/proposals/unvote_proposal.rb +0 -34
  1880. data/decidim-proposals/app/commands/decidim/proposals/vote_proposal.rb +0 -39
  1881. data/decidim-proposals/app/controllers/concerns/decidim/proposals/orderable.rb +0 -68
  1882. data/decidim-proposals/app/controllers/decidim/proposals/admin/application_controller.rb +0 -15
  1883. data/decidim-proposals/app/controllers/decidim/proposals/admin/proposal_answers_controller.rb +0 -40
  1884. data/decidim-proposals/app/controllers/decidim/proposals/admin/proposals_controller.rb +0 -47
  1885. data/decidim-proposals/app/controllers/decidim/proposals/application_controller.rb +0 -13
  1886. data/decidim-proposals/app/controllers/decidim/proposals/proposal_votes_controller.rb +0 -48
  1887. data/decidim-proposals/app/controllers/decidim/proposals/proposal_widgets_controller.rb +0 -19
  1888. data/decidim-proposals/app/controllers/decidim/proposals/proposals_controller.rb +0 -92
  1889. data/decidim-proposals/app/forms/decidim/proposals/admin/proposal_answer_form.rb +0 -19
  1890. data/decidim-proposals/app/forms/decidim/proposals/admin/proposal_form.rb +0 -58
  1891. data/decidim-proposals/app/forms/decidim/proposals/proposal_form.rb +0 -65
  1892. data/decidim-proposals/app/helpers/decidim/proposals/application_helper.rb +0 -59
  1893. data/decidim-proposals/app/helpers/decidim/proposals/map_helper.rb +0 -20
  1894. data/decidim-proposals/app/helpers/decidim/proposals/proposal_votes_helper.rb +0 -47
  1895. data/decidim-proposals/app/models/decidim/proposals/abilities/admin_ability.rb +0 -41
  1896. data/decidim-proposals/app/models/decidim/proposals/abilities/current_user_ability.rb +0 -80
  1897. data/decidim-proposals/app/models/decidim/proposals/abilities/participatory_process_admin_ability.rb +0 -47
  1898. data/decidim-proposals/app/models/decidim/proposals/abilities/participatory_process_moderator_ability.rb +0 -19
  1899. data/decidim-proposals/app/models/decidim/proposals/application_record.rb +0 -10
  1900. data/decidim-proposals/app/models/decidim/proposals/proposal.rb +0 -118
  1901. data/decidim-proposals/app/models/decidim/proposals/proposal_vote.rb +0 -28
  1902. data/decidim-proposals/app/queries/decidim/proposals/filtered_proposals.rb +0 -37
  1903. data/decidim-proposals/app/services/decidim/proposals/proposal_search.rb +0 -86
  1904. data/decidim-proposals/app/views/decidim/proposals/admin/proposal_answers/edit.html.erb +0 -21
  1905. data/decidim-proposals/app/views/decidim/proposals/admin/proposals/_form.html.erb +0 -50
  1906. data/decidim-proposals/app/views/decidim/proposals/admin/proposals/index.html.erb +0 -73
  1907. data/decidim-proposals/app/views/decidim/proposals/admin/proposals/new.html.erb +0 -7
  1908. data/decidim-proposals/app/views/decidim/proposals/proposal_votes/update_buttons_and_counters.js.erb +0 -20
  1909. data/decidim-proposals/app/views/decidim/proposals/proposal_widgets/show.html.erb +0 -4
  1910. data/decidim-proposals/app/views/decidim/proposals/proposals/_author.html.erb +0 -23
  1911. data/decidim-proposals/app/views/decidim/proposals/proposals/_count.html.erb +0 -1
  1912. data/decidim-proposals/app/views/decidim/proposals/proposals/_filters.html.erb +0 -40
  1913. data/decidim-proposals/app/views/decidim/proposals/proposals/_filters_small_view.html.erb +0 -18
  1914. data/decidim-proposals/app/views/decidim/proposals/proposals/_linked_proposals.html.erb +0 -27
  1915. data/decidim-proposals/app/views/decidim/proposals/proposals/_proposal.html.erb +0 -29
  1916. data/decidim-proposals/app/views/decidim/proposals/proposals/_proposal_badge.html.erb +0 -3
  1917. data/decidim-proposals/app/views/decidim/proposals/proposals/_proposals.html.erb +0 -14
  1918. data/decidim-proposals/app/views/decidim/proposals/proposals/_remaining_votes_count.html.erb +0 -3
  1919. data/decidim-proposals/app/views/decidim/proposals/proposals/_vote_button.html.erb +0 -25
  1920. data/decidim-proposals/app/views/decidim/proposals/proposals/_votes_count.html.erb +0 -10
  1921. data/decidim-proposals/app/views/decidim/proposals/proposals/_votes_limit.html.erb +0 -21
  1922. data/decidim-proposals/app/views/decidim/proposals/proposals/index.html.erb +0 -62
  1923. data/decidim-proposals/app/views/decidim/proposals/proposals/index.js.erb +0 -10
  1924. data/decidim-proposals/app/views/decidim/proposals/proposals/new.html.erb +0 -77
  1925. data/decidim-proposals/app/views/decidim/proposals/proposals/show.html.erb +0 -82
  1926. data/decidim-proposals/bin/rails +0 -15
  1927. data/decidim-proposals/config/initializers/social_share_button.rb +0 -5
  1928. data/decidim-proposals/config/locales/ca.yml +0 -166
  1929. data/decidim-proposals/config/locales/en.yml +0 -166
  1930. data/decidim-proposals/config/locales/es.yml +0 -166
  1931. data/decidim-proposals/config/locales/eu.yml +0 -165
  1932. data/decidim-proposals/config/locales/fi.yml +0 -165
  1933. data/decidim-proposals/config/locales/fr.yml +0 -165
  1934. data/decidim-proposals/config/locales/it.yml +0 -165
  1935. data/decidim-proposals/config/locales/nl.yml +0 -165
  1936. data/decidim-proposals/config/locales/pl.yml +0 -168
  1937. data/decidim-proposals/config/locales/uk.yml +0 -171
  1938. data/decidim-proposals/db/migrate/20161212110850_create_decidim_proposals.rb +0 -16
  1939. data/decidim-proposals/db/migrate/20170112115253_create_proposal_votes.rb +0 -14
  1940. data/decidim-proposals/db/migrate/20170113114245_add_text_search_indexes.rb +0 -8
  1941. data/decidim-proposals/db/migrate/20170118120151_add_counter_cache_votes_to_proposals.rb +0 -7
  1942. data/decidim-proposals/db/migrate/20170120151202_add_user_group_id_to_proposals.rb +0 -7
  1943. data/decidim-proposals/db/migrate/20170131092413_add_answers_to_proposals.rb +0 -9
  1944. data/decidim-proposals/db/migrate/20170205082832_add_index_to_decidim_proposals_proposals_proposal_votes_count.rb +0 -9
  1945. data/decidim-proposals/db/migrate/20170215113152_create_proposal_reports.rb +0 -16
  1946. data/decidim-proposals/db/migrate/20170215131720_add_report_count_to_proposals.rb +0 -7
  1947. data/decidim-proposals/db/migrate/20170215132030_add_reference_to_proposals.rb +0 -9
  1948. data/decidim-proposals/db/migrate/20170220152416_add_hidden_at_to_proposals.rb +0 -7
  1949. data/decidim-proposals/db/migrate/20170228105156_add_geolocalization_fields_to_proposals.rb +0 -9
  1950. data/decidim-proposals/db/migrate/20170307085300_migrate_proposal_reports_data_to_reports.rb +0 -24
  1951. data/decidim-proposals/db/migrate/20170410073742_remove_not_null_reference_proposals.rb +0 -7
  1952. data/decidim-proposals/db/migrate/20170612101809_migrate_proposals_category.rb +0 -15
  1953. data/decidim-proposals/decidim-proposals.gemspec +0 -31
  1954. data/decidim-proposals/lib/decidim/proposals.rb +0 -14
  1955. data/decidim-proposals/lib/decidim/proposals/admin.rb +0 -10
  1956. data/decidim-proposals/lib/decidim/proposals/admin_engine.rb +0 -34
  1957. data/decidim-proposals/lib/decidim/proposals/engine.rb +0 -33
  1958. data/decidim-proposals/lib/decidim/proposals/feature.rb +0 -150
  1959. data/decidim-proposals/lib/decidim/proposals/proposal_serializer.rb +0 -57
  1960. data/decidim-proposals/lib/decidim/proposals/test/factories.rb +0 -101
  1961. data/decidim-proposals/spec/commands/decidim/proposals/admin_create_proposal_spec.rb +0 -14
  1962. data/decidim-proposals/spec/commands/decidim/proposals/answer_proposal_spec.rb +0 -54
  1963. data/decidim-proposals/spec/commands/decidim/proposals/create_proposal_spec.rb +0 -12
  1964. data/decidim-proposals/spec/commands/decidim/proposals/unvote_proposal_spec.rb +0 -26
  1965. data/decidim-proposals/spec/commands/decidim/proposals/vote_proposal_spec.rb +0 -47
  1966. data/decidim-proposals/spec/controllers/concerns/orderable_spec.rb +0 -47
  1967. data/decidim-proposals/spec/controllers/decidim/admin/proposal_answers_controller_spec.rb +0 -43
  1968. data/decidim-proposals/spec/controllers/decidim/proposal_votes_controller_spec.rb +0 -109
  1969. data/decidim-proposals/spec/controllers/decidim/proposals_controller_spec.rb +0 -51
  1970. data/decidim-proposals/spec/factories.rb +0 -11
  1971. data/decidim-proposals/spec/features/admin_manages_proposals_spec.rb +0 -17
  1972. data/decidim-proposals/spec/features/comments_spec.rb +0 -12
  1973. data/decidim-proposals/spec/features/follow_proposals_spec.rb +0 -13
  1974. data/decidim-proposals/spec/features/process_admin_manages_proposals_spec.rb +0 -17
  1975. data/decidim-proposals/spec/features/proposal_embeds_spec.rb +0 -39
  1976. data/decidim-proposals/spec/features/proposals_spec.rb +0 -829
  1977. data/decidim-proposals/spec/features/report_proposal_spec.rb +0 -20
  1978. data/decidim-proposals/spec/features/vote_proposal_spec.rb +0 -243
  1979. data/decidim-proposals/spec/forms/decidim/proposals/admin_proposal_form_spec.rb +0 -13
  1980. data/decidim-proposals/spec/forms/decidim/proposals/proposal_answer_form_spec.rb +0 -51
  1981. data/decidim-proposals/spec/forms/decidim/proposals/proposal_form_spec.rb +0 -17
  1982. data/decidim-proposals/spec/helpers/application_helper_spec.rb +0 -34
  1983. data/decidim-proposals/spec/helpers/proposal_votes_helper_spec.rb +0 -92
  1984. data/decidim-proposals/spec/lib/decidim/proposals/feature_spec.rb +0 -33
  1985. data/decidim-proposals/spec/models/decidim/proposals/abilities/admin_ability_spec.rb +0 -63
  1986. data/decidim-proposals/spec/models/decidim/proposals/abilities/participatory_process_admin_ability.rb +0 -72
  1987. data/decidim-proposals/spec/models/decidim/proposals/proposal_spec.rb +0 -82
  1988. data/decidim-proposals/spec/models/decidim/proposals/proposal_vote_spec.rb +0 -69
  1989. data/decidim-proposals/spec/queries/decidim/proposals/filtered_proposals_spec.rb +0 -22
  1990. data/decidim-proposals/spec/services/decidim/proposals/proposal_search_spec.rb +0 -203
  1991. data/decidim-proposals/spec/services/decidim/proposals/proposal_serializer_spec.rb +0 -79
  1992. data/decidim-proposals/spec/shared/create_proposal_examples.rb +0 -136
  1993. data/decidim-proposals/spec/shared/export_proposals_examples.rb +0 -37
  1994. data/decidim-proposals/spec/shared/manage_proposals_examples.rb +0 -382
  1995. data/decidim-proposals/spec/shared/proposal_form_examples.rb +0 -152
  1996. data/decidim-proposals/spec/shared/proposals_help_texts_examples.rb +0 -39
  1997. data/decidim-proposals/spec/spec_helper.rb +0 -9
  1998. data/decidim-results/README.md +0 -23
  1999. data/decidim-results/Rakefile +0 -3
  2000. data/decidim-results/app/assets/images/decidim/results/icon.svg +0 -3
  2001. data/decidim-results/app/commands/decidim/results/admin/create_result.rb +0 -66
  2002. data/decidim-results/app/commands/decidim/results/admin/update_result.rb +0 -70
  2003. data/decidim-results/app/controllers/decidim/results/admin/application_controller.rb +0 -15
  2004. data/decidim-results/app/controllers/decidim/results/admin/results_controller.rb +0 -70
  2005. data/decidim-results/app/controllers/decidim/results/application_controller.rb +0 -13
  2006. data/decidim-results/app/controllers/decidim/results/result_widgets_controller.rb +0 -17
  2007. data/decidim-results/app/controllers/decidim/results/results_controller.rb +0 -44
  2008. data/decidim-results/app/forms/decidim/results/admin/result_form.rb +0 -53
  2009. data/decidim-results/app/helpers/decidim/results/application_helper.rb +0 -12
  2010. data/decidim-results/app/models/decidim/results/application_record.rb +0 -10
  2011. data/decidim-results/app/models/decidim/results/result.rb +0 -44
  2012. data/decidim-results/app/queries/decidim/results/filtered_results.rb +0 -37
  2013. data/decidim-results/app/services/decidim/results/result_search.rb +0 -40
  2014. data/decidim-results/app/services/decidim/results/result_stats_calculator.rb +0 -52
  2015. data/decidim-results/app/views/decidim/results/admin/results/_form.html.erb +0 -34
  2016. data/decidim-results/app/views/decidim/results/admin/results/edit.html.erb +0 -8
  2017. data/decidim-results/app/views/decidim/results/admin/results/index.html.erb +0 -42
  2018. data/decidim-results/app/views/decidim/results/admin/results/new.html.erb +0 -8
  2019. data/decidim-results/app/views/decidim/results/result_widgets/show.html.erb +0 -2
  2020. data/decidim-results/app/views/decidim/results/results/_count.html.erb +0 -1
  2021. data/decidim-results/app/views/decidim/results/results/_filters.html.erb +0 -22
  2022. data/decidim-results/app/views/decidim/results/results/_filters_small_view.html.erb +0 -18
  2023. data/decidim-results/app/views/decidim/results/results/_linked_results.html.erb +0 -12
  2024. data/decidim-results/app/views/decidim/results/results/_results.html.erb +0 -18
  2025. data/decidim-results/app/views/decidim/results/results/index.html.erb +0 -23
  2026. data/decidim-results/app/views/decidim/results/results/index.js.erb +0 -5
  2027. data/decidim-results/app/views/decidim/results/results/show.html.erb +0 -59
  2028. data/decidim-results/bin/rails +0 -15
  2029. data/decidim-results/config/locales/ca.yml +0 -81
  2030. data/decidim-results/config/locales/en.yml +0 -81
  2031. data/decidim-results/config/locales/es.yml +0 -81
  2032. data/decidim-results/config/locales/eu.yml +0 -80
  2033. data/decidim-results/config/locales/fi.yml +0 -80
  2034. data/decidim-results/config/locales/fr.yml +0 -80
  2035. data/decidim-results/config/locales/it.yml +0 -80
  2036. data/decidim-results/config/locales/nl.yml +0 -80
  2037. data/decidim-results/config/locales/pl.yml +0 -81
  2038. data/decidim-results/config/locales/uk.yml +0 -82
  2039. data/decidim-results/db/migrate/20170116104125_create_results.rb +0 -16
  2040. data/decidim-results/db/migrate/20170129164553_remove_short_description_from_results.rb +0 -7
  2041. data/decidim-results/db/migrate/20170215132624_add_reference_to_results.rb +0 -9
  2042. data/decidim-results/db/migrate/20170410074358_remove_not_null_reference_results.rb +0 -7
  2043. data/decidim-results/db/migrate/20170612101951_migrate_results_category.rb +0 -15
  2044. data/decidim-results/decidim-results.gemspec +0 -31
  2045. data/decidim-results/lib/decidim/results.rb +0 -12
  2046. data/decidim-results/lib/decidim/results/admin.rb +0 -10
  2047. data/decidim-results/lib/decidim/results/admin_engine.rb +0 -23
  2048. data/decidim-results/lib/decidim/results/engine.rb +0 -22
  2049. data/decidim-results/lib/decidim/results/feature.rb +0 -60
  2050. data/decidim-results/lib/decidim/results/test/factories.rb +0 -18
  2051. data/decidim-results/spec/commands/create_result_spec.rb +0 -92
  2052. data/decidim-results/spec/commands/update_result_spec.rb +0 -85
  2053. data/decidim-results/spec/controllers/results_controller_spec.rb +0 -33
  2054. data/decidim-results/spec/factories.rb +0 -10
  2055. data/decidim-results/spec/features/admin_manages_results_spec.rb +0 -13
  2056. data/decidim-results/spec/features/comments_spec.rb +0 -21
  2057. data/decidim-results/spec/features/explore_results_spec.rb +0 -226
  2058. data/decidim-results/spec/features/follow_result_spec.rb +0 -13
  2059. data/decidim-results/spec/features/process_admin_manages_results_spec.rb +0 -13
  2060. data/decidim-results/spec/features/result_embeds_spec.rb +0 -39
  2061. data/decidim-results/spec/forms/result_form_spec.rb +0 -99
  2062. data/decidim-results/spec/models/result_spec.rb +0 -39
  2063. data/decidim-results/spec/queries/decidim/results/filtered_results_spec.rb +0 -22
  2064. data/decidim-results/spec/services/result_search_spec.rb +0 -108
  2065. data/decidim-results/spec/services/result_stats_calculator_spec.rb +0 -95
  2066. data/decidim-results/spec/shared/manage_results_examples.rb +0 -98
  2067. data/decidim-results/spec/spec_helper.rb +0 -9
  2068. data/decidim-surveys/README.md +0 -24
  2069. data/decidim-surveys/Rakefile +0 -3
  2070. data/decidim-surveys/app/assets/config/admin/decidim_surveys_manifest.js +0 -1
  2071. data/decidim-surveys/app/assets/images/decidim/surveys/icon.svg +0 -8
  2072. data/decidim-surveys/app/assets/javascripts/decidim/surveys/admin/auto_label_by_position.component.js.es6 +0 -33
  2073. data/decidim-surveys/app/assets/javascripts/decidim/surveys/admin/dynamic_fields.component.js.es6 +0 -95
  2074. data/decidim-surveys/app/assets/javascripts/decidim/surveys/admin/surveys.js.es6 +0 -85
  2075. data/decidim-surveys/app/assets/stylesheets/decidim/surveys/surveys.scss +0 -9
  2076. data/decidim-surveys/app/commands/decidim/surveys/admin/update_survey.rb +0 -65
  2077. data/decidim-surveys/app/commands/decidim/surveys/answer_survey.rb +0 -43
  2078. data/decidim-surveys/app/commands/decidim/surveys/create_survey.rb +0 -19
  2079. data/decidim-surveys/app/controllers/decidim/surveys/admin/application_controller.rb +0 -15
  2080. data/decidim-surveys/app/controllers/decidim/surveys/admin/surveys_controller.rb +0 -55
  2081. data/decidim-surveys/app/controllers/decidim/surveys/application_controller.rb +0 -13
  2082. data/decidim-surveys/app/controllers/decidim/surveys/surveys_controller.rb +0 -39
  2083. data/decidim-surveys/app/forms/decidim/surveys/admin/survey_form.rb +0 -21
  2084. data/decidim-surveys/app/forms/decidim/surveys/admin/survey_question_answer_option_form.rb +0 -15
  2085. data/decidim-surveys/app/forms/decidim/surveys/admin/survey_question_form.rb +0 -25
  2086. data/decidim-surveys/app/forms/decidim/surveys/survey_answer_form.rb +0 -36
  2087. data/decidim-surveys/app/forms/decidim/surveys/survey_form.rb +0 -22
  2088. data/decidim-surveys/app/helpers/decidim/surveys/admin/application_helper.rb +0 -35
  2089. data/decidim-surveys/app/models/decidim/surveys/abilities/admin_ability.rb +0 -17
  2090. data/decidim-surveys/app/models/decidim/surveys/abilities/current_user_ability.rb +0 -47
  2091. data/decidim-surveys/app/models/decidim/surveys/abilities/participatory_process_admin_ability.rb +0 -19
  2092. data/decidim-surveys/app/models/decidim/surveys/application_record.rb +0 -10
  2093. data/decidim-surveys/app/models/decidim/surveys/survey.rb +0 -25
  2094. data/decidim-surveys/app/models/decidim/surveys/survey_answer.rb +0 -27
  2095. data/decidim-surveys/app/models/decidim/surveys/survey_question.rb +0 -20
  2096. data/decidim-surveys/app/queries/decidim/surveys/survey_user_answers.rb +0 -28
  2097. data/decidim-surveys/app/views/decidim/surveys/admin/surveys/_answer_option.html.erb +0 -27
  2098. data/decidim-surveys/app/views/decidim/surveys/admin/surveys/_form.html.erb +0 -47
  2099. data/decidim-surveys/app/views/decidim/surveys/admin/surveys/_question.html.erb +0 -72
  2100. data/decidim-surveys/app/views/decidim/surveys/admin/surveys/edit.html.erb +0 -7
  2101. data/decidim-surveys/app/views/decidim/surveys/surveys/show.html.erb +0 -102
  2102. data/decidim-surveys/bin/rails +0 -15
  2103. data/decidim-surveys/config/locales/ca.yml +0 -70
  2104. data/decidim-surveys/config/locales/en.yml +0 -70
  2105. data/decidim-surveys/config/locales/es.yml +0 -70
  2106. data/decidim-surveys/config/locales/eu.yml +0 -69
  2107. data/decidim-surveys/config/locales/fi.yml +0 -69
  2108. data/decidim-surveys/config/locales/fr.yml +0 -69
  2109. data/decidim-surveys/config/locales/it.yml +0 -69
  2110. data/decidim-surveys/config/locales/nl.yml +0 -69
  2111. data/decidim-surveys/config/locales/pl.yml +0 -69
  2112. data/decidim-surveys/config/locales/uk.yml +0 -69
  2113. data/decidim-surveys/db/migrate/20170511092231_create_decidim_surveys.rb +0 -15
  2114. data/decidim-surveys/db/migrate/20170515090916_create_decidim_survey_questions.rb +0 -12
  2115. data/decidim-surveys/db/migrate/20170515144119_create_decidim_survey_answers.rb +0 -14
  2116. data/decidim-surveys/db/migrate/20170518085302_add_position_to_surveys_questions.rb +0 -7
  2117. data/decidim-surveys/db/migrate/20170522075938_add_mandatory_to_surveys_questions.rb +0 -7
  2118. data/decidim-surveys/db/migrate/20170524122229_add_question_type_to_surveys_questions.rb +0 -7
  2119. data/decidim-surveys/db/migrate/20170525132233_add_answer_options_to_surveys_questions.rb +0 -7
  2120. data/decidim-surveys/decidim-surveys.gemspec +0 -24
  2121. data/decidim-surveys/lib/decidim/surveys.rb +0 -14
  2122. data/decidim-surveys/lib/decidim/surveys/admin.rb +0 -10
  2123. data/decidim-surveys/lib/decidim/surveys/admin_engine.rb +0 -36
  2124. data/decidim-surveys/lib/decidim/surveys/engine.rb +0 -25
  2125. data/decidim-surveys/lib/decidim/surveys/feature.rb +0 -96
  2126. data/decidim-surveys/lib/decidim/surveys/survey_user_answers_serializer.rb +0 -23
  2127. data/decidim-surveys/lib/decidim/surveys/test/factories.rb +0 -36
  2128. data/decidim-surveys/spec/commands/decidim/surveys/admin/update_survey_spec.rb +0 -172
  2129. data/decidim-surveys/spec/commands/decidim/surveys/answer_survey_spec.rb +0 -71
  2130. data/decidim-surveys/spec/commands/decidim/surveys/create_survey_spec.rb +0 -44
  2131. data/decidim-surveys/spec/factories.rb +0 -6
  2132. data/decidim-surveys/spec/features/admin_manages_surveys_spec.rb +0 -14
  2133. data/decidim-surveys/spec/features/process_admin_manages_surveys_spec.rb +0 -14
  2134. data/decidim-surveys/spec/features/survey_spec.rb +0 -235
  2135. data/decidim-surveys/spec/forms/decidim/surveys/admin/survey_form_spec.rb +0 -97
  2136. data/decidim-surveys/spec/forms/decidim/surveys/admin/survey_question_form_spec.rb +0 -65
  2137. data/decidim-surveys/spec/forms/decidim/surveys/survey_answer_form_spec.rb +0 -36
  2138. data/decidim-surveys/spec/forms/decidim/surveys/survey_form_spec.rb +0 -32
  2139. data/decidim-surveys/spec/models/decidim/surveys/abilities/admin_ability_spec.rb +0 -22
  2140. data/decidim-surveys/spec/models/decidim/surveys/abilities/current_user_ability_spec.rb +0 -19
  2141. data/decidim-surveys/spec/models/decidim/surveys/abilities/participatory_process_admin_ability_spec.rb +0 -24
  2142. data/decidim-surveys/spec/models/decidim/surveys/survey_answer_spec.rb +0 -55
  2143. data/decidim-surveys/spec/models/decidim/surveys/survey_question_spec.rb +0 -25
  2144. data/decidim-surveys/spec/models/decidim/surveys/survey_spec.rb +0 -65
  2145. data/decidim-surveys/spec/queries/decidim/surveys/survey_user_answers_spec.rb +0 -21
  2146. data/decidim-surveys/spec/services/decidim/surveys/surveys/survey_user_answer_serializer_spec.rb +0 -34
  2147. data/decidim-surveys/spec/shared/edit_survey_examples.rb +0 -212
  2148. data/decidim-surveys/spec/shared/export_survey_user_answers_examples.rb +0 -46
  2149. data/decidim-surveys/spec/spec_helper.rb +0 -9
  2150. data/decidim-system/README.md +0 -65
  2151. data/decidim-system/Rakefile +0 -3
  2152. data/decidim-system/app/assets/config/decidim_system_manifest.js +0 -2
  2153. data/decidim-system/app/assets/images/decidim/system/.keep +0 -0
  2154. data/decidim-system/app/assets/javascripts/decidim/system/application.js.es6 +0 -9
  2155. data/decidim-system/app/assets/stylesheets/decidim/system/_actions.scss +0 -8
  2156. data/decidim-system/app/assets/stylesheets/decidim/system/_foundation_and_overrides.scss +0 -52
  2157. data/decidim-system/app/assets/stylesheets/decidim/system/_layout.scss +0 -16
  2158. data/decidim-system/app/assets/stylesheets/decidim/system/_login.scss +0 -36
  2159. data/decidim-system/app/assets/stylesheets/decidim/system/_settings.scss +0 -566
  2160. data/decidim-system/app/assets/stylesheets/decidim/system/_sidebar.scss +0 -80
  2161. data/decidim-system/app/assets/stylesheets/decidim/system/_tables.scss +0 -5
  2162. data/decidim-system/app/assets/stylesheets/decidim/system/application.scss +0 -13
  2163. data/decidim-system/app/commands/decidim/system/create_admin.rb +0 -41
  2164. data/decidim-system/app/commands/decidim/system/create_default_pages.rb +0 -44
  2165. data/decidim-system/app/commands/decidim/system/register_organization.rb +0 -67
  2166. data/decidim-system/app/commands/decidim/system/update_admin.rb +0 -53
  2167. data/decidim-system/app/commands/decidim/system/update_organization.rb +0 -53
  2168. data/decidim-system/app/controllers/decidim/system/admins_controller.rb +0 -66
  2169. data/decidim-system/app/controllers/decidim/system/application_controller.rb +0 -18
  2170. data/decidim-system/app/controllers/decidim/system/dashboard_controller.rb +0 -8
  2171. data/decidim-system/app/controllers/decidim/system/devise/passwords_controller.rb +0 -15
  2172. data/decidim-system/app/controllers/decidim/system/devise/sessions_controller.rb +0 -15
  2173. data/decidim-system/app/controllers/decidim/system/organizations_controller.rb +0 -58
  2174. data/decidim-system/app/forms/decidim/system/admin_form.rb +0 -34
  2175. data/decidim-system/app/forms/decidim/system/register_organization_form.rb +0 -24
  2176. data/decidim-system/app/forms/decidim/system/update_organization_form.rb +0 -45
  2177. data/decidim-system/app/helpers/decidim/system/application_helper.rb +0 -15
  2178. data/decidim-system/app/helpers/decidim/system/menu_helper.rb +0 -13
  2179. data/decidim-system/app/jobs/decidim/system/application_job.rb +0 -10
  2180. data/decidim-system/app/mailers/decidim/system/application_mailer.rb +0 -12
  2181. data/decidim-system/app/models/decidim/system/admin.rb +0 -19
  2182. data/decidim-system/app/models/decidim/system/application_record.rb +0 -11
  2183. data/decidim-system/app/views/decidim/system/admins/_form.html.erb +0 -11
  2184. data/decidim-system/app/views/decidim/system/admins/edit.html.erb +0 -11
  2185. data/decidim-system/app/views/decidim/system/admins/index.html.erb +0 -33
  2186. data/decidim-system/app/views/decidim/system/admins/new.html.erb +0 -11
  2187. data/decidim-system/app/views/decidim/system/admins/show.html.erb +0 -9
  2188. data/decidim-system/app/views/decidim/system/dashboard/show.html.erb +0 -3
  2189. data/decidim-system/app/views/decidim/system/devise/mailers/password_change.html.erb +0 -3
  2190. data/decidim-system/app/views/decidim/system/devise/mailers/reset_password_instructions.html.erb +0 -8
  2191. data/decidim-system/app/views/decidim/system/devise/passwords/edit.html.erb +0 -23
  2192. data/decidim-system/app/views/decidim/system/devise/passwords/new.html.erb +0 -15
  2193. data/decidim-system/app/views/decidim/system/devise/sessions/new.html.erb +0 -23
  2194. data/decidim-system/app/views/decidim/system/devise/shared/_links.html.erb +0 -25
  2195. data/decidim-system/app/views/decidim/system/organizations/edit.html.erb +0 -23
  2196. data/decidim-system/app/views/decidim/system/organizations/index.html.erb +0 -34
  2197. data/decidim-system/app/views/decidim/system/organizations/new.html.erb +0 -64
  2198. data/decidim-system/app/views/decidim/system/organizations/show.html.erb +0 -11
  2199. data/decidim-system/app/views/decidim/system/shared/_notices.html.erb +0 -11
  2200. data/decidim-system/app/views/layouts/decidim/system/_header.html.erb +0 -4
  2201. data/decidim-system/app/views/layouts/decidim/system/_login_items.html.erb +0 -8
  2202. data/decidim-system/app/views/layouts/decidim/system/_sidebar.html.erb +0 -11
  2203. data/decidim-system/app/views/layouts/decidim/system/application.html.erb +0 -40
  2204. data/decidim-system/app/views/layouts/decidim/system/login.html.erb +0 -19
  2205. data/decidim-system/bin/rails +0 -15
  2206. data/decidim-system/config/locales/ca.yml +0 -72
  2207. data/decidim-system/config/locales/en.yml +0 -72
  2208. data/decidim-system/config/locales/es.yml +0 -72
  2209. data/decidim-system/config/locales/eu.yml +0 -71
  2210. data/decidim-system/config/locales/fi.yml +0 -71
  2211. data/decidim-system/config/locales/fr.yml +0 -71
  2212. data/decidim-system/config/locales/it.yml +0 -71
  2213. data/decidim-system/config/locales/nl.yml +0 -71
  2214. data/decidim-system/config/locales/pl.yml +0 -71
  2215. data/decidim-system/config/locales/uk.yml +0 -71
  2216. data/decidim-system/config/routes.rb +0 -18
  2217. data/decidim-system/db/migrate/20160919105637_devise_create_decidim_admins.rb +0 -28
  2218. data/decidim-system/db/seeds.rb +0 -12
  2219. data/decidim-system/decidim-system.gemspec +0 -30
  2220. data/decidim-system/lib/decidim/system.rb +0 -13
  2221. data/decidim-system/lib/decidim/system/engine.rb +0 -52
  2222. data/decidim-system/spec/commands/decidim/system/create_admin_spec.rb +0 -49
  2223. data/decidim-system/spec/commands/decidim/system/create_default_pages_spec.rb +0 -31
  2224. data/decidim-system/spec/commands/decidim/system/register_organization_spec.rb +0 -79
  2225. data/decidim-system/spec/commands/decidim/system/update_organization_spec.rb +0 -54
  2226. data/decidim-system/spec/factories.rb +0 -11
  2227. data/decidim-system/spec/features/manage_admins_spec.rb +0 -67
  2228. data/decidim-system/spec/features/organizations_spec.rb +0 -68
  2229. data/decidim-system/spec/features/sessions_spec.rb +0 -39
  2230. data/decidim-system/spec/helpers/menu_helper_spec.rb +0 -28
  2231. data/decidim-system/spec/models/admin_spec.rb +0 -24
  2232. data/decidim-system/spec/spec_helper.rb +0 -9
  2233. data/lib/generators/decidim/demo_generator.rb +0 -27
@@ -1,179 +0,0 @@
1
- //Leaflet-SVGIcon
2
- //SVG icon for any marker class
3
- //Ilya Atkin
4
- //ilya.atkin@unh.edu
5
-
6
- L.DivIcon.SVGIcon = L.DivIcon.extend({
7
- options: {
8
- "circleText": "",
9
- "className": "svg-icon",
10
- "circleAnchor": null, //defaults to [iconSize.x/2, iconSize.x/2]
11
- "circleColor": null, //defaults to color
12
- "circleOpacity": null, // defaults to opacity
13
- "circleFillColor": "rgb(255,255,255)",
14
- "circleFillOpacity": null, //default to opacity
15
- "circleRatio": 0.5,
16
- "circleWeight": null, //defaults to weight
17
- "color": "rgb(0,102,255)",
18
- "fillColor": null, // defaults to color
19
- "fillOpacity": 0.4,
20
- "fontColor": "rgb(0, 0, 0)",
21
- "fontOpacity": "1",
22
- "fontSize": null, // defaults to iconSize.x/4
23
- "iconAnchor": null, //defaults to [iconSize.x/2, iconSize.y] (point tip)
24
- "iconSize": L.point(32,48),
25
- "opacity": 1,
26
- "popupAnchor": null,
27
- "weight": 2
28
- },
29
- initialize: function(options) {
30
- options = L.Util.setOptions(this, options)
31
-
32
- if (!options.circleAnchor) {
33
- options.circleAnchor = L.point(Number(options.iconSize.x)/2, Number(options.iconSize.x)/2)
34
- }
35
- if (!options.circleColor) {
36
- options.circleColor = options.color
37
- }
38
- if (!options.circleFillOpacity) {
39
- options.circleFillOpacity = options.opacity
40
- }
41
- if (!options.circleOpacity) {
42
- options.circleOpacity = options.opacity
43
- }
44
- if (!options.circleWeight) {
45
- options.circleWeight = options.weight
46
- }
47
- if (!options.fillColor) {
48
- options.fillColor = options.color
49
- }
50
- if (!options.fontSize) {
51
- options.fontSize = Number(options.iconSize.x/4)
52
- }
53
- if (!options.iconAnchor) {
54
- options.iconAnchor = L.point(Number(options.iconSize.x)/2, Number(options.iconSize.y))
55
- }
56
- if (!options.popupAnchor) {
57
- options.popupAnchor = L.point(0, (-0.75)*(options.iconSize.y))
58
- }
59
-
60
- var path = this._createPath()
61
- var circle = this._createCircle()
62
-
63
- options.html = this._createSVG()
64
- },
65
- _createCircle: function() {
66
- var cx = Number(this.options.circleAnchor.x)
67
- var cy = Number(this.options.circleAnchor.y)
68
- var radius = this.options.iconSize.x/2 * Number(this.options.circleRatio)
69
- var fill = this.options.circleFillColor.replace("rgb(", "rgba(").replace(")", "," + this.options.circleFillOpacity + ")")
70
- var stroke = this.options.circleColor.replace("rgb(", "rgba(").replace(")", "," + this.options.circleOpacity + ")")
71
- var strokeWidth = this.options.circleWeight
72
- var className = this.options.className + "-circle"
73
-
74
- var circle = '<circle class="' + className + '" cx="' + cx + '" cy="' + cy + '" r="' + radius + '" fill="' + fill + '" stroke="' + stroke + '" stroke-width="' + strokeWidth + '"/>'
75
-
76
- return circle
77
- },
78
- _createPathDescription: function() {
79
- var height = Number(this.options.iconSize.y)
80
- var width = Number(this.options.iconSize.x)
81
- var weight = Number(this.options.weight)
82
- var margin = weight / 2
83
-
84
- var startPoint = "M " + margin + " " + (width/2) + " "
85
- var leftLine = "L " + (width/2) + " " + (height - weight) + " "
86
- var rightLine = "L " + (width - margin) + " " + (width/2) + " "
87
- var arc = "A " + (width/4) + " " + (width/4) + " 0 0 0 " + margin + " " + (width/2) + " Z"
88
-
89
- var d = startPoint + leftLine + rightLine + arc
90
-
91
- return d
92
- },
93
- _createPath: function() {
94
- var pathDescription = this._createPathDescription()
95
- var strokeWidth = this.options.weight
96
- var stroke = this.options.color.replace("rgb(", "rgba(").replace(")", "," + this.options.opacity + ")")
97
- var fill = this.options.fillColor.replace("rgb(", "rgba(").replace(")", "," + this.options.fillOpacity + ")")
98
- var className = this.options.className + "-path"
99
-
100
- var path = '<path class="' + className + '" d="' + pathDescription + '" stroke-width="' + strokeWidth + '" stroke="' + stroke + '" fill="' + fill + '"/>'
101
-
102
- return path
103
- },
104
- _createSVG: function() {
105
- var path = this._createPath()
106
- var circle = this._createCircle()
107
- var text = this._createText()
108
- var className = this.options.className + "-svg"
109
-
110
- var style = "width:" + this.options.iconSize.x + "; height:" + this.options.iconSize.y + ";"
111
-
112
- var svg = '<svg xmlns="http://www.w3.org/2000/svg" version="1.1" class="' + className + '" style="' + style + '">' + path + circle + text + '</svg>'
113
-
114
- return svg
115
- },
116
- _createText: function() {
117
- var fontSize = this.options.fontSize + "px"
118
- var lineHeight = Number(this.options.fontSize)
119
-
120
- var x = Number(this.options.iconSize.x) / 2
121
- var y = x + (lineHeight * 0.35) //35% was found experimentally
122
- var circleText = this.options.circleText
123
- var textColor = this.options.fontColor.replace("rgb(", "rgba(").replace(")", "," + this.options.fontOpacity + ")")
124
-
125
- var text = '<text text-anchor="middle" x="' + x + '" y="' + y + '" style="font-size: ' + fontSize + '" fill="' + textColor + '">' + circleText + '</text>'
126
-
127
- return text
128
- }
129
- })
130
-
131
- L.divIcon.svgIcon = function(options) {
132
- return new L.DivIcon.SVGIcon(options)
133
- }
134
-
135
- L.Marker.SVGMarker = L.Marker.extend({
136
- options: {
137
- "iconFactory": L.divIcon.svgIcon,
138
- "iconOptions": {}
139
- },
140
- initialize: function(latlng, options) {
141
- options = L.Util.setOptions(this, options)
142
- options.icon = options.iconFactory(options.iconOptions)
143
- this._latlng = latlng
144
- },
145
- onAdd: function(map) {
146
- L.Marker.prototype.onAdd.call(this, map)
147
- },
148
- setStyle: function(style) {
149
- if (this._icon) {
150
- var svg = this._icon.children[0]
151
- var iconBody = this._icon.children[0].children[0]
152
- var iconCircle = this._icon.children[0].children[1]
153
-
154
- if (style.color && !style.iconOptions) {
155
- var stroke = style.color.replace("rgb","rgba").replace(")", ","+this.options.icon.options.opacity+")")
156
- var fill = style.color.replace("rgb","rgba").replace(")", ","+this.options.icon.options.fillOpacity+")")
157
- iconBody.setAttribute("stroke", stroke)
158
- iconBody.setAttribute("fill", fill)
159
- iconCircle.setAttribute("stroke", stroke)
160
-
161
- this.options.icon.fillColor = fill
162
- this.options.icon.color = stroke
163
- this.options.icon.circleColor = stroke
164
- }
165
- if (style.opacity) {
166
- this.setOpacity(style.opacity)
167
- }
168
- if (style.iconOptions) {
169
- if (style.color) { style.iconOptions.color = style.color }
170
- iconOptions = L.Util.setOptions(this.options.icon, style.iconOptions)
171
- this.setIcon(L.divIcon.svgIcon(iconOptions))
172
- }
173
- }
174
- }
175
- })
176
-
177
- L.marker.svgMarker = function(latlng, options) {
178
- return new L.Marker.SVGMarker(latlng, options)
179
- }
@@ -1,166 +0,0 @@
1
-
2
- // 🍂class TileLayer.HERE
3
- // Tile layer for HERE maps tiles.
4
- L.TileLayer.HERE = L.TileLayer.extend({
5
-
6
- options: {
7
- subdomains: '1234',
8
- minZoom: 2,
9
- maxZoom: 18,
10
-
11
- // 🍂option scheme: String = 'normal.day'
12
- // The "map scheme", as documented in the HERE API.
13
- scheme: 'normal.day',
14
-
15
- // 🍂option resource: String = 'maptile'
16
- // The "map resource", as documented in the HERE API.
17
- resource: 'maptile',
18
-
19
- // 🍂option mapId: String = 'newest'
20
- // Version of the map tiles to be used, or a hash of an unique map
21
- mapId: 'newest',
22
-
23
- // 🍂option format: String = 'png8'
24
- // Image format to be used (`png8`, `png`, or `jpg`)
25
- format: 'png8',
26
-
27
- // 🍂option appId: String = ''
28
- // Required option. The `app_id` provided as part of the HERE credentials
29
- appId: '',
30
-
31
- // 🍂option appCode: String = ''
32
- // Required option. The `app_code` provided as part of the HERE credentials
33
- appCode: '',
34
- },
35
-
36
-
37
- initialize: function initialize(options) {
38
- options = L.setOptions(this, options);
39
-
40
- // Decide if this scheme uses the aerial servers or the basemap servers
41
- var schemeStart = options.scheme.split('.')[0];
42
- options.tileResolution = 256;
43
-
44
- if (L.Browser.retina) {
45
- options.tileResolution = 512;
46
- }
47
-
48
- // {Base URL}{Path}/{resource (tile type)}/{map id}/{scheme}/{zoom}/{column}/{row}/{size}/{format}
49
- // ?app_id={YOUR_APP_ID}
50
- // &app_code={YOUR_APP_CODE}
51
- // &{param}={value}
52
-
53
- var path = '/{resource}/2.1/{resource}/{mapId}/{scheme}/{z}/{x}/{y}/{tileResolution}/{format}?app_id={appId}&app_code={appCode}';
54
- var attributionPath = '/maptile/2.1/copyright/{mapId}?app_id={appId}&app_code={appCode}';
55
-
56
- var tileServer = 'base.maps.api.here.com';
57
- if (schemeStart == 'satellite' ||
58
- schemeStart == 'terrain' ||
59
- schemeStart == 'hybrid') {
60
- tileServer = 'aerial.maps.api.here.com';
61
- }
62
- if (options.scheme.indexOf('.traffic.') !== -1) {
63
- tileServer = 'traffic.maps.api.here.com';
64
- }
65
-
66
- var tileUrl = 'https://{s}.' + tileServer + path;
67
-
68
- this._attributionUrl = L.Util.template('https://1.' + tileServer + attributionPath, this.options);
69
-
70
- L.TileLayer.prototype.initialize.call(this, tileUrl, options);
71
-
72
- this._attributionText = '';
73
-
74
- },
75
-
76
- onAdd: function onAdd(map) {
77
- L.TileLayer.prototype.onAdd.call(this, map);
78
-
79
- if (!this._attributionBBoxes) {
80
- this._fetchAttributionBBoxes();
81
- }
82
- },
83
-
84
- onRemove: function onRemove(map) {
85
- L.TileLayer.prototype.onRemove.call(this, map);
86
-
87
- this._map.attributionControl.removeAttribution(this._attributionText);
88
-
89
- this._map.off('moveend zoomend resetview', this._findCopyrightBBox, this);
90
- },
91
-
92
- _fetchAttributionBBoxes: function _onMapMove() {
93
- var xmlhttp = new XMLHttpRequest();
94
- xmlhttp.onreadystatechange = L.bind(function(){
95
- if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
96
- this._parseAttributionBBoxes(JSON.parse(xmlhttp.responseText));
97
- }
98
- }, this);
99
- xmlhttp.open("GET", this._attributionUrl, true);
100
- xmlhttp.send();
101
- },
102
-
103
- _parseAttributionBBoxes: function _parseAttributionBBoxes(json) {
104
- if (!this._map) { return; }
105
- var providers = json[this.options.scheme.split('.')[0]] || json.normal;
106
- for (var i=0; i<providers.length; i++) {
107
- if (providers[i].boxes) {
108
- for (var j=0; j<providers[i].boxes.length; j++) {
109
- var box = providers[i].boxes[j];
110
- providers[i].boxes[j] = L.latLngBounds( [ [box[0], box[1]], [box[2], box[3]] ]);
111
- }
112
- }
113
- }
114
-
115
- this._map.on('moveend zoomend resetview', this._findCopyrightBBox, this);
116
-
117
- this._attributionProviders = providers;
118
-
119
- this._findCopyrightBBox();
120
- },
121
-
122
- _findCopyrightBBox: function _findCopyrightBBox() {
123
- if (!this._map) { return; }
124
- var providers = this._attributionProviders;
125
- var visibleProviders = [];
126
- var zoom = this._map.getZoom();
127
- var visibleBounds = this._map.getBounds();
128
-
129
- for (var i=0; i<providers.length; i++) {
130
- if (providers[i].minLevel < zoom && providers[i].maxLevel > zoom)
131
-
132
- if (!providers[i].boxes) {
133
- // No boxes = attribution always visible
134
- visibleProviders.push(providers[i]);
135
- break;
136
- }
137
-
138
- for (var j=0; j<providers[i].boxes.length; j++) {
139
- var box = providers[i].boxes[j];
140
- if (visibleBounds.overlaps(box)) {
141
- visibleProviders.push(providers[i]);
142
- break;
143
- }
144
- }
145
- }
146
-
147
- var attributions = ['<a href="https://legal.here.com/terms/serviceterms/gb/">HERE maps</a>'];
148
- for (var i=0; i<visibleProviders.length; i++) {
149
- var provider = visibleProviders[i];
150
- attributions.push('<abbr title="' + provider.alt + '">' + provider.label + '</abbr>');
151
- }
152
-
153
- var attributionText = '© ' + attributions.join(', ') + '. ';
154
-
155
- if (attributionText !== this._attributionText) {
156
- this._map.attributionControl.removeAttribution(this._attributionText);
157
- this._map.attributionControl.addAttribution(this._attributionText = attributionText);
158
- }
159
- },
160
-
161
- });
162
-
163
-
164
- L.tileLayer.here = function(opts){
165
- return new L.TileLayer.HERE(opts);
166
- }
@@ -1,9 +0,0 @@
1
- /*
2
- Leaflet 1.0.3, a JS library for interactive maps. http://leafletjs.com
3
- (c) 2010-2016 Vladimir Agafonkin, (c) 2010-2011 CloudMade
4
- */
5
- !function(t,e,i){function n(){var e=t.L;o.noConflict=function(){return t.L=e,this},t.L=o}var o={version:"1.0.3"};"object"==typeof module&&"object"==typeof module.exports?module.exports=o:"function"==typeof define&&define.amd&&define(o),"undefined"!=typeof t&&n(),o.Util={extend:function(t){var e,i,n,o;for(i=1,n=arguments.length;i<n;i++){o=arguments[i];for(e in o)t[e]=o[e]}return t},create:Object.create||function(){function t(){}return function(e){return t.prototype=e,new t}}(),bind:function(t,e){var i=Array.prototype.slice;if(t.bind)return t.bind.apply(t,i.call(arguments,1));var n=i.call(arguments,2);return function(){return t.apply(e,n.length?n.concat(i.call(arguments)):arguments)}},stamp:function(t){return t._leaflet_id=t._leaflet_id||++o.Util.lastId,t._leaflet_id},lastId:0,throttle:function(t,e,i){var n,o,s,r;return r=function(){n=!1,o&&(s.apply(i,o),o=!1)},s=function(){n?o=arguments:(t.apply(i,arguments),setTimeout(r,e),n=!0)}},wrapNum:function(t,e,i){var n=e[1],o=e[0],s=n-o;return t===n&&i?t:((t-o)%s+s)%s+o},falseFn:function(){return!1},formatNum:function(t,e){var i=Math.pow(10,e||5);return Math.round(t*i)/i},trim:function(t){return t.trim?t.trim():t.replace(/^\s+|\s+$/g,"")},splitWords:function(t){return o.Util.trim(t).split(/\s+/)},setOptions:function(t,e){t.hasOwnProperty("options")||(t.options=t.options?o.Util.create(t.options):{});for(var i in e)t.options[i]=e[i];return t.options},getParamString:function(t,e,i){var n=[];for(var o in t)n.push(encodeURIComponent(i?o.toUpperCase():o)+"="+encodeURIComponent(t[o]));return(e&&e.indexOf("?")!==-1?"&":"?")+n.join("&")},template:function(t,e){return t.replace(o.Util.templateRe,function(t,n){var o=e[n];if(o===i)throw new Error("No value provided for variable "+t);return"function"==typeof o&&(o=o(e)),o})},templateRe:/\{ *([\w_\-]+) *\}/g,isArray:Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)},indexOf:function(t,e){for(var i=0;i<t.length;i++)if(t[i]===e)return i;return-1},emptyImageUrl:"data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs="},function(){function e(e){return t["webkit"+e]||t["moz"+e]||t["ms"+e]}function i(e){var i=+new Date,o=Math.max(0,16-(i-n));return n=i+o,t.setTimeout(e,o)}var n=0,s=t.requestAnimationFrame||e("RequestAnimationFrame")||i,r=t.cancelAnimationFrame||e("CancelAnimationFrame")||e("CancelRequestAnimationFrame")||function(e){t.clearTimeout(e)};o.Util.requestAnimFrame=function(e,n,r){return r&&s===i?void e.call(n):s.call(t,o.bind(e,n))},o.Util.cancelAnimFrame=function(e){e&&r.call(t,e)}}(),o.extend=o.Util.extend,o.bind=o.Util.bind,o.stamp=o.Util.stamp,o.setOptions=o.Util.setOptions,o.Class=function(){},o.Class.extend=function(t){var e=function(){this.initialize&&this.initialize.apply(this,arguments),this.callInitHooks()},i=e.__super__=this.prototype,n=o.Util.create(i);n.constructor=e,e.prototype=n;for(var s in this)this.hasOwnProperty(s)&&"prototype"!==s&&(e[s]=this[s]);return t.statics&&(o.extend(e,t.statics),delete t.statics),t.includes&&(o.Util.extend.apply(null,[n].concat(t.includes)),delete t.includes),n.options&&(t.options=o.Util.extend(o.Util.create(n.options),t.options)),o.extend(n,t),n._initHooks=[],n.callInitHooks=function(){if(!this._initHooksCalled){i.callInitHooks&&i.callInitHooks.call(this),this._initHooksCalled=!0;for(var t=0,e=n._initHooks.length;t<e;t++)n._initHooks[t].call(this)}},e},o.Class.include=function(t){return o.extend(this.prototype,t),this},o.Class.mergeOptions=function(t){return o.extend(this.prototype.options,t),this},o.Class.addInitHook=function(t){var e=Array.prototype.slice.call(arguments,1),i="function"==typeof t?t:function(){this[t].apply(this,e)};return this.prototype._initHooks=this.prototype._initHooks||[],this.prototype._initHooks.push(i),this},o.Evented=o.Class.extend({on:function(t,e,i){if("object"==typeof t)for(var n in t)this._on(n,t[n],e);else{t=o.Util.splitWords(t);for(var s=0,r=t.length;s<r;s++)this._on(t[s],e,i)}return this},off:function(t,e,i){if(t)if("object"==typeof t)for(var n in t)this._off(n,t[n],e);else{t=o.Util.splitWords(t);for(var s=0,r=t.length;s<r;s++)this._off(t[s],e,i)}else delete this._events;return this},_on:function(t,e,n){this._events=this._events||{};var o=this._events[t];o||(o=[],this._events[t]=o),n===this&&(n=i);for(var s={fn:e,ctx:n},r=o,a=0,h=r.length;a<h;a++)if(r[a].fn===e&&r[a].ctx===n)return;r.push(s)},_off:function(t,e,n){var s,r,a;if(this._events&&(s=this._events[t])){if(!e){for(r=0,a=s.length;r<a;r++)s[r].fn=o.Util.falseFn;return void delete this._events[t]}if(n===this&&(n=i),s)for(r=0,a=s.length;r<a;r++){var h=s[r];if(h.ctx===n&&h.fn===e)return h.fn=o.Util.falseFn,this._firingCount&&(this._events[t]=s=s.slice()),void s.splice(r,1)}}},fire:function(t,e,i){if(!this.listens(t,i))return this;var n=o.Util.extend({},e,{type:t,target:this});if(this._events){var s=this._events[t];if(s){this._firingCount=this._firingCount+1||1;for(var r=0,a=s.length;r<a;r++){var h=s[r];h.fn.call(h.ctx||this,n)}this._firingCount--}}return i&&this._propagateEvent(n),this},listens:function(t,e){var i=this._events&&this._events[t];if(i&&i.length)return!0;if(e)for(var n in this._eventParents)if(this._eventParents[n].listens(t,e))return!0;return!1},once:function(t,e,i){if("object"==typeof t){for(var n in t)this.once(n,t[n],e);return this}var s=o.bind(function(){this.off(t,e,i).off(t,s,i)},this);return this.on(t,e,i).on(t,s,i)},addEventParent:function(t){return this._eventParents=this._eventParents||{},this._eventParents[o.stamp(t)]=t,this},removeEventParent:function(t){return this._eventParents&&delete this._eventParents[o.stamp(t)],this},_propagateEvent:function(t){for(var e in this._eventParents)this._eventParents[e].fire(t.type,o.extend({layer:t.target},t),!0)}});var s=o.Evented.prototype;s.addEventListener=s.on,s.removeEventListener=s.clearAllEventListeners=s.off,s.addOneTimeEventListener=s.once,s.fireEvent=s.fire,s.hasEventListeners=s.listens,o.Mixin={Events:s},function(){var i=navigator.userAgent.toLowerCase(),n=e.documentElement,s="ActiveXObject"in t,r=i.indexOf("webkit")!==-1,a=i.indexOf("phantom")!==-1,h=i.search("android [23]")!==-1,l=i.indexOf("chrome")!==-1,u=i.indexOf("gecko")!==-1&&!r&&!t.opera&&!s,c=0===navigator.platform.indexOf("Win"),d="undefined"!=typeof orientation||i.indexOf("mobile")!==-1,_=!t.PointerEvent&&t.MSPointerEvent,m=t.PointerEvent||_,p=s&&"transition"in n.style,f="WebKitCSSMatrix"in t&&"m11"in new t.WebKitCSSMatrix&&!h,g="MozPerspective"in n.style,v="OTransition"in n.style,y=!t.L_NO_TOUCH&&(m||"ontouchstart"in t||t.DocumentTouch&&e instanceof t.DocumentTouch);o.Browser={ie:s,ielt9:s&&!e.addEventListener,edge:"msLaunchUri"in navigator&&!("documentMode"in e),webkit:r,gecko:u,android:i.indexOf("android")!==-1,android23:h,chrome:l,safari:!l&&i.indexOf("safari")!==-1,win:c,ie3d:p,webkit3d:f,gecko3d:g,opera12:v,any3d:!t.L_DISABLE_3D&&(p||f||g)&&!v&&!a,mobile:d,mobileWebkit:d&&r,mobileWebkit3d:d&&f,mobileOpera:d&&t.opera,mobileGecko:d&&u,touch:!!y,msPointer:!!_,pointer:!!m,retina:(t.devicePixelRatio||t.screen.deviceXDPI/t.screen.logicalXDPI)>1}}(),o.Point=function(t,e,i){this.x=i?Math.round(t):t,this.y=i?Math.round(e):e},o.Point.prototype={clone:function(){return new o.Point(this.x,this.y)},add:function(t){return this.clone()._add(o.point(t))},_add:function(t){return this.x+=t.x,this.y+=t.y,this},subtract:function(t){return this.clone()._subtract(o.point(t))},_subtract:function(t){return this.x-=t.x,this.y-=t.y,this},divideBy:function(t){return this.clone()._divideBy(t)},_divideBy:function(t){return this.x/=t,this.y/=t,this},multiplyBy:function(t){return this.clone()._multiplyBy(t)},_multiplyBy:function(t){return this.x*=t,this.y*=t,this},scaleBy:function(t){return new o.Point(this.x*t.x,this.y*t.y)},unscaleBy:function(t){return new o.Point(this.x/t.x,this.y/t.y)},round:function(){return this.clone()._round()},_round:function(){return this.x=Math.round(this.x),this.y=Math.round(this.y),this},floor:function(){return this.clone()._floor()},_floor:function(){return this.x=Math.floor(this.x),this.y=Math.floor(this.y),this},ceil:function(){return this.clone()._ceil()},_ceil:function(){return this.x=Math.ceil(this.x),this.y=Math.ceil(this.y),this},distanceTo:function(t){t=o.point(t);var e=t.x-this.x,i=t.y-this.y;return Math.sqrt(e*e+i*i)},equals:function(t){return t=o.point(t),t.x===this.x&&t.y===this.y},contains:function(t){return t=o.point(t),Math.abs(t.x)<=Math.abs(this.x)&&Math.abs(t.y)<=Math.abs(this.y)},toString:function(){return"Point("+o.Util.formatNum(this.x)+", "+o.Util.formatNum(this.y)+")"}},o.point=function(t,e,n){return t instanceof o.Point?t:o.Util.isArray(t)?new o.Point(t[0],t[1]):t===i||null===t?t:"object"==typeof t&&"x"in t&&"y"in t?new o.Point(t.x,t.y):new o.Point(t,e,n)},o.Bounds=function(t,e){if(t)for(var i=e?[t,e]:t,n=0,o=i.length;n<o;n++)this.extend(i[n])},o.Bounds.prototype={extend:function(t){return t=o.point(t),this.min||this.max?(this.min.x=Math.min(t.x,this.min.x),this.max.x=Math.max(t.x,this.max.x),this.min.y=Math.min(t.y,this.min.y),this.max.y=Math.max(t.y,this.max.y)):(this.min=t.clone(),this.max=t.clone()),this},getCenter:function(t){return new o.Point((this.min.x+this.max.x)/2,(this.min.y+this.max.y)/2,t)},getBottomLeft:function(){return new o.Point(this.min.x,this.max.y)},getTopRight:function(){return new o.Point(this.max.x,this.min.y)},getSize:function(){return this.max.subtract(this.min)},contains:function(t){var e,i;return t="number"==typeof t[0]||t instanceof o.Point?o.point(t):o.bounds(t),t instanceof o.Bounds?(e=t.min,i=t.max):e=i=t,e.x>=this.min.x&&i.x<=this.max.x&&e.y>=this.min.y&&i.y<=this.max.y},intersects:function(t){t=o.bounds(t);var e=this.min,i=this.max,n=t.min,s=t.max,r=s.x>=e.x&&n.x<=i.x,a=s.y>=e.y&&n.y<=i.y;return r&&a},overlaps:function(t){t=o.bounds(t);var e=this.min,i=this.max,n=t.min,s=t.max,r=s.x>e.x&&n.x<i.x,a=s.y>e.y&&n.y<i.y;return r&&a},isValid:function(){return!(!this.min||!this.max)}},o.bounds=function(t,e){return!t||t instanceof o.Bounds?t:new o.Bounds(t,e)},o.Transformation=function(t,e,i,n){this._a=t,this._b=e,this._c=i,this._d=n},o.Transformation.prototype={transform:function(t,e){return this._transform(t.clone(),e)},_transform:function(t,e){return e=e||1,t.x=e*(this._a*t.x+this._b),t.y=e*(this._c*t.y+this._d),t},untransform:function(t,e){return e=e||1,new o.Point((t.x/e-this._b)/this._a,(t.y/e-this._d)/this._c)}},o.DomUtil={get:function(t){return"string"==typeof t?e.getElementById(t):t},getStyle:function(t,i){var n=t.style[i]||t.currentStyle&&t.currentStyle[i];if((!n||"auto"===n)&&e.defaultView){var o=e.defaultView.getComputedStyle(t,null);n=o?o[i]:null}return"auto"===n?null:n},create:function(t,i,n){var o=e.createElement(t);return o.className=i||"",n&&n.appendChild(o),o},remove:function(t){var e=t.parentNode;e&&e.removeChild(t)},empty:function(t){for(;t.firstChild;)t.removeChild(t.firstChild)},toFront:function(t){t.parentNode.appendChild(t)},toBack:function(t){var e=t.parentNode;e.insertBefore(t,e.firstChild)},hasClass:function(t,e){if(t.classList!==i)return t.classList.contains(e);var n=o.DomUtil.getClass(t);return n.length>0&&new RegExp("(^|\\s)"+e+"(\\s|$)").test(n)},addClass:function(t,e){if(t.classList!==i)for(var n=o.Util.splitWords(e),s=0,r=n.length;s<r;s++)t.classList.add(n[s]);else if(!o.DomUtil.hasClass(t,e)){var a=o.DomUtil.getClass(t);o.DomUtil.setClass(t,(a?a+" ":"")+e)}},removeClass:function(t,e){t.classList!==i?t.classList.remove(e):o.DomUtil.setClass(t,o.Util.trim((" "+o.DomUtil.getClass(t)+" ").replace(" "+e+" "," ")))},setClass:function(t,e){t.className.baseVal===i?t.className=e:t.className.baseVal=e},getClass:function(t){return t.className.baseVal===i?t.className:t.className.baseVal},setOpacity:function(t,e){"opacity"in t.style?t.style.opacity=e:"filter"in t.style&&o.DomUtil._setOpacityIE(t,e)},_setOpacityIE:function(t,e){var i=!1,n="DXImageTransform.Microsoft.Alpha";try{i=t.filters.item(n)}catch(t){if(1===e)return}e=Math.round(100*e),i?(i.Enabled=100!==e,i.Opacity=e):t.style.filter+=" progid:"+n+"(opacity="+e+")"},testProp:function(t){for(var i=e.documentElement.style,n=0;n<t.length;n++)if(t[n]in i)return t[n];return!1},setTransform:function(t,e,i){var n=e||new o.Point(0,0);t.style[o.DomUtil.TRANSFORM]=(o.Browser.ie3d?"translate("+n.x+"px,"+n.y+"px)":"translate3d("+n.x+"px,"+n.y+"px,0)")+(i?" scale("+i+")":"")},setPosition:function(t,e){t._leaflet_pos=e,o.Browser.any3d?o.DomUtil.setTransform(t,e):(t.style.left=e.x+"px",t.style.top=e.y+"px")},getPosition:function(t){return t._leaflet_pos||new o.Point(0,0)}},function(){o.DomUtil.TRANSFORM=o.DomUtil.testProp(["transform","WebkitTransform","OTransform","MozTransform","msTransform"]);var i=o.DomUtil.TRANSITION=o.DomUtil.testProp(["webkitTransition","transition","OTransition","MozTransition","msTransition"]);if(o.DomUtil.TRANSITION_END="webkitTransition"===i||"OTransition"===i?i+"End":"transitionend","onselectstart"in e)o.DomUtil.disableTextSelection=function(){o.DomEvent.on(t,"selectstart",o.DomEvent.preventDefault)},o.DomUtil.enableTextSelection=function(){o.DomEvent.off(t,"selectstart",o.DomEvent.preventDefault)};else{var n=o.DomUtil.testProp(["userSelect","WebkitUserSelect","OUserSelect","MozUserSelect","msUserSelect"]);o.DomUtil.disableTextSelection=function(){if(n){var t=e.documentElement.style;this._userSelect=t[n],t[n]="none"}},o.DomUtil.enableTextSelection=function(){n&&(e.documentElement.style[n]=this._userSelect,delete this._userSelect)}}o.DomUtil.disableImageDrag=function(){o.DomEvent.on(t,"dragstart",o.DomEvent.preventDefault)},o.DomUtil.enableImageDrag=function(){o.DomEvent.off(t,"dragstart",o.DomEvent.preventDefault)},o.DomUtil.preventOutline=function(e){for(;e.tabIndex===-1;)e=e.parentNode;e&&e.style&&(o.DomUtil.restoreOutline(),this._outlineElement=e,this._outlineStyle=e.style.outline,e.style.outline="none",o.DomEvent.on(t,"keydown",o.DomUtil.restoreOutline,this))},o.DomUtil.restoreOutline=function(){this._outlineElement&&(this._outlineElement.style.outline=this._outlineStyle,delete this._outlineElement,delete this._outlineStyle,o.DomEvent.off(t,"keydown",o.DomUtil.restoreOutline,this))}}(),o.LatLng=function(t,e,n){if(isNaN(t)||isNaN(e))throw new Error("Invalid LatLng object: ("+t+", "+e+")");this.lat=+t,this.lng=+e,n!==i&&(this.alt=+n)},o.LatLng.prototype={equals:function(t,e){if(!t)return!1;t=o.latLng(t);var n=Math.max(Math.abs(this.lat-t.lat),Math.abs(this.lng-t.lng));return n<=(e===i?1e-9:e)},toString:function(t){return"LatLng("+o.Util.formatNum(this.lat,t)+", "+o.Util.formatNum(this.lng,t)+")"},distanceTo:function(t){return o.CRS.Earth.distance(this,o.latLng(t))},wrap:function(){return o.CRS.Earth.wrapLatLng(this)},toBounds:function(t){var e=180*t/40075017,i=e/Math.cos(Math.PI/180*this.lat);return o.latLngBounds([this.lat-e,this.lng-i],[this.lat+e,this.lng+i])},clone:function(){return new o.LatLng(this.lat,this.lng,this.alt)}},o.latLng=function(t,e,n){return t instanceof o.LatLng?t:o.Util.isArray(t)&&"object"!=typeof t[0]?3===t.length?new o.LatLng(t[0],t[1],t[2]):2===t.length?new o.LatLng(t[0],t[1]):null:t===i||null===t?t:"object"==typeof t&&"lat"in t?new o.LatLng(t.lat,"lng"in t?t.lng:t.lon,t.alt):e===i?null:new o.LatLng(t,e,n)},o.LatLngBounds=function(t,e){if(t)for(var i=e?[t,e]:t,n=0,o=i.length;n<o;n++)this.extend(i[n])},o.LatLngBounds.prototype={extend:function(t){var e,i,n=this._southWest,s=this._northEast;if(t instanceof o.LatLng)e=t,i=t;else{if(!(t instanceof o.LatLngBounds))return t?this.extend(o.latLng(t)||o.latLngBounds(t)):this;if(e=t._southWest,i=t._northEast,!e||!i)return this}return n||s?(n.lat=Math.min(e.lat,n.lat),n.lng=Math.min(e.lng,n.lng),s.lat=Math.max(i.lat,s.lat),s.lng=Math.max(i.lng,s.lng)):(this._southWest=new o.LatLng(e.lat,e.lng),this._northEast=new o.LatLng(i.lat,i.lng)),this},pad:function(t){var e=this._southWest,i=this._northEast,n=Math.abs(e.lat-i.lat)*t,s=Math.abs(e.lng-i.lng)*t;return new o.LatLngBounds(new o.LatLng(e.lat-n,e.lng-s),new o.LatLng(i.lat+n,i.lng+s))},getCenter:function(){return new o.LatLng((this._southWest.lat+this._northEast.lat)/2,(this._southWest.lng+this._northEast.lng)/2)},getSouthWest:function(){return this._southWest},getNorthEast:function(){return this._northEast},getNorthWest:function(){return new o.LatLng(this.getNorth(),this.getWest())},getSouthEast:function(){return new o.LatLng(this.getSouth(),this.getEast())},getWest:function(){return this._southWest.lng},getSouth:function(){return this._southWest.lat},getEast:function(){return this._northEast.lng},getNorth:function(){return this._northEast.lat},contains:function(t){t="number"==typeof t[0]||t instanceof o.LatLng||"lat"in t?o.latLng(t):o.latLngBounds(t);var e,i,n=this._southWest,s=this._northEast;return t instanceof o.LatLngBounds?(e=t.getSouthWest(),i=t.getNorthEast()):e=i=t,e.lat>=n.lat&&i.lat<=s.lat&&e.lng>=n.lng&&i.lng<=s.lng},intersects:function(t){t=o.latLngBounds(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),s=t.getNorthEast(),r=s.lat>=e.lat&&n.lat<=i.lat,a=s.lng>=e.lng&&n.lng<=i.lng;return r&&a},overlaps:function(t){t=o.latLngBounds(t);var e=this._southWest,i=this._northEast,n=t.getSouthWest(),s=t.getNorthEast(),r=s.lat>e.lat&&n.lat<i.lat,a=s.lng>e.lng&&n.lng<i.lng;return r&&a},toBBoxString:function(){return[this.getWest(),this.getSouth(),this.getEast(),this.getNorth()].join(",")},equals:function(t){return!!t&&(t=o.latLngBounds(t),this._southWest.equals(t.getSouthWest())&&this._northEast.equals(t.getNorthEast()))},isValid:function(){return!(!this._southWest||!this._northEast)}},o.latLngBounds=function(t,e){return t instanceof o.LatLngBounds?t:new o.LatLngBounds(t,e)},o.Projection={},o.Projection.LonLat={project:function(t){return new o.Point(t.lng,t.lat)},unproject:function(t){return new o.LatLng(t.y,t.x)},bounds:o.bounds([-180,-90],[180,90])},o.Projection.SphericalMercator={R:6378137,MAX_LATITUDE:85.0511287798,project:function(t){var e=Math.PI/180,i=this.MAX_LATITUDE,n=Math.max(Math.min(i,t.lat),-i),s=Math.sin(n*e);return new o.Point(this.R*t.lng*e,this.R*Math.log((1+s)/(1-s))/2)},unproject:function(t){var e=180/Math.PI;return new o.LatLng((2*Math.atan(Math.exp(t.y/this.R))-Math.PI/2)*e,t.x*e/this.R)},bounds:function(){var t=6378137*Math.PI;return o.bounds([-t,-t],[t,t])}()},o.CRS={latLngToPoint:function(t,e){var i=this.projection.project(t),n=this.scale(e);return this.transformation._transform(i,n)},pointToLatLng:function(t,e){var i=this.scale(e),n=this.transformation.untransform(t,i);return this.projection.unproject(n)},project:function(t){return this.projection.project(t)},unproject:function(t){return this.projection.unproject(t)},scale:function(t){return 256*Math.pow(2,t)},zoom:function(t){return Math.log(t/256)/Math.LN2},getProjectedBounds:function(t){if(this.infinite)return null;var e=this.projection.bounds,i=this.scale(t),n=this.transformation.transform(e.min,i),s=this.transformation.transform(e.max,i);return o.bounds(n,s)},infinite:!1,wrapLatLng:function(t){var e=this.wrapLng?o.Util.wrapNum(t.lng,this.wrapLng,!0):t.lng,i=this.wrapLat?o.Util.wrapNum(t.lat,this.wrapLat,!0):t.lat,n=t.alt;return o.latLng(i,e,n)},wrapLatLngBounds:function(t){var e=t.getCenter(),i=this.wrapLatLng(e),n=e.lat-i.lat,s=e.lng-i.lng;if(0===n&&0===s)return t;var r=t.getSouthWest(),a=t.getNorthEast(),h=o.latLng({lat:r.lat-n,lng:r.lng-s}),l=o.latLng({lat:a.lat-n,lng:a.lng-s});return new o.LatLngBounds(h,l)}},o.CRS.Simple=o.extend({},o.CRS,{projection:o.Projection.LonLat,transformation:new o.Transformation(1,0,-1,0),scale:function(t){return Math.pow(2,t)},zoom:function(t){return Math.log(t)/Math.LN2},distance:function(t,e){var i=e.lng-t.lng,n=e.lat-t.lat;return Math.sqrt(i*i+n*n)},infinite:!0}),o.CRS.Earth=o.extend({},o.CRS,{wrapLng:[-180,180],R:6371e3,distance:function(t,e){var i=Math.PI/180,n=t.lat*i,o=e.lat*i,s=Math.sin(n)*Math.sin(o)+Math.cos(n)*Math.cos(o)*Math.cos((e.lng-t.lng)*i);return this.R*Math.acos(Math.min(s,1))}}),o.CRS.EPSG3857=o.extend({},o.CRS.Earth,{code:"EPSG:3857",projection:o.Projection.SphericalMercator,transformation:function(){var t=.5/(Math.PI*o.Projection.SphericalMercator.R);return new o.Transformation(t,.5,-t,.5)}()}),o.CRS.EPSG900913=o.extend({},o.CRS.EPSG3857,{code:"EPSG:900913"}),o.CRS.EPSG4326=o.extend({},o.CRS.Earth,{code:"EPSG:4326",projection:o.Projection.LonLat,transformation:new o.Transformation(1/180,1,-1/180,.5)}),o.Map=o.Evented.extend({options:{crs:o.CRS.EPSG3857,center:i,zoom:i,minZoom:i,maxZoom:i,layers:[],maxBounds:i,renderer:i,zoomAnimation:!0,zoomAnimationThreshold:4,fadeAnimation:!0,markerZoomAnimation:!0,transform3DLimit:8388608,zoomSnap:1,zoomDelta:1,trackResize:!0},initialize:function(t,e){e=o.setOptions(this,e),this._initContainer(t),this._initLayout(),this._onResize=o.bind(this._onResize,this),this._initEvents(),e.maxBounds&&this.setMaxBounds(e.maxBounds),e.zoom!==i&&(this._zoom=this._limitZoom(e.zoom)),e.center&&e.zoom!==i&&this.setView(o.latLng(e.center),e.zoom,{reset:!0}),this._handlers=[],this._layers={},this._zoomBoundLayers={},this._sizeChanged=!0,this.callInitHooks(),this._zoomAnimated=o.DomUtil.TRANSITION&&o.Browser.any3d&&!o.Browser.mobileOpera&&this.options.zoomAnimation,this._zoomAnimated&&(this._createAnimProxy(),o.DomEvent.on(this._proxy,o.DomUtil.TRANSITION_END,this._catchTransitionEnd,this)),this._addLayers(this.options.layers)},setView:function(t,e,n){if(e=e===i?this._zoom:this._limitZoom(e),t=this._limitCenter(o.latLng(t),e,this.options.maxBounds),n=n||{},this._stop(),this._loaded&&!n.reset&&n!==!0){n.animate!==i&&(n.zoom=o.extend({animate:n.animate},n.zoom),n.pan=o.extend({animate:n.animate,duration:n.duration},n.pan));var s=this._zoom!==e?this._tryAnimatedZoom&&this._tryAnimatedZoom(t,e,n.zoom):this._tryAnimatedPan(t,n.pan);if(s)return clearTimeout(this._sizeTimer),this}return this._resetView(t,e),this},setZoom:function(t,e){return this._loaded?this.setView(this.getCenter(),t,{zoom:e}):(this._zoom=t,this)},zoomIn:function(t,e){return t=t||(o.Browser.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom+t,e)},zoomOut:function(t,e){return t=t||(o.Browser.any3d?this.options.zoomDelta:1),this.setZoom(this._zoom-t,e)},setZoomAround:function(t,e,i){var n=this.getZoomScale(e),s=this.getSize().divideBy(2),r=t instanceof o.Point?t:this.latLngToContainerPoint(t),a=r.subtract(s).multiplyBy(1-1/n),h=this.containerPointToLatLng(s.add(a));return this.setView(h,e,{zoom:i})},_getBoundsCenterZoom:function(t,e){e=e||{},t=t.getBounds?t.getBounds():o.latLngBounds(t);var i=o.point(e.paddingTopLeft||e.padding||[0,0]),n=o.point(e.paddingBottomRight||e.padding||[0,0]),s=this.getBoundsZoom(t,!1,i.add(n));s="number"==typeof e.maxZoom?Math.min(e.maxZoom,s):s;var r=n.subtract(i).divideBy(2),a=this.project(t.getSouthWest(),s),h=this.project(t.getNorthEast(),s),l=this.unproject(a.add(h).divideBy(2).add(r),s);return{center:l,zoom:s}},fitBounds:function(t,e){if(t=o.latLngBounds(t),!t.isValid())throw new Error("Bounds are not valid.");var i=this._getBoundsCenterZoom(t,e);return this.setView(i.center,i.zoom,e)},fitWorld:function(t){return this.fitBounds([[-90,-180],[90,180]],t)},panTo:function(t,e){return this.setView(t,this._zoom,{pan:e})},panBy:function(t,e){if(t=o.point(t).round(),e=e||{},!t.x&&!t.y)return this.fire("moveend");if(e.animate!==!0&&!this.getSize().contains(t))return this._resetView(this.unproject(this.project(this.getCenter()).add(t)),this.getZoom()),this;if(this._panAnim||(this._panAnim=new o.PosAnimation,this._panAnim.on({step:this._onPanTransitionStep,end:this._onPanTransitionEnd},this)),e.noMoveStart||this.fire("movestart"),e.animate!==!1){o.DomUtil.addClass(this._mapPane,"leaflet-pan-anim");var i=this._getMapPanePos().subtract(t).round();this._panAnim.run(this._mapPane,i,e.duration||.25,e.easeLinearity)}else this._rawPanBy(t),this.fire("move").fire("moveend");return this},flyTo:function(t,e,n){function s(t){var e=t?-1:1,i=t?v:g,n=v*v-g*g+e*L*L*y*y,o=2*i*L*y,s=n/o,r=Math.sqrt(s*s+1)-s,a=r<1e-9?-18:Math.log(r);return a}function r(t){return(Math.exp(t)-Math.exp(-t))/2}function a(t){return(Math.exp(t)+Math.exp(-t))/2}function h(t){return r(t)/a(t)}function l(t){return g*(a(x)/a(x+P*t))}function u(t){return g*(a(x)*h(x+P*t)-r(x))/L}function c(t){return 1-Math.pow(1-t,1.5)}function d(){var i=(Date.now()-w)/T,n=c(i)*b;i<=1?(this._flyToFrame=o.Util.requestAnimFrame(d,this),this._move(this.unproject(_.add(m.subtract(_).multiplyBy(u(n)/y)),f),this.getScaleZoom(g/l(n),f),{flyTo:!0})):this._move(t,e)._moveEnd(!0)}if(n=n||{},n.animate===!1||!o.Browser.any3d)return this.setView(t,e,n);this._stop();var _=this.project(this.getCenter()),m=this.project(t),p=this.getSize(),f=this._zoom;t=o.latLng(t),e=e===i?f:e;var g=Math.max(p.x,p.y),v=g*this.getZoomScale(f,e),y=m.distanceTo(_)||1,P=1.42,L=P*P,x=s(0),w=Date.now(),b=(s(1)-x)/P,T=n.duration?1e3*n.duration:1e3*b*.8;return this._moveStart(!0),d.call(this),this},flyToBounds:function(t,e){var i=this._getBoundsCenterZoom(t,e);return this.flyTo(i.center,i.zoom,e)},setMaxBounds:function(t){return t=o.latLngBounds(t),t.isValid()?(this.options.maxBounds&&this.off("moveend",this._panInsideMaxBounds),this.options.maxBounds=t,this._loaded&&this._panInsideMaxBounds(),this.on("moveend",this._panInsideMaxBounds)):(this.options.maxBounds=null,this.off("moveend",this._panInsideMaxBounds))},setMinZoom:function(t){return this.options.minZoom=t,this._loaded&&this.getZoom()<this.options.minZoom?this.setZoom(t):this},setMaxZoom:function(t){return this.options.maxZoom=t,this._loaded&&this.getZoom()>this.options.maxZoom?this.setZoom(t):this},panInsideBounds:function(t,e){this._enforcingBounds=!0;var i=this.getCenter(),n=this._limitCenter(i,this._zoom,o.latLngBounds(t));return i.equals(n)||this.panTo(n,e),this._enforcingBounds=!1,this},invalidateSize:function(t){if(!this._loaded)return this;t=o.extend({animate:!1,pan:!0},t===!0?{animate:!0}:t);var e=this.getSize();this._sizeChanged=!0,this._lastCenter=null;var i=this.getSize(),n=e.divideBy(2).round(),s=i.divideBy(2).round(),r=n.subtract(s);return r.x||r.y?(t.animate&&t.pan?this.panBy(r):(t.pan&&this._rawPanBy(r),this.fire("move"),t.debounceMoveend?(clearTimeout(this._sizeTimer),this._sizeTimer=setTimeout(o.bind(this.fire,this,"moveend"),200)):this.fire("moveend")),this.fire("resize",{oldSize:e,newSize:i})):this},stop:function(){return this.setZoom(this._limitZoom(this._zoom)),this.options.zoomSnap||this.fire("viewreset"),this._stop()},locate:function(t){if(t=this._locateOptions=o.extend({timeout:1e4,watch:!1},t),!("geolocation"in navigator))return this._handleGeolocationError({code:0,message:"Geolocation not supported."}),this;var e=o.bind(this._handleGeolocationResponse,this),i=o.bind(this._handleGeolocationError,this);return t.watch?this._locationWatchId=navigator.geolocation.watchPosition(e,i,t):navigator.geolocation.getCurrentPosition(e,i,t),this},stopLocate:function(){return navigator.geolocation&&navigator.geolocation.clearWatch&&navigator.geolocation.clearWatch(this._locationWatchId),this._locateOptions&&(this._locateOptions.setView=!1),this},_handleGeolocationError:function(t){var e=t.code,i=t.message||(1===e?"permission denied":2===e?"position unavailable":"timeout");this._locateOptions.setView&&!this._loaded&&this.fitWorld(),this.fire("locationerror",{code:e,message:"Geolocation error: "+i+"."})},_handleGeolocationResponse:function(t){var e=t.coords.latitude,i=t.coords.longitude,n=new o.LatLng(e,i),s=n.toBounds(t.coords.accuracy),r=this._locateOptions;if(r.setView){var a=this.getBoundsZoom(s);this.setView(n,r.maxZoom?Math.min(a,r.maxZoom):a)}var h={latlng:n,bounds:s,timestamp:t.timestamp};for(var l in t.coords)"number"==typeof t.coords[l]&&(h[l]=t.coords[l]);this.fire("locationfound",h)},addHandler:function(t,e){if(!e)return this;var i=this[t]=new e(this);return this._handlers.push(i),this.options[t]&&i.enable(),this},remove:function(){if(this._initEvents(!0),this._containerId!==this._container._leaflet_id)throw new Error("Map container is being reused by another instance");try{delete this._container._leaflet_id,delete this._containerId}catch(t){this._container._leaflet_id=i,this._containerId=i}o.DomUtil.remove(this._mapPane),this._clearControlPos&&this._clearControlPos(),this._clearHandlers(),this._loaded&&this.fire("unload");for(var t in this._layers)this._layers[t].remove();return this},createPane:function(t,e){var i="leaflet-pane"+(t?" leaflet-"+t.replace("Pane","")+"-pane":""),n=o.DomUtil.create("div",i,e||this._mapPane);return t&&(this._panes[t]=n),n},getCenter:function(){return this._checkIfLoaded(),this._lastCenter&&!this._moved()?this._lastCenter:this.layerPointToLatLng(this._getCenterLayerPoint())},getZoom:function(){return this._zoom},getBounds:function(){var t=this.getPixelBounds(),e=this.unproject(t.getBottomLeft()),i=this.unproject(t.getTopRight());return new o.LatLngBounds(e,i)},getMinZoom:function(){return this.options.minZoom===i?this._layersMinZoom||0:this.options.minZoom},getMaxZoom:function(){return this.options.maxZoom===i?this._layersMaxZoom===i?1/0:this._layersMaxZoom:this.options.maxZoom},getBoundsZoom:function(t,e,i){t=o.latLngBounds(t),i=o.point(i||[0,0]);var n=this.getZoom()||0,s=this.getMinZoom(),r=this.getMaxZoom(),a=t.getNorthWest(),h=t.getSouthEast(),l=this.getSize().subtract(i),u=o.bounds(this.project(h,n),this.project(a,n)).getSize(),c=o.Browser.any3d?this.options.zoomSnap:1,d=Math.min(l.x/u.x,l.y/u.y);return n=this.getScaleZoom(d,n),c&&(n=Math.round(n/(c/100))*(c/100),n=e?Math.ceil(n/c)*c:Math.floor(n/c)*c),Math.max(s,Math.min(r,n))},getSize:function(){return this._size&&!this._sizeChanged||(this._size=new o.Point(this._container.clientWidth||0,this._container.clientHeight||0),this._sizeChanged=!1),this._size.clone()},getPixelBounds:function(t,e){var i=this._getTopLeftPoint(t,e);return new o.Bounds(i,i.add(this.getSize()))},getPixelOrigin:function(){return this._checkIfLoaded(),this._pixelOrigin},getPixelWorldBounds:function(t){return this.options.crs.getProjectedBounds(t===i?this.getZoom():t)},getPane:function(t){return"string"==typeof t?this._panes[t]:t},getPanes:function(){return this._panes},getContainer:function(){return this._container},getZoomScale:function(t,e){var n=this.options.crs;return e=e===i?this._zoom:e,n.scale(t)/n.scale(e)},getScaleZoom:function(t,e){var n=this.options.crs;e=e===i?this._zoom:e;var o=n.zoom(t*n.scale(e));return isNaN(o)?1/0:o},project:function(t,e){return e=e===i?this._zoom:e,this.options.crs.latLngToPoint(o.latLng(t),e)},unproject:function(t,e){return e=e===i?this._zoom:e,this.options.crs.pointToLatLng(o.point(t),e)},layerPointToLatLng:function(t){var e=o.point(t).add(this.getPixelOrigin());return this.unproject(e)},latLngToLayerPoint:function(t){var e=this.project(o.latLng(t))._round();return e._subtract(this.getPixelOrigin())},wrapLatLng:function(t){return this.options.crs.wrapLatLng(o.latLng(t))},wrapLatLngBounds:function(t){return this.options.crs.wrapLatLngBounds(o.latLngBounds(t))},distance:function(t,e){return this.options.crs.distance(o.latLng(t),o.latLng(e))},containerPointToLayerPoint:function(t){return o.point(t).subtract(this._getMapPanePos())},layerPointToContainerPoint:function(t){return o.point(t).add(this._getMapPanePos())},containerPointToLatLng:function(t){var e=this.containerPointToLayerPoint(o.point(t));return this.layerPointToLatLng(e)},latLngToContainerPoint:function(t){return this.layerPointToContainerPoint(this.latLngToLayerPoint(o.latLng(t)))},mouseEventToContainerPoint:function(t){return o.DomEvent.getMousePosition(t,this._container)},mouseEventToLayerPoint:function(t){return this.containerPointToLayerPoint(this.mouseEventToContainerPoint(t))},mouseEventToLatLng:function(t){return this.layerPointToLatLng(this.mouseEventToLayerPoint(t))},_initContainer:function(t){var e=this._container=o.DomUtil.get(t);if(!e)throw new Error("Map container not found.");if(e._leaflet_id)throw new Error("Map container is already initialized.");o.DomEvent.addListener(e,"scroll",this._onScroll,this),this._containerId=o.Util.stamp(e)},_initLayout:function(){var t=this._container;this._fadeAnimated=this.options.fadeAnimation&&o.Browser.any3d,o.DomUtil.addClass(t,"leaflet-container"+(o.Browser.touch?" leaflet-touch":"")+(o.Browser.retina?" leaflet-retina":"")+(o.Browser.ielt9?" leaflet-oldie":"")+(o.Browser.safari?" leaflet-safari":"")+(this._fadeAnimated?" leaflet-fade-anim":""));
6
- var e=o.DomUtil.getStyle(t,"position");"absolute"!==e&&"relative"!==e&&"fixed"!==e&&(t.style.position="relative"),this._initPanes(),this._initControlPos&&this._initControlPos()},_initPanes:function(){var t=this._panes={};this._paneRenderers={},this._mapPane=this.createPane("mapPane",this._container),o.DomUtil.setPosition(this._mapPane,new o.Point(0,0)),this.createPane("tilePane"),this.createPane("shadowPane"),this.createPane("overlayPane"),this.createPane("markerPane"),this.createPane("tooltipPane"),this.createPane("popupPane"),this.options.markerZoomAnimation||(o.DomUtil.addClass(t.markerPane,"leaflet-zoom-hide"),o.DomUtil.addClass(t.shadowPane,"leaflet-zoom-hide"))},_resetView:function(t,e){o.DomUtil.setPosition(this._mapPane,new o.Point(0,0));var i=!this._loaded;this._loaded=!0,e=this._limitZoom(e),this.fire("viewprereset");var n=this._zoom!==e;this._moveStart(n)._move(t,e)._moveEnd(n),this.fire("viewreset"),i&&this.fire("load")},_moveStart:function(t){return t&&this.fire("zoomstart"),this.fire("movestart")},_move:function(t,e,n){e===i&&(e=this._zoom);var o=this._zoom!==e;return this._zoom=e,this._lastCenter=t,this._pixelOrigin=this._getNewPixelOrigin(t),(o||n&&n.pinch)&&this.fire("zoom",n),this.fire("move",n)},_moveEnd:function(t){return t&&this.fire("zoomend"),this.fire("moveend")},_stop:function(){return o.Util.cancelAnimFrame(this._flyToFrame),this._panAnim&&this._panAnim.stop(),this},_rawPanBy:function(t){o.DomUtil.setPosition(this._mapPane,this._getMapPanePos().subtract(t))},_getZoomSpan:function(){return this.getMaxZoom()-this.getMinZoom()},_panInsideMaxBounds:function(){this._enforcingBounds||this.panInsideBounds(this.options.maxBounds)},_checkIfLoaded:function(){if(!this._loaded)throw new Error("Set map center and zoom first.")},_initEvents:function(e){if(o.DomEvent){this._targets={},this._targets[o.stamp(this._container)]=this;var i=e?"off":"on";o.DomEvent[i](this._container,"click dblclick mousedown mouseup mouseover mouseout mousemove contextmenu keypress",this._handleDOMEvent,this),this.options.trackResize&&o.DomEvent[i](t,"resize",this._onResize,this),o.Browser.any3d&&this.options.transform3DLimit&&this[i]("moveend",this._onMoveEnd)}},_onResize:function(){o.Util.cancelAnimFrame(this._resizeRequest),this._resizeRequest=o.Util.requestAnimFrame(function(){this.invalidateSize({debounceMoveend:!0})},this)},_onScroll:function(){this._container.scrollTop=0,this._container.scrollLeft=0},_onMoveEnd:function(){var t=this._getMapPanePos();Math.max(Math.abs(t.x),Math.abs(t.y))>=this.options.transform3DLimit&&this._resetView(this.getCenter(),this.getZoom())},_findEventTargets:function(t,e){for(var i,n=[],s="mouseout"===e||"mouseover"===e,r=t.target||t.srcElement,a=!1;r;){if(i=this._targets[o.stamp(r)],i&&("click"===e||"preclick"===e)&&!t._simulated&&this._draggableMoved(i)){a=!0;break}if(i&&i.listens(e,!0)){if(s&&!o.DomEvent._isExternalTarget(r,t))break;if(n.push(i),s)break}if(r===this._container)break;r=r.parentNode}return n.length||a||s||!o.DomEvent._isExternalTarget(r,t)||(n=[this]),n},_handleDOMEvent:function(t){if(this._loaded&&!o.DomEvent._skipped(t)){var e="keypress"===t.type&&13===t.keyCode?"click":t.type;"mousedown"===e&&o.DomUtil.preventOutline(t.target||t.srcElement),this._fireDOMEvent(t,e)}},_fireDOMEvent:function(t,e,i){if("click"===t.type){var n=o.Util.extend({},t);n.type="preclick",this._fireDOMEvent(n,n.type,i)}if(!t._stopped&&(i=(i||[]).concat(this._findEventTargets(t,e)),i.length)){var s=i[0];"contextmenu"===e&&s.listens(e,!0)&&o.DomEvent.preventDefault(t);var r={originalEvent:t};if("keypress"!==t.type){var a=s instanceof o.Marker;r.containerPoint=a?this.latLngToContainerPoint(s.getLatLng()):this.mouseEventToContainerPoint(t),r.layerPoint=this.containerPointToLayerPoint(r.containerPoint),r.latlng=a?s.getLatLng():this.layerPointToLatLng(r.layerPoint)}for(var h=0;h<i.length;h++)if(i[h].fire(e,r,!0),r.originalEvent._stopped||i[h].options.nonBubblingEvents&&o.Util.indexOf(i[h].options.nonBubblingEvents,e)!==-1)return}},_draggableMoved:function(t){return t=t.dragging&&t.dragging.enabled()?t:this,t.dragging&&t.dragging.moved()||this.boxZoom&&this.boxZoom.moved()},_clearHandlers:function(){for(var t=0,e=this._handlers.length;t<e;t++)this._handlers[t].disable()},whenReady:function(t,e){return this._loaded?t.call(e||this,{target:this}):this.on("load",t,e),this},_getMapPanePos:function(){return o.DomUtil.getPosition(this._mapPane)||new o.Point(0,0)},_moved:function(){var t=this._getMapPanePos();return t&&!t.equals([0,0])},_getTopLeftPoint:function(t,e){var n=t&&e!==i?this._getNewPixelOrigin(t,e):this.getPixelOrigin();return n.subtract(this._getMapPanePos())},_getNewPixelOrigin:function(t,e){var i=this.getSize()._divideBy(2);return this.project(t,e)._subtract(i)._add(this._getMapPanePos())._round()},_latLngToNewLayerPoint:function(t,e,i){var n=this._getNewPixelOrigin(i,e);return this.project(t,e)._subtract(n)},_latLngBoundsToNewLayerBounds:function(t,e,i){var n=this._getNewPixelOrigin(i,e);return o.bounds([this.project(t.getSouthWest(),e)._subtract(n),this.project(t.getNorthWest(),e)._subtract(n),this.project(t.getSouthEast(),e)._subtract(n),this.project(t.getNorthEast(),e)._subtract(n)])},_getCenterLayerPoint:function(){return this.containerPointToLayerPoint(this.getSize()._divideBy(2))},_getCenterOffset:function(t){return this.latLngToLayerPoint(t).subtract(this._getCenterLayerPoint())},_limitCenter:function(t,e,i){if(!i)return t;var n=this.project(t,e),s=this.getSize().divideBy(2),r=new o.Bounds(n.subtract(s),n.add(s)),a=this._getBoundsOffset(r,i,e);return a.round().equals([0,0])?t:this.unproject(n.add(a),e)},_limitOffset:function(t,e){if(!e)return t;var i=this.getPixelBounds(),n=new o.Bounds(i.min.add(t),i.max.add(t));return t.add(this._getBoundsOffset(n,e))},_getBoundsOffset:function(t,e,i){var n=o.bounds(this.project(e.getNorthEast(),i),this.project(e.getSouthWest(),i)),s=n.min.subtract(t.min),r=n.max.subtract(t.max),a=this._rebound(s.x,-r.x),h=this._rebound(s.y,-r.y);return new o.Point(a,h)},_rebound:function(t,e){return t+e>0?Math.round(t-e)/2:Math.max(0,Math.ceil(t))-Math.max(0,Math.floor(e))},_limitZoom:function(t){var e=this.getMinZoom(),i=this.getMaxZoom(),n=o.Browser.any3d?this.options.zoomSnap:1;return n&&(t=Math.round(t/n)*n),Math.max(e,Math.min(i,t))},_onPanTransitionStep:function(){this.fire("move")},_onPanTransitionEnd:function(){o.DomUtil.removeClass(this._mapPane,"leaflet-pan-anim"),this.fire("moveend")},_tryAnimatedPan:function(t,e){var i=this._getCenterOffset(t)._floor();return!((e&&e.animate)!==!0&&!this.getSize().contains(i))&&(this.panBy(i,e),!0)},_createAnimProxy:function(){var t=this._proxy=o.DomUtil.create("div","leaflet-proxy leaflet-zoom-animated");this._panes.mapPane.appendChild(t),this.on("zoomanim",function(e){var i=o.DomUtil.TRANSFORM,n=t.style[i];o.DomUtil.setTransform(t,this.project(e.center,e.zoom),this.getZoomScale(e.zoom,1)),n===t.style[i]&&this._animatingZoom&&this._onZoomTransitionEnd()},this),this.on("load moveend",function(){var e=this.getCenter(),i=this.getZoom();o.DomUtil.setTransform(t,this.project(e,i),this.getZoomScale(i,1))},this)},_catchTransitionEnd:function(t){this._animatingZoom&&t.propertyName.indexOf("transform")>=0&&this._onZoomTransitionEnd()},_nothingToAnimate:function(){return!this._container.getElementsByClassName("leaflet-zoom-animated").length},_tryAnimatedZoom:function(t,e,i){if(this._animatingZoom)return!0;if(i=i||{},!this._zoomAnimated||i.animate===!1||this._nothingToAnimate()||Math.abs(e-this._zoom)>this.options.zoomAnimationThreshold)return!1;var n=this.getZoomScale(e),s=this._getCenterOffset(t)._divideBy(1-1/n);return!(i.animate!==!0&&!this.getSize().contains(s))&&(o.Util.requestAnimFrame(function(){this._moveStart(!0)._animateZoom(t,e,!0)},this),!0)},_animateZoom:function(t,e,i,n){i&&(this._animatingZoom=!0,this._animateToCenter=t,this._animateToZoom=e,o.DomUtil.addClass(this._mapPane,"leaflet-zoom-anim")),this.fire("zoomanim",{center:t,zoom:e,noUpdate:n}),setTimeout(o.bind(this._onZoomTransitionEnd,this),250)},_onZoomTransitionEnd:function(){this._animatingZoom&&(o.DomUtil.removeClass(this._mapPane,"leaflet-zoom-anim"),this._animatingZoom=!1,this._move(this._animateToCenter,this._animateToZoom),o.Util.requestAnimFrame(function(){this._moveEnd(!0)},this))}}),o.map=function(t,e){return new o.Map(t,e)},o.Layer=o.Evented.extend({options:{pane:"overlayPane",nonBubblingEvents:[],attribution:null},addTo:function(t){return t.addLayer(this),this},remove:function(){return this.removeFrom(this._map||this._mapToAdd)},removeFrom:function(t){return t&&t.removeLayer(this),this},getPane:function(t){return this._map.getPane(t?this.options[t]||t:this.options.pane)},addInteractiveTarget:function(t){return this._map._targets[o.stamp(t)]=this,this},removeInteractiveTarget:function(t){return delete this._map._targets[o.stamp(t)],this},getAttribution:function(){return this.options.attribution},_layerAdd:function(t){var e=t.target;if(e.hasLayer(this)){if(this._map=e,this._zoomAnimated=e._zoomAnimated,this.getEvents){var i=this.getEvents();e.on(i,this),this.once("remove",function(){e.off(i,this)},this)}this.onAdd(e),this.getAttribution&&e.attributionControl&&e.attributionControl.addAttribution(this.getAttribution()),this.fire("add"),e.fire("layeradd",{layer:this})}}}),o.Map.include({addLayer:function(t){var e=o.stamp(t);return this._layers[e]?this:(this._layers[e]=t,t._mapToAdd=this,t.beforeAdd&&t.beforeAdd(this),this.whenReady(t._layerAdd,t),this)},removeLayer:function(t){var e=o.stamp(t);return this._layers[e]?(this._loaded&&t.onRemove(this),t.getAttribution&&this.attributionControl&&this.attributionControl.removeAttribution(t.getAttribution()),delete this._layers[e],this._loaded&&(this.fire("layerremove",{layer:t}),t.fire("remove")),t._map=t._mapToAdd=null,this):this},hasLayer:function(t){return!!t&&o.stamp(t)in this._layers},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},_addLayers:function(t){t=t?o.Util.isArray(t)?t:[t]:[];for(var e=0,i=t.length;e<i;e++)this.addLayer(t[e])},_addZoomLimit:function(t){!isNaN(t.options.maxZoom)&&isNaN(t.options.minZoom)||(this._zoomBoundLayers[o.stamp(t)]=t,this._updateZoomLevels())},_removeZoomLimit:function(t){var e=o.stamp(t);this._zoomBoundLayers[e]&&(delete this._zoomBoundLayers[e],this._updateZoomLevels())},_updateZoomLevels:function(){var t=1/0,e=-(1/0),n=this._getZoomSpan();for(var o in this._zoomBoundLayers){var s=this._zoomBoundLayers[o].options;t=s.minZoom===i?t:Math.min(t,s.minZoom),e=s.maxZoom===i?e:Math.max(e,s.maxZoom)}this._layersMaxZoom=e===-(1/0)?i:e,this._layersMinZoom=t===1/0?i:t,n!==this._getZoomSpan()&&this.fire("zoomlevelschange"),this.options.maxZoom===i&&this._layersMaxZoom&&this.getZoom()>this._layersMaxZoom&&this.setZoom(this._layersMaxZoom),this.options.minZoom===i&&this._layersMinZoom&&this.getZoom()<this._layersMinZoom&&this.setZoom(this._layersMinZoom)}});var r="_leaflet_events";o.DomEvent={on:function(t,e,i,n){if("object"==typeof e)for(var s in e)this._on(t,s,e[s],i);else{e=o.Util.splitWords(e);for(var r=0,a=e.length;r<a;r++)this._on(t,e[r],i,n)}return this},off:function(t,e,i,n){if("object"==typeof e)for(var s in e)this._off(t,s,e[s],i);else{e=o.Util.splitWords(e);for(var r=0,a=e.length;r<a;r++)this._off(t,e[r],i,n)}return this},_on:function(e,i,n,s){var a=i+o.stamp(n)+(s?"_"+o.stamp(s):"");if(e[r]&&e[r][a])return this;var h=function(i){return n.call(s||e,i||t.event)},l=h;return o.Browser.pointer&&0===i.indexOf("touch")?this.addPointerListener(e,i,h,a):!o.Browser.touch||"dblclick"!==i||!this.addDoubleTapListener||o.Browser.pointer&&o.Browser.chrome?"addEventListener"in e?"mousewheel"===i?e.addEventListener("onwheel"in e?"wheel":"mousewheel",h,!1):"mouseenter"===i||"mouseleave"===i?(h=function(i){i=i||t.event,o.DomEvent._isExternalTarget(e,i)&&l(i)},e.addEventListener("mouseenter"===i?"mouseover":"mouseout",h,!1)):("click"===i&&o.Browser.android&&(h=function(t){return o.DomEvent._filterClick(t,l)}),e.addEventListener(i,h,!1)):"attachEvent"in e&&e.attachEvent("on"+i,h):this.addDoubleTapListener(e,h,a),e[r]=e[r]||{},e[r][a]=h,this},_off:function(t,e,i,n){var s=e+o.stamp(i)+(n?"_"+o.stamp(n):""),a=t[r]&&t[r][s];return a?(o.Browser.pointer&&0===e.indexOf("touch")?this.removePointerListener(t,e,s):o.Browser.touch&&"dblclick"===e&&this.removeDoubleTapListener?this.removeDoubleTapListener(t,s):"removeEventListener"in t?"mousewheel"===e?t.removeEventListener("onwheel"in t?"wheel":"mousewheel",a,!1):t.removeEventListener("mouseenter"===e?"mouseover":"mouseleave"===e?"mouseout":e,a,!1):"detachEvent"in t&&t.detachEvent("on"+e,a),t[r][s]=null,this):this},stopPropagation:function(t){return t.stopPropagation?t.stopPropagation():t.originalEvent?t.originalEvent._stopped=!0:t.cancelBubble=!0,o.DomEvent._skipped(t),this},disableScrollPropagation:function(t){return o.DomEvent.on(t,"mousewheel",o.DomEvent.stopPropagation)},disableClickPropagation:function(t){var e=o.DomEvent.stopPropagation;return o.DomEvent.on(t,o.Draggable.START.join(" "),e),o.DomEvent.on(t,{click:o.DomEvent._fakeStop,dblclick:e})},preventDefault:function(t){return t.preventDefault?t.preventDefault():t.returnValue=!1,this},stop:function(t){return o.DomEvent.preventDefault(t).stopPropagation(t)},getMousePosition:function(t,e){if(!e)return new o.Point(t.clientX,t.clientY);var i=e.getBoundingClientRect();return new o.Point(t.clientX-i.left-e.clientLeft,t.clientY-i.top-e.clientTop)},_wheelPxFactor:o.Browser.win&&o.Browser.chrome?2:o.Browser.gecko?t.devicePixelRatio:1,getWheelDelta:function(t){return o.Browser.edge?t.wheelDeltaY/2:t.deltaY&&0===t.deltaMode?-t.deltaY/o.DomEvent._wheelPxFactor:t.deltaY&&1===t.deltaMode?20*-t.deltaY:t.deltaY&&2===t.deltaMode?60*-t.deltaY:t.deltaX||t.deltaZ?0:t.wheelDelta?(t.wheelDeltaY||t.wheelDelta)/2:t.detail&&Math.abs(t.detail)<32765?20*-t.detail:t.detail?t.detail/-32765*60:0},_skipEvents:{},_fakeStop:function(t){o.DomEvent._skipEvents[t.type]=!0},_skipped:function(t){var e=this._skipEvents[t.type];return this._skipEvents[t.type]=!1,e},_isExternalTarget:function(t,e){var i=e.relatedTarget;if(!i)return!0;try{for(;i&&i!==t;)i=i.parentNode}catch(t){return!1}return i!==t},_filterClick:function(t,e){var i=t.timeStamp||t.originalEvent&&t.originalEvent.timeStamp,n=o.DomEvent._lastClick&&i-o.DomEvent._lastClick;return n&&n>100&&n<500||t.target._simulatedClick&&!t._simulated?void o.DomEvent.stop(t):(o.DomEvent._lastClick=i,void e(t))}},o.DomEvent.addListener=o.DomEvent.on,o.DomEvent.removeListener=o.DomEvent.off,o.PosAnimation=o.Evented.extend({run:function(t,e,i,n){this.stop(),this._el=t,this._inProgress=!0,this._duration=i||.25,this._easeOutPower=1/Math.max(n||.5,.2),this._startPos=o.DomUtil.getPosition(t),this._offset=e.subtract(this._startPos),this._startTime=+new Date,this.fire("start"),this._animate()},stop:function(){this._inProgress&&(this._step(!0),this._complete())},_animate:function(){this._animId=o.Util.requestAnimFrame(this._animate,this),this._step()},_step:function(t){var e=+new Date-this._startTime,i=1e3*this._duration;e<i?this._runFrame(this._easeOut(e/i),t):(this._runFrame(1),this._complete())},_runFrame:function(t,e){var i=this._startPos.add(this._offset.multiplyBy(t));e&&i._round(),o.DomUtil.setPosition(this._el,i),this.fire("step")},_complete:function(){o.Util.cancelAnimFrame(this._animId),this._inProgress=!1,this.fire("end")},_easeOut:function(t){return 1-Math.pow(1-t,this._easeOutPower)}}),o.Projection.Mercator={R:6378137,R_MINOR:6356752.314245179,bounds:o.bounds([-20037508.34279,-15496570.73972],[20037508.34279,18764656.23138]),project:function(t){var e=Math.PI/180,i=this.R,n=t.lat*e,s=this.R_MINOR/i,r=Math.sqrt(1-s*s),a=r*Math.sin(n),h=Math.tan(Math.PI/4-n/2)/Math.pow((1-a)/(1+a),r/2);return n=-i*Math.log(Math.max(h,1e-10)),new o.Point(t.lng*e*i,n)},unproject:function(t){for(var e,i=180/Math.PI,n=this.R,s=this.R_MINOR/n,r=Math.sqrt(1-s*s),a=Math.exp(-t.y/n),h=Math.PI/2-2*Math.atan(a),l=0,u=.1;l<15&&Math.abs(u)>1e-7;l++)e=r*Math.sin(h),e=Math.pow((1-e)/(1+e),r/2),u=Math.PI/2-2*Math.atan(a*e)-h,h+=u;return new o.LatLng(h*i,t.x*i/n)}},o.CRS.EPSG3395=o.extend({},o.CRS.Earth,{code:"EPSG:3395",projection:o.Projection.Mercator,transformation:function(){var t=.5/(Math.PI*o.Projection.Mercator.R);return new o.Transformation(t,.5,-t,.5)}()}),o.GridLayer=o.Layer.extend({options:{tileSize:256,opacity:1,updateWhenIdle:o.Browser.mobile,updateWhenZooming:!0,updateInterval:200,zIndex:1,bounds:null,minZoom:0,maxZoom:i,noWrap:!1,pane:"tilePane",className:"",keepBuffer:2},initialize:function(t){o.setOptions(this,t)},onAdd:function(){this._initContainer(),this._levels={},this._tiles={},this._resetView(),this._update()},beforeAdd:function(t){t._addZoomLimit(this)},onRemove:function(t){this._removeAllTiles(),o.DomUtil.remove(this._container),t._removeZoomLimit(this),this._container=null,this._tileZoom=null},bringToFront:function(){return this._map&&(o.DomUtil.toFront(this._container),this._setAutoZIndex(Math.max)),this},bringToBack:function(){return this._map&&(o.DomUtil.toBack(this._container),this._setAutoZIndex(Math.min)),this},getContainer:function(){return this._container},setOpacity:function(t){return this.options.opacity=t,this._updateOpacity(),this},setZIndex:function(t){return this.options.zIndex=t,this._updateZIndex(),this},isLoading:function(){return this._loading},redraw:function(){return this._map&&(this._removeAllTiles(),this._update()),this},getEvents:function(){var t={viewprereset:this._invalidateAll,viewreset:this._resetView,zoom:this._resetView,moveend:this._onMoveEnd};return this.options.updateWhenIdle||(this._onMove||(this._onMove=o.Util.throttle(this._onMoveEnd,this.options.updateInterval,this)),t.move=this._onMove),this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},createTile:function(){return e.createElement("div")},getTileSize:function(){var t=this.options.tileSize;return t instanceof o.Point?t:new o.Point(t,t)},_updateZIndex:function(){this._container&&this.options.zIndex!==i&&null!==this.options.zIndex&&(this._container.style.zIndex=this.options.zIndex)},_setAutoZIndex:function(t){for(var e,i=this.getPane().children,n=-t(-(1/0),1/0),o=0,s=i.length;o<s;o++)e=i[o].style.zIndex,i[o]!==this._container&&e&&(n=t(n,+e));isFinite(n)&&(this.options.zIndex=n+t(-1,1),this._updateZIndex())},_updateOpacity:function(){if(this._map&&!o.Browser.ielt9){o.DomUtil.setOpacity(this._container,this.options.opacity);var t=+new Date,e=!1,i=!1;for(var n in this._tiles){var s=this._tiles[n];if(s.current&&s.loaded){var r=Math.min(1,(t-s.loaded)/200);o.DomUtil.setOpacity(s.el,r),r<1?e=!0:(s.active&&(i=!0),s.active=!0)}}i&&!this._noPrune&&this._pruneTiles(),e&&(o.Util.cancelAnimFrame(this._fadeFrame),this._fadeFrame=o.Util.requestAnimFrame(this._updateOpacity,this))}},_initContainer:function(){this._container||(this._container=o.DomUtil.create("div","leaflet-layer "+(this.options.className||"")),this._updateZIndex(),this.options.opacity<1&&this._updateOpacity(),this.getPane().appendChild(this._container))},_updateLevels:function(){var t=this._tileZoom,e=this.options.maxZoom;if(t===i)return i;for(var n in this._levels)this._levels[n].el.children.length||n===t?this._levels[n].el.style.zIndex=e-Math.abs(t-n):(o.DomUtil.remove(this._levels[n].el),this._removeTilesAtZoom(n),delete this._levels[n]);var s=this._levels[t],r=this._map;return s||(s=this._levels[t]={},s.el=o.DomUtil.create("div","leaflet-tile-container leaflet-zoom-animated",this._container),s.el.style.zIndex=e,s.origin=r.project(r.unproject(r.getPixelOrigin()),t).round(),s.zoom=t,this._setZoomTransform(s,r.getCenter(),r.getZoom()),o.Util.falseFn(s.el.offsetWidth)),this._level=s,s},_pruneTiles:function(){if(this._map){var t,e,i=this._map.getZoom();if(i>this.options.maxZoom||i<this.options.minZoom)return void this._removeAllTiles();for(t in this._tiles)e=this._tiles[t],e.retain=e.current;for(t in this._tiles)if(e=this._tiles[t],e.current&&!e.active){var n=e.coords;this._retainParent(n.x,n.y,n.z,n.z-5)||this._retainChildren(n.x,n.y,n.z,n.z+2)}for(t in this._tiles)this._tiles[t].retain||this._removeTile(t)}},_removeTilesAtZoom:function(t){for(var e in this._tiles)this._tiles[e].coords.z===t&&this._removeTile(e)},_removeAllTiles:function(){for(var t in this._tiles)this._removeTile(t)},_invalidateAll:function(){for(var t in this._levels)o.DomUtil.remove(this._levels[t].el),delete this._levels[t];this._removeAllTiles(),this._tileZoom=null},_retainParent:function(t,e,i,n){var s=Math.floor(t/2),r=Math.floor(e/2),a=i-1,h=new o.Point(+s,+r);h.z=+a;var l=this._tileCoordsToKey(h),u=this._tiles[l];return u&&u.active?(u.retain=!0,!0):(u&&u.loaded&&(u.retain=!0),a>n&&this._retainParent(s,r,a,n))},_retainChildren:function(t,e,i,n){for(var s=2*t;s<2*t+2;s++)for(var r=2*e;r<2*e+2;r++){var a=new o.Point(s,r);a.z=i+1;var h=this._tileCoordsToKey(a),l=this._tiles[h];l&&l.active?l.retain=!0:(l&&l.loaded&&(l.retain=!0),i+1<n&&this._retainChildren(s,r,i+1,n))}},_resetView:function(t){var e=t&&(t.pinch||t.flyTo);this._setView(this._map.getCenter(),this._map.getZoom(),e,e)},_animateZoom:function(t){this._setView(t.center,t.zoom,!0,t.noUpdate)},_setView:function(t,e,n,o){var s=Math.round(e);(this.options.maxZoom!==i&&s>this.options.maxZoom||this.options.minZoom!==i&&s<this.options.minZoom)&&(s=i);var r=this.options.updateWhenZooming&&s!==this._tileZoom;o&&!r||(this._tileZoom=s,this._abortLoading&&this._abortLoading(),this._updateLevels(),this._resetGrid(),s!==i&&this._update(t),n||this._pruneTiles(),this._noPrune=!!n),this._setZoomTransforms(t,e)},_setZoomTransforms:function(t,e){for(var i in this._levels)this._setZoomTransform(this._levels[i],t,e)},_setZoomTransform:function(t,e,i){var n=this._map.getZoomScale(i,t.zoom),s=t.origin.multiplyBy(n).subtract(this._map._getNewPixelOrigin(e,i)).round();o.Browser.any3d?o.DomUtil.setTransform(t.el,s,n):o.DomUtil.setPosition(t.el,s)},_resetGrid:function(){var t=this._map,e=t.options.crs,i=this._tileSize=this.getTileSize(),n=this._tileZoom,o=this._map.getPixelWorldBounds(this._tileZoom);o&&(this._globalTileRange=this._pxBoundsToTileRange(o)),this._wrapX=e.wrapLng&&!this.options.noWrap&&[Math.floor(t.project([0,e.wrapLng[0]],n).x/i.x),Math.ceil(t.project([0,e.wrapLng[1]],n).x/i.y)],this._wrapY=e.wrapLat&&!this.options.noWrap&&[Math.floor(t.project([e.wrapLat[0],0],n).y/i.x),Math.ceil(t.project([e.wrapLat[1],0],n).y/i.y)]},_onMoveEnd:function(){this._map&&!this._map._animatingZoom&&this._update()},_getTiledPixelBounds:function(t){var e=this._map,i=e._animatingZoom?Math.max(e._animateToZoom,e.getZoom()):e.getZoom(),n=e.getZoomScale(i,this._tileZoom),s=e.project(t,this._tileZoom).floor(),r=e.getSize().divideBy(2*n);return new o.Bounds(s.subtract(r),s.add(r))},_update:function(t){var n=this._map;if(n){var s=n.getZoom();if(t===i&&(t=n.getCenter()),this._tileZoom!==i){var r=this._getTiledPixelBounds(t),a=this._pxBoundsToTileRange(r),h=a.getCenter(),l=[],u=this.options.keepBuffer,c=new o.Bounds(a.getBottomLeft().subtract([u,-u]),a.getTopRight().add([u,-u]));for(var d in this._tiles){var _=this._tiles[d].coords;_.z===this._tileZoom&&c.contains(o.point(_.x,_.y))||(this._tiles[d].current=!1)}if(Math.abs(s-this._tileZoom)>1)return void this._setView(t,s);for(var m=a.min.y;m<=a.max.y;m++)for(var p=a.min.x;p<=a.max.x;p++){var f=new o.Point(p,m);if(f.z=this._tileZoom,this._isValidTile(f)){var g=this._tiles[this._tileCoordsToKey(f)];g?g.current=!0:l.push(f)}}if(l.sort(function(t,e){return t.distanceTo(h)-e.distanceTo(h)}),0!==l.length){this._loading||(this._loading=!0,this.fire("loading"));var v=e.createDocumentFragment();for(p=0;p<l.length;p++)this._addTile(l[p],v);this._level.el.appendChild(v)}}}},_isValidTile:function(t){var e=this._map.options.crs;if(!e.infinite){var i=this._globalTileRange;if(!e.wrapLng&&(t.x<i.min.x||t.x>i.max.x)||!e.wrapLat&&(t.y<i.min.y||t.y>i.max.y))return!1}if(!this.options.bounds)return!0;var n=this._tileCoordsToBounds(t);return o.latLngBounds(this.options.bounds).overlaps(n)},_keyToBounds:function(t){return this._tileCoordsToBounds(this._keyToTileCoords(t))},_tileCoordsToBounds:function(t){var e=this._map,i=this.getTileSize(),n=t.scaleBy(i),s=n.add(i),r=e.unproject(n,t.z),a=e.unproject(s,t.z),h=new o.LatLngBounds(r,a);return this.options.noWrap||e.wrapLatLngBounds(h),h},_tileCoordsToKey:function(t){return t.x+":"+t.y+":"+t.z},_keyToTileCoords:function(t){var e=t.split(":"),i=new o.Point(+e[0],+e[1]);return i.z=+e[2],i},_removeTile:function(t){var e=this._tiles[t];e&&(o.DomUtil.remove(e.el),delete this._tiles[t],this.fire("tileunload",{tile:e.el,coords:this._keyToTileCoords(t)}))},_initTile:function(t){o.DomUtil.addClass(t,"leaflet-tile");var e=this.getTileSize();t.style.width=e.x+"px",t.style.height=e.y+"px",t.onselectstart=o.Util.falseFn,t.onmousemove=o.Util.falseFn,o.Browser.ielt9&&this.options.opacity<1&&o.DomUtil.setOpacity(t,this.options.opacity),o.Browser.android&&!o.Browser.android23&&(t.style.WebkitBackfaceVisibility="hidden")},_addTile:function(t,e){var i=this._getTilePos(t),n=this._tileCoordsToKey(t),s=this.createTile(this._wrapCoords(t),o.bind(this._tileReady,this,t));this._initTile(s),this.createTile.length<2&&o.Util.requestAnimFrame(o.bind(this._tileReady,this,t,null,s)),o.DomUtil.setPosition(s,i),this._tiles[n]={el:s,coords:t,current:!0},e.appendChild(s),this.fire("tileloadstart",{tile:s,coords:t})},_tileReady:function(t,e,i){if(this._map){e&&this.fire("tileerror",{error:e,tile:i,coords:t});var n=this._tileCoordsToKey(t);i=this._tiles[n],i&&(i.loaded=+new Date,this._map._fadeAnimated?(o.DomUtil.setOpacity(i.el,0),o.Util.cancelAnimFrame(this._fadeFrame),this._fadeFrame=o.Util.requestAnimFrame(this._updateOpacity,this)):(i.active=!0,this._pruneTiles()),e||(o.DomUtil.addClass(i.el,"leaflet-tile-loaded"),this.fire("tileload",{tile:i.el,coords:t})),this._noTilesToLoad()&&(this._loading=!1,this.fire("load"),o.Browser.ielt9||!this._map._fadeAnimated?o.Util.requestAnimFrame(this._pruneTiles,this):setTimeout(o.bind(this._pruneTiles,this),250)))}},_getTilePos:function(t){return t.scaleBy(this.getTileSize()).subtract(this._level.origin)},_wrapCoords:function(t){var e=new o.Point(this._wrapX?o.Util.wrapNum(t.x,this._wrapX):t.x,this._wrapY?o.Util.wrapNum(t.y,this._wrapY):t.y);return e.z=t.z,e},_pxBoundsToTileRange:function(t){var e=this.getTileSize();return new o.Bounds(t.min.unscaleBy(e).floor(),t.max.unscaleBy(e).ceil().subtract([1,1]))},_noTilesToLoad:function(){for(var t in this._tiles)if(!this._tiles[t].loaded)return!1;return!0}}),o.gridLayer=function(t){return new o.GridLayer(t)},o.TileLayer=o.GridLayer.extend({options:{minZoom:0,maxZoom:18,maxNativeZoom:null,minNativeZoom:null,subdomains:"abc",errorTileUrl:"",zoomOffset:0,tms:!1,zoomReverse:!1,detectRetina:!1,crossOrigin:!1},initialize:function(t,e){this._url=t,e=o.setOptions(this,e),e.detectRetina&&o.Browser.retina&&e.maxZoom>0&&(e.tileSize=Math.floor(e.tileSize/2),e.zoomReverse?(e.zoomOffset--,e.minZoom++):(e.zoomOffset++,e.maxZoom--),e.minZoom=Math.max(0,e.minZoom)),"string"==typeof e.subdomains&&(e.subdomains=e.subdomains.split("")),o.Browser.android||this.on("tileunload",this._onTileRemove)},setUrl:function(t,e){return this._url=t,e||this.redraw(),this},createTile:function(t,i){var n=e.createElement("img");return o.DomEvent.on(n,"load",o.bind(this._tileOnLoad,this,i,n)),o.DomEvent.on(n,"error",o.bind(this._tileOnError,this,i,n)),this.options.crossOrigin&&(n.crossOrigin=""),n.alt="",n.setAttribute("role","presentation"),n.src=this.getTileUrl(t),n},getTileUrl:function(t){var e={r:o.Browser.retina?"@2x":"",s:this._getSubdomain(t),x:t.x,y:t.y,z:this._getZoomForUrl()};if(this._map&&!this._map.options.crs.infinite){var i=this._globalTileRange.max.y-t.y;this.options.tms&&(e.y=i),e["-y"]=i}return o.Util.template(this._url,o.extend(e,this.options))},_tileOnLoad:function(t,e){o.Browser.ielt9?setTimeout(o.bind(t,this,null,e),0):t(null,e)},_tileOnError:function(t,e,i){var n=this.options.errorTileUrl;n&&e.src!==n&&(e.src=n),t(i,e)},getTileSize:function(){var t=this._map,e=o.GridLayer.prototype.getTileSize.call(this),i=this._tileZoom+this.options.zoomOffset,n=this.options.minNativeZoom,s=this.options.maxNativeZoom;return null!==n&&i<n?e.divideBy(t.getZoomScale(n,i)).round():null!==s&&i>s?e.divideBy(t.getZoomScale(s,i)).round():e},_onTileRemove:function(t){t.tile.onload=null},_getZoomForUrl:function(){var t=this._tileZoom,e=this.options.maxZoom,i=this.options.zoomReverse,n=this.options.zoomOffset,o=this.options.minNativeZoom,s=this.options.maxNativeZoom;return i&&(t=e-t),t+=n,null!==o&&t<o?o:null!==s&&t>s?s:t},_getSubdomain:function(t){var e=Math.abs(t.x+t.y)%this.options.subdomains.length;return this.options.subdomains[e]},_abortLoading:function(){var t,e;for(t in this._tiles)this._tiles[t].coords.z!==this._tileZoom&&(e=this._tiles[t].el,e.onload=o.Util.falseFn,e.onerror=o.Util.falseFn,e.complete||(e.src=o.Util.emptyImageUrl,o.DomUtil.remove(e)))}}),o.tileLayer=function(t,e){return new o.TileLayer(t,e)},o.TileLayer.WMS=o.TileLayer.extend({defaultWmsParams:{service:"WMS",request:"GetMap",layers:"",styles:"",format:"image/jpeg",transparent:!1,version:"1.1.1"},options:{crs:null,uppercase:!1},initialize:function(t,e){this._url=t;var i=o.extend({},this.defaultWmsParams);for(var n in e)n in this.options||(i[n]=e[n]);e=o.setOptions(this,e),i.width=i.height=e.tileSize*(e.detectRetina&&o.Browser.retina?2:1),this.wmsParams=i},onAdd:function(t){this._crs=this.options.crs||t.options.crs,this._wmsVersion=parseFloat(this.wmsParams.version);var e=this._wmsVersion>=1.3?"crs":"srs";this.wmsParams[e]=this._crs.code,o.TileLayer.prototype.onAdd.call(this,t)},getTileUrl:function(t){var e=this._tileCoordsToBounds(t),i=this._crs.project(e.getNorthWest()),n=this._crs.project(e.getSouthEast()),s=(this._wmsVersion>=1.3&&this._crs===o.CRS.EPSG4326?[n.y,i.x,i.y,n.x]:[i.x,n.y,n.x,i.y]).join(","),r=o.TileLayer.prototype.getTileUrl.call(this,t);return r+o.Util.getParamString(this.wmsParams,r,this.options.uppercase)+(this.options.uppercase?"&BBOX=":"&bbox=")+s},setParams:function(t,e){return o.extend(this.wmsParams,t),e||this.redraw(),this}}),o.tileLayer.wms=function(t,e){return new o.TileLayer.WMS(t,e)},o.ImageOverlay=o.Layer.extend({options:{opacity:1,alt:"",interactive:!1,crossOrigin:!1},initialize:function(t,e,i){this._url=t,this._bounds=o.latLngBounds(e),o.setOptions(this,i)},onAdd:function(){this._image||(this._initImage(),this.options.opacity<1&&this._updateOpacity()),this.options.interactive&&(o.DomUtil.addClass(this._image,"leaflet-interactive"),this.addInteractiveTarget(this._image)),this.getPane().appendChild(this._image),this._reset()},onRemove:function(){o.DomUtil.remove(this._image),this.options.interactive&&this.removeInteractiveTarget(this._image)},setOpacity:function(t){return this.options.opacity=t,this._image&&this._updateOpacity(),this},setStyle:function(t){return t.opacity&&this.setOpacity(t.opacity),this},bringToFront:function(){return this._map&&o.DomUtil.toFront(this._image),this},bringToBack:function(){return this._map&&o.DomUtil.toBack(this._image),this},setUrl:function(t){return this._url=t,this._image&&(this._image.src=t),this},setBounds:function(t){return this._bounds=t,this._map&&this._reset(),this},getEvents:function(){var t={zoom:this._reset,viewreset:this._reset};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},getBounds:function(){return this._bounds},getElement:function(){return this._image},_initImage:function(){var t=this._image=o.DomUtil.create("img","leaflet-image-layer "+(this._zoomAnimated?"leaflet-zoom-animated":""));t.onselectstart=o.Util.falseFn,t.onmousemove=o.Util.falseFn,t.onload=o.bind(this.fire,this,"load"),this.options.crossOrigin&&(t.crossOrigin=""),t.src=this._url,t.alt=this.options.alt},_animateZoom:function(t){var e=this._map.getZoomScale(t.zoom),i=this._map._latLngBoundsToNewLayerBounds(this._bounds,t.zoom,t.center).min;o.DomUtil.setTransform(this._image,i,e)},_reset:function(){var t=this._image,e=new o.Bounds(this._map.latLngToLayerPoint(this._bounds.getNorthWest()),this._map.latLngToLayerPoint(this._bounds.getSouthEast())),i=e.getSize();
7
- o.DomUtil.setPosition(t,e.min),t.style.width=i.x+"px",t.style.height=i.y+"px"},_updateOpacity:function(){o.DomUtil.setOpacity(this._image,this.options.opacity)}}),o.imageOverlay=function(t,e,i){return new o.ImageOverlay(t,e,i)},o.Icon=o.Class.extend({initialize:function(t){o.setOptions(this,t)},createIcon:function(t){return this._createIcon("icon",t)},createShadow:function(t){return this._createIcon("shadow",t)},_createIcon:function(t,e){var i=this._getIconUrl(t);if(!i){if("icon"===t)throw new Error("iconUrl not set in Icon options (see the docs).");return null}var n=this._createImg(i,e&&"IMG"===e.tagName?e:null);return this._setIconStyles(n,t),n},_setIconStyles:function(t,e){var i=this.options,n=i[e+"Size"];"number"==typeof n&&(n=[n,n]);var s=o.point(n),r=o.point("shadow"===e&&i.shadowAnchor||i.iconAnchor||s&&s.divideBy(2,!0));t.className="leaflet-marker-"+e+" "+(i.className||""),r&&(t.style.marginLeft=-r.x+"px",t.style.marginTop=-r.y+"px"),s&&(t.style.width=s.x+"px",t.style.height=s.y+"px")},_createImg:function(t,i){return i=i||e.createElement("img"),i.src=t,i},_getIconUrl:function(t){return o.Browser.retina&&this.options[t+"RetinaUrl"]||this.options[t+"Url"]}}),o.icon=function(t){return new o.Icon(t)},o.Icon.Default=o.Icon.extend({options:{iconUrl:"marker-icon.png",iconRetinaUrl:"marker-icon-2x.png",shadowUrl:"marker-shadow.png",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],tooltipAnchor:[16,-28],shadowSize:[41,41]},_getIconUrl:function(t){return o.Icon.Default.imagePath||(o.Icon.Default.imagePath=this._detectIconPath()),(this.options.imagePath||o.Icon.Default.imagePath)+o.Icon.prototype._getIconUrl.call(this,t)},_detectIconPath:function(){var t=o.DomUtil.create("div","leaflet-default-icon-path",e.body),i=o.DomUtil.getStyle(t,"background-image")||o.DomUtil.getStyle(t,"backgroundImage");return e.body.removeChild(t),0===i.indexOf("url")?i.replace(/^url\([\"\']?/,"").replace(/marker-icon\.png[\"\']?\)$/,""):""}}),o.Marker=o.Layer.extend({options:{icon:new o.Icon.Default,interactive:!0,draggable:!1,keyboard:!0,title:"",alt:"",zIndexOffset:0,opacity:1,riseOnHover:!1,riseOffset:250,pane:"markerPane",nonBubblingEvents:["click","dblclick","mouseover","mouseout","contextmenu"]},initialize:function(t,e){o.setOptions(this,e),this._latlng=o.latLng(t)},onAdd:function(t){this._zoomAnimated=this._zoomAnimated&&t.options.markerZoomAnimation,this._zoomAnimated&&t.on("zoomanim",this._animateZoom,this),this._initIcon(),this.update()},onRemove:function(t){this.dragging&&this.dragging.enabled()&&(this.options.draggable=!0,this.dragging.removeHooks()),this._zoomAnimated&&t.off("zoomanim",this._animateZoom,this),this._removeIcon(),this._removeShadow()},getEvents:function(){return{zoom:this.update,viewreset:this.update}},getLatLng:function(){return this._latlng},setLatLng:function(t){var e=this._latlng;return this._latlng=o.latLng(t),this.update(),this.fire("move",{oldLatLng:e,latlng:this._latlng})},setZIndexOffset:function(t){return this.options.zIndexOffset=t,this.update()},setIcon:function(t){return this.options.icon=t,this._map&&(this._initIcon(),this.update()),this._popup&&this.bindPopup(this._popup,this._popup.options),this},getElement:function(){return this._icon},update:function(){if(this._icon){var t=this._map.latLngToLayerPoint(this._latlng).round();this._setPos(t)}return this},_initIcon:function(){var t=this.options,e="leaflet-zoom-"+(this._zoomAnimated?"animated":"hide"),i=t.icon.createIcon(this._icon),n=!1;i!==this._icon&&(this._icon&&this._removeIcon(),n=!0,t.title&&(i.title=t.title),t.alt&&(i.alt=t.alt)),o.DomUtil.addClass(i,e),t.keyboard&&(i.tabIndex="0"),this._icon=i,t.riseOnHover&&this.on({mouseover:this._bringToFront,mouseout:this._resetZIndex});var s=t.icon.createShadow(this._shadow),r=!1;s!==this._shadow&&(this._removeShadow(),r=!0),s&&(o.DomUtil.addClass(s,e),s.alt=""),this._shadow=s,t.opacity<1&&this._updateOpacity(),n&&this.getPane().appendChild(this._icon),this._initInteraction(),s&&r&&this.getPane("shadowPane").appendChild(this._shadow)},_removeIcon:function(){this.options.riseOnHover&&this.off({mouseover:this._bringToFront,mouseout:this._resetZIndex}),o.DomUtil.remove(this._icon),this.removeInteractiveTarget(this._icon),this._icon=null},_removeShadow:function(){this._shadow&&o.DomUtil.remove(this._shadow),this._shadow=null},_setPos:function(t){o.DomUtil.setPosition(this._icon,t),this._shadow&&o.DomUtil.setPosition(this._shadow,t),this._zIndex=t.y+this.options.zIndexOffset,this._resetZIndex()},_updateZIndex:function(t){this._icon.style.zIndex=this._zIndex+t},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center).round();this._setPos(e)},_initInteraction:function(){if(this.options.interactive&&(o.DomUtil.addClass(this._icon,"leaflet-interactive"),this.addInteractiveTarget(this._icon),o.Handler.MarkerDrag)){var t=this.options.draggable;this.dragging&&(t=this.dragging.enabled(),this.dragging.disable()),this.dragging=new o.Handler.MarkerDrag(this),t&&this.dragging.enable()}},setOpacity:function(t){return this.options.opacity=t,this._map&&this._updateOpacity(),this},_updateOpacity:function(){var t=this.options.opacity;o.DomUtil.setOpacity(this._icon,t),this._shadow&&o.DomUtil.setOpacity(this._shadow,t)},_bringToFront:function(){this._updateZIndex(this.options.riseOffset)},_resetZIndex:function(){this._updateZIndex(0)},_getPopupAnchor:function(){return this.options.icon.options.popupAnchor||[0,0]},_getTooltipAnchor:function(){return this.options.icon.options.tooltipAnchor||[0,0]}}),o.marker=function(t,e){return new o.Marker(t,e)},o.DivIcon=o.Icon.extend({options:{iconSize:[12,12],html:!1,bgPos:null,className:"leaflet-div-icon"},createIcon:function(t){var i=t&&"DIV"===t.tagName?t:e.createElement("div"),n=this.options;if(i.innerHTML=n.html!==!1?n.html:"",n.bgPos){var s=o.point(n.bgPos);i.style.backgroundPosition=-s.x+"px "+-s.y+"px"}return this._setIconStyles(i,"icon"),i},createShadow:function(){return null}}),o.divIcon=function(t){return new o.DivIcon(t)},o.DivOverlay=o.Layer.extend({options:{offset:[0,7],className:"",pane:"popupPane"},initialize:function(t,e){o.setOptions(this,t),this._source=e},onAdd:function(t){this._zoomAnimated=t._zoomAnimated,this._container||this._initLayout(),t._fadeAnimated&&o.DomUtil.setOpacity(this._container,0),clearTimeout(this._removeTimeout),this.getPane().appendChild(this._container),this.update(),t._fadeAnimated&&o.DomUtil.setOpacity(this._container,1),this.bringToFront()},onRemove:function(t){t._fadeAnimated?(o.DomUtil.setOpacity(this._container,0),this._removeTimeout=setTimeout(o.bind(o.DomUtil.remove,o.DomUtil,this._container),200)):o.DomUtil.remove(this._container)},getLatLng:function(){return this._latlng},setLatLng:function(t){return this._latlng=o.latLng(t),this._map&&(this._updatePosition(),this._adjustPan()),this},getContent:function(){return this._content},setContent:function(t){return this._content=t,this.update(),this},getElement:function(){return this._container},update:function(){this._map&&(this._container.style.visibility="hidden",this._updateContent(),this._updateLayout(),this._updatePosition(),this._container.style.visibility="",this._adjustPan())},getEvents:function(){var t={zoom:this._updatePosition,viewreset:this._updatePosition};return this._zoomAnimated&&(t.zoomanim=this._animateZoom),t},isOpen:function(){return!!this._map&&this._map.hasLayer(this)},bringToFront:function(){return this._map&&o.DomUtil.toFront(this._container),this},bringToBack:function(){return this._map&&o.DomUtil.toBack(this._container),this},_updateContent:function(){if(this._content){var t=this._contentNode,e="function"==typeof this._content?this._content(this._source||this):this._content;if("string"==typeof e)t.innerHTML=e;else{for(;t.hasChildNodes();)t.removeChild(t.firstChild);t.appendChild(e)}this.fire("contentupdate")}},_updatePosition:function(){if(this._map){var t=this._map.latLngToLayerPoint(this._latlng),e=o.point(this.options.offset),i=this._getAnchor();this._zoomAnimated?o.DomUtil.setPosition(this._container,t.add(i)):e=e.add(t).add(i);var n=this._containerBottom=-e.y,s=this._containerLeft=-Math.round(this._containerWidth/2)+e.x;this._container.style.bottom=n+"px",this._container.style.left=s+"px"}},_getAnchor:function(){return[0,0]}}),o.Popup=o.DivOverlay.extend({options:{maxWidth:300,minWidth:50,maxHeight:null,autoPan:!0,autoPanPaddingTopLeft:null,autoPanPaddingBottomRight:null,autoPanPadding:[5,5],keepInView:!1,closeButton:!0,autoClose:!0,className:""},openOn:function(t){return t.openPopup(this),this},onAdd:function(t){o.DivOverlay.prototype.onAdd.call(this,t),t.fire("popupopen",{popup:this}),this._source&&(this._source.fire("popupopen",{popup:this},!0),this._source instanceof o.Path||this._source.on("preclick",o.DomEvent.stopPropagation))},onRemove:function(t){o.DivOverlay.prototype.onRemove.call(this,t),t.fire("popupclose",{popup:this}),this._source&&(this._source.fire("popupclose",{popup:this},!0),this._source instanceof o.Path||this._source.off("preclick",o.DomEvent.stopPropagation))},getEvents:function(){var t=o.DivOverlay.prototype.getEvents.call(this);return("closeOnClick"in this.options?this.options.closeOnClick:this._map.options.closePopupOnClick)&&(t.preclick=this._close),this.options.keepInView&&(t.moveend=this._adjustPan),t},_close:function(){this._map&&this._map.closePopup(this)},_initLayout:function(){var t="leaflet-popup",e=this._container=o.DomUtil.create("div",t+" "+(this.options.className||"")+" leaflet-zoom-animated");if(this.options.closeButton){var i=this._closeButton=o.DomUtil.create("a",t+"-close-button",e);i.href="#close",i.innerHTML="&#215;",o.DomEvent.on(i,"click",this._onCloseButtonClick,this)}var n=this._wrapper=o.DomUtil.create("div",t+"-content-wrapper",e);this._contentNode=o.DomUtil.create("div",t+"-content",n),o.DomEvent.disableClickPropagation(n).disableScrollPropagation(this._contentNode).on(n,"contextmenu",o.DomEvent.stopPropagation),this._tipContainer=o.DomUtil.create("div",t+"-tip-container",e),this._tip=o.DomUtil.create("div",t+"-tip",this._tipContainer)},_updateLayout:function(){var t=this._contentNode,e=t.style;e.width="",e.whiteSpace="nowrap";var i=t.offsetWidth;i=Math.min(i,this.options.maxWidth),i=Math.max(i,this.options.minWidth),e.width=i+1+"px",e.whiteSpace="",e.height="";var n=t.offsetHeight,s=this.options.maxHeight,r="leaflet-popup-scrolled";s&&n>s?(e.height=s+"px",o.DomUtil.addClass(t,r)):o.DomUtil.removeClass(t,r),this._containerWidth=this._container.offsetWidth},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center),i=this._getAnchor();o.DomUtil.setPosition(this._container,e.add(i))},_adjustPan:function(){if(!(!this.options.autoPan||this._map._panAnim&&this._map._panAnim._inProgress)){var t=this._map,e=parseInt(o.DomUtil.getStyle(this._container,"marginBottom"),10)||0,i=this._container.offsetHeight+e,n=this._containerWidth,s=new o.Point(this._containerLeft,-i-this._containerBottom);s._add(o.DomUtil.getPosition(this._container));var r=t.layerPointToContainerPoint(s),a=o.point(this.options.autoPanPadding),h=o.point(this.options.autoPanPaddingTopLeft||a),l=o.point(this.options.autoPanPaddingBottomRight||a),u=t.getSize(),c=0,d=0;r.x+n+l.x>u.x&&(c=r.x+n-u.x+l.x),r.x-c-h.x<0&&(c=r.x-h.x),r.y+i+l.y>u.y&&(d=r.y+i-u.y+l.y),r.y-d-h.y<0&&(d=r.y-h.y),(c||d)&&t.fire("autopanstart").panBy([c,d])}},_onCloseButtonClick:function(t){this._close(),o.DomEvent.stop(t)},_getAnchor:function(){return o.point(this._source&&this._source._getPopupAnchor?this._source._getPopupAnchor():[0,0])}}),o.popup=function(t,e){return new o.Popup(t,e)},o.Map.mergeOptions({closePopupOnClick:!0}),o.Map.include({openPopup:function(t,e,i){return t instanceof o.Popup||(t=new o.Popup(i).setContent(t)),e&&t.setLatLng(e),this.hasLayer(t)?this:(this._popup&&this._popup.options.autoClose&&this.closePopup(),this._popup=t,this.addLayer(t))},closePopup:function(t){return t&&t!==this._popup||(t=this._popup,this._popup=null),t&&this.removeLayer(t),this}}),o.Layer.include({bindPopup:function(t,e){return t instanceof o.Popup?(o.setOptions(t,e),this._popup=t,t._source=this):(this._popup&&!e||(this._popup=new o.Popup(e,this)),this._popup.setContent(t)),this._popupHandlersAdded||(this.on({click:this._openPopup,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!0),this},unbindPopup:function(){return this._popup&&(this.off({click:this._openPopup,remove:this.closePopup,move:this._movePopup}),this._popupHandlersAdded=!1,this._popup=null),this},openPopup:function(t,e){if(t instanceof o.Layer||(e=t,t=this),t instanceof o.FeatureGroup)for(var i in this._layers){t=this._layers[i];break}return e||(e=t.getCenter?t.getCenter():t.getLatLng()),this._popup&&this._map&&(this._popup._source=t,this._popup.update(),this._map.openPopup(this._popup,e)),this},closePopup:function(){return this._popup&&this._popup._close(),this},togglePopup:function(t){return this._popup&&(this._popup._map?this.closePopup():this.openPopup(t)),this},isPopupOpen:function(){return!!this._popup&&this._popup.isOpen()},setPopupContent:function(t){return this._popup&&this._popup.setContent(t),this},getPopup:function(){return this._popup},_openPopup:function(t){var e=t.layer||t.target;if(this._popup&&this._map)return o.DomEvent.stop(t),e instanceof o.Path?void this.openPopup(t.layer||t.target,t.latlng):void(this._map.hasLayer(this._popup)&&this._popup._source===e?this.closePopup():this.openPopup(e,t.latlng))},_movePopup:function(t){this._popup.setLatLng(t.latlng)}}),o.Tooltip=o.DivOverlay.extend({options:{pane:"tooltipPane",offset:[0,0],direction:"auto",permanent:!1,sticky:!1,interactive:!1,opacity:.9},onAdd:function(t){o.DivOverlay.prototype.onAdd.call(this,t),this.setOpacity(this.options.opacity),t.fire("tooltipopen",{tooltip:this}),this._source&&this._source.fire("tooltipopen",{tooltip:this},!0)},onRemove:function(t){o.DivOverlay.prototype.onRemove.call(this,t),t.fire("tooltipclose",{tooltip:this}),this._source&&this._source.fire("tooltipclose",{tooltip:this},!0)},getEvents:function(){var t=o.DivOverlay.prototype.getEvents.call(this);return o.Browser.touch&&!this.options.permanent&&(t.preclick=this._close),t},_close:function(){this._map&&this._map.closeTooltip(this)},_initLayout:function(){var t="leaflet-tooltip",e=t+" "+(this.options.className||"")+" leaflet-zoom-"+(this._zoomAnimated?"animated":"hide");this._contentNode=this._container=o.DomUtil.create("div",e)},_updateLayout:function(){},_adjustPan:function(){},_setPosition:function(t){var e=this._map,i=this._container,n=e.latLngToContainerPoint(e.getCenter()),s=e.layerPointToContainerPoint(t),r=this.options.direction,a=i.offsetWidth,h=i.offsetHeight,l=o.point(this.options.offset),u=this._getAnchor();"top"===r?t=t.add(o.point(-a/2+l.x,-h+l.y+u.y,!0)):"bottom"===r?t=t.subtract(o.point(a/2-l.x,-l.y,!0)):"center"===r?t=t.subtract(o.point(a/2+l.x,h/2-u.y+l.y,!0)):"right"===r||"auto"===r&&s.x<n.x?(r="right",t=t.add(o.point(l.x+u.x,u.y-h/2+l.y,!0))):(r="left",t=t.subtract(o.point(a+u.x-l.x,h/2-u.y-l.y,!0))),o.DomUtil.removeClass(i,"leaflet-tooltip-right"),o.DomUtil.removeClass(i,"leaflet-tooltip-left"),o.DomUtil.removeClass(i,"leaflet-tooltip-top"),o.DomUtil.removeClass(i,"leaflet-tooltip-bottom"),o.DomUtil.addClass(i,"leaflet-tooltip-"+r),o.DomUtil.setPosition(i,t)},_updatePosition:function(){var t=this._map.latLngToLayerPoint(this._latlng);this._setPosition(t)},setOpacity:function(t){this.options.opacity=t,this._container&&o.DomUtil.setOpacity(this._container,t)},_animateZoom:function(t){var e=this._map._latLngToNewLayerPoint(this._latlng,t.zoom,t.center);this._setPosition(e)},_getAnchor:function(){return o.point(this._source&&this._source._getTooltipAnchor&&!this.options.sticky?this._source._getTooltipAnchor():[0,0])}}),o.tooltip=function(t,e){return new o.Tooltip(t,e)},o.Map.include({openTooltip:function(t,e,i){return t instanceof o.Tooltip||(t=new o.Tooltip(i).setContent(t)),e&&t.setLatLng(e),this.hasLayer(t)?this:this.addLayer(t)},closeTooltip:function(t){return t&&this.removeLayer(t),this}}),o.Layer.include({bindTooltip:function(t,e){return t instanceof o.Tooltip?(o.setOptions(t,e),this._tooltip=t,t._source=this):(this._tooltip&&!e||(this._tooltip=o.tooltip(e,this)),this._tooltip.setContent(t)),this._initTooltipInteractions(),this._tooltip.options.permanent&&this._map&&this._map.hasLayer(this)&&this.openTooltip(),this},unbindTooltip:function(){return this._tooltip&&(this._initTooltipInteractions(!0),this.closeTooltip(),this._tooltip=null),this},_initTooltipInteractions:function(t){if(t||!this._tooltipHandlersAdded){var e=t?"off":"on",i={remove:this.closeTooltip,move:this._moveTooltip};this._tooltip.options.permanent?i.add=this._openTooltip:(i.mouseover=this._openTooltip,i.mouseout=this.closeTooltip,this._tooltip.options.sticky&&(i.mousemove=this._moveTooltip),o.Browser.touch&&(i.click=this._openTooltip)),this[e](i),this._tooltipHandlersAdded=!t}},openTooltip:function(t,e){if(t instanceof o.Layer||(e=t,t=this),t instanceof o.FeatureGroup)for(var i in this._layers){t=this._layers[i];break}return e||(e=t.getCenter?t.getCenter():t.getLatLng()),this._tooltip&&this._map&&(this._tooltip._source=t,this._tooltip.update(),this._map.openTooltip(this._tooltip,e),this._tooltip.options.interactive&&this._tooltip._container&&(o.DomUtil.addClass(this._tooltip._container,"leaflet-clickable"),this.addInteractiveTarget(this._tooltip._container))),this},closeTooltip:function(){return this._tooltip&&(this._tooltip._close(),this._tooltip.options.interactive&&this._tooltip._container&&(o.DomUtil.removeClass(this._tooltip._container,"leaflet-clickable"),this.removeInteractiveTarget(this._tooltip._container))),this},toggleTooltip:function(t){return this._tooltip&&(this._tooltip._map?this.closeTooltip():this.openTooltip(t)),this},isTooltipOpen:function(){return this._tooltip.isOpen()},setTooltipContent:function(t){return this._tooltip&&this._tooltip.setContent(t),this},getTooltip:function(){return this._tooltip},_openTooltip:function(t){var e=t.layer||t.target;this._tooltip&&this._map&&this.openTooltip(e,this._tooltip.options.sticky?t.latlng:i)},_moveTooltip:function(t){var e,i,n=t.latlng;this._tooltip.options.sticky&&t.originalEvent&&(e=this._map.mouseEventToContainerPoint(t.originalEvent),i=this._map.containerPointToLayerPoint(e),n=this._map.layerPointToLatLng(i)),this._tooltip.setLatLng(n)}}),o.LayerGroup=o.Layer.extend({initialize:function(t){this._layers={};var e,i;if(t)for(e=0,i=t.length;e<i;e++)this.addLayer(t[e])},addLayer:function(t){var e=this.getLayerId(t);return this._layers[e]=t,this._map&&this._map.addLayer(t),this},removeLayer:function(t){var e=t in this._layers?t:this.getLayerId(t);return this._map&&this._layers[e]&&this._map.removeLayer(this._layers[e]),delete this._layers[e],this},hasLayer:function(t){return!!t&&(t in this._layers||this.getLayerId(t)in this._layers)},clearLayers:function(){for(var t in this._layers)this.removeLayer(this._layers[t]);return this},invoke:function(t){var e,i,n=Array.prototype.slice.call(arguments,1);for(e in this._layers)i=this._layers[e],i[t]&&i[t].apply(i,n);return this},onAdd:function(t){for(var e in this._layers)t.addLayer(this._layers[e])},onRemove:function(t){for(var e in this._layers)t.removeLayer(this._layers[e])},eachLayer:function(t,e){for(var i in this._layers)t.call(e,this._layers[i]);return this},getLayer:function(t){return this._layers[t]},getLayers:function(){var t=[];for(var e in this._layers)t.push(this._layers[e]);return t},setZIndex:function(t){return this.invoke("setZIndex",t)},getLayerId:function(t){return o.stamp(t)}}),o.layerGroup=function(t){return new o.LayerGroup(t)},o.FeatureGroup=o.LayerGroup.extend({addLayer:function(t){return this.hasLayer(t)?this:(t.addEventParent(this),o.LayerGroup.prototype.addLayer.call(this,t),this.fire("layeradd",{layer:t}))},removeLayer:function(t){return this.hasLayer(t)?(t in this._layers&&(t=this._layers[t]),t.removeEventParent(this),o.LayerGroup.prototype.removeLayer.call(this,t),this.fire("layerremove",{layer:t})):this},setStyle:function(t){return this.invoke("setStyle",t)},bringToFront:function(){return this.invoke("bringToFront")},bringToBack:function(){return this.invoke("bringToBack")},getBounds:function(){var t=new o.LatLngBounds;for(var e in this._layers){var i=this._layers[e];t.extend(i.getBounds?i.getBounds():i.getLatLng())}return t}}),o.featureGroup=function(t){return new o.FeatureGroup(t)},o.Renderer=o.Layer.extend({options:{padding:.1},initialize:function(t){o.setOptions(this,t),o.stamp(this),this._layers=this._layers||{}},onAdd:function(){this._container||(this._initContainer(),this._zoomAnimated&&o.DomUtil.addClass(this._container,"leaflet-zoom-animated")),this.getPane().appendChild(this._container),this._update(),this.on("update",this._updatePaths,this)},onRemove:function(){o.DomUtil.remove(this._container),this.off("update",this._updatePaths,this)},getEvents:function(){var t={viewreset:this._reset,zoom:this._onZoom,moveend:this._update,zoomend:this._onZoomEnd};return this._zoomAnimated&&(t.zoomanim=this._onAnimZoom),t},_onAnimZoom:function(t){this._updateTransform(t.center,t.zoom)},_onZoom:function(){this._updateTransform(this._map.getCenter(),this._map.getZoom())},_updateTransform:function(t,e){var i=this._map.getZoomScale(e,this._zoom),n=o.DomUtil.getPosition(this._container),s=this._map.getSize().multiplyBy(.5+this.options.padding),r=this._map.project(this._center,e),a=this._map.project(t,e),h=a.subtract(r),l=s.multiplyBy(-i).add(n).add(s).subtract(h);o.Browser.any3d?o.DomUtil.setTransform(this._container,l,i):o.DomUtil.setPosition(this._container,l)},_reset:function(){this._update(),this._updateTransform(this._center,this._zoom);for(var t in this._layers)this._layers[t]._reset()},_onZoomEnd:function(){for(var t in this._layers)this._layers[t]._project()},_updatePaths:function(){for(var t in this._layers)this._layers[t]._update()},_update:function(){var t=this.options.padding,e=this._map.getSize(),i=this._map.containerPointToLayerPoint(e.multiplyBy(-t)).round();this._bounds=new o.Bounds(i,i.add(e.multiplyBy(1+2*t)).round()),this._center=this._map.getCenter(),this._zoom=this._map.getZoom()}}),o.Map.include({getRenderer:function(t){var e=t.options.renderer||this._getPaneRenderer(t.options.pane)||this.options.renderer||this._renderer;return e||(e=this._renderer=this.options.preferCanvas&&o.canvas()||o.svg()),this.hasLayer(e)||this.addLayer(e),e},_getPaneRenderer:function(t){if("overlayPane"===t||t===i)return!1;var e=this._paneRenderers[t];return e===i&&(e=o.SVG&&o.svg({pane:t})||o.Canvas&&o.canvas({pane:t}),this._paneRenderers[t]=e),e}}),o.Path=o.Layer.extend({options:{stroke:!0,color:"#3388ff",weight:3,opacity:1,lineCap:"round",lineJoin:"round",dashArray:null,dashOffset:null,fill:!1,fillColor:null,fillOpacity:.2,fillRule:"evenodd",interactive:!0},beforeAdd:function(t){this._renderer=t.getRenderer(this)},onAdd:function(){this._renderer._initPath(this),this._reset(),this._renderer._addPath(this)},onRemove:function(){this._renderer._removePath(this)},redraw:function(){return this._map&&this._renderer._updatePath(this),this},setStyle:function(t){return o.setOptions(this,t),this._renderer&&this._renderer._updateStyle(this),this},bringToFront:function(){return this._renderer&&this._renderer._bringToFront(this),this},bringToBack:function(){return this._renderer&&this._renderer._bringToBack(this),this},getElement:function(){return this._path},_reset:function(){this._project(),this._update()},_clickTolerance:function(){return(this.options.stroke?this.options.weight/2:0)+(o.Browser.touch?10:0)}}),o.LineUtil={simplify:function(t,e){if(!e||!t.length)return t.slice();var i=e*e;return t=this._reducePoints(t,i),t=this._simplifyDP(t,i)},pointToSegmentDistance:function(t,e,i){return Math.sqrt(this._sqClosestPointOnSegment(t,e,i,!0))},closestPointOnSegment:function(t,e,i){return this._sqClosestPointOnSegment(t,e,i)},_simplifyDP:function(t,e){var n=t.length,o=typeof Uint8Array!=i+""?Uint8Array:Array,s=new o(n);s[0]=s[n-1]=1,this._simplifyDPStep(t,s,e,0,n-1);var r,a=[];for(r=0;r<n;r++)s[r]&&a.push(t[r]);return a},_simplifyDPStep:function(t,e,i,n,o){var s,r,a,h=0;for(r=n+1;r<=o-1;r++)a=this._sqClosestPointOnSegment(t[r],t[n],t[o],!0),a>h&&(s=r,h=a);h>i&&(e[s]=1,this._simplifyDPStep(t,e,i,n,s),this._simplifyDPStep(t,e,i,s,o))},_reducePoints:function(t,e){for(var i=[t[0]],n=1,o=0,s=t.length;n<s;n++)this._sqDist(t[n],t[o])>e&&(i.push(t[n]),o=n);return o<s-1&&i.push(t[s-1]),i},clipSegment:function(t,e,i,n,o){var s,r,a,h=n?this._lastCode:this._getBitCode(t,i),l=this._getBitCode(e,i);for(this._lastCode=l;;){if(!(h|l))return[t,e];if(h&l)return!1;s=h||l,r=this._getEdgeIntersection(t,e,s,i,o),a=this._getBitCode(r,i),s===h?(t=r,h=a):(e=r,l=a)}},_getEdgeIntersection:function(t,e,i,n,s){var r,a,h=e.x-t.x,l=e.y-t.y,u=n.min,c=n.max;return 8&i?(r=t.x+h*(c.y-t.y)/l,a=c.y):4&i?(r=t.x+h*(u.y-t.y)/l,a=u.y):2&i?(r=c.x,a=t.y+l*(c.x-t.x)/h):1&i&&(r=u.x,a=t.y+l*(u.x-t.x)/h),new o.Point(r,a,s)},_getBitCode:function(t,e){var i=0;return t.x<e.min.x?i|=1:t.x>e.max.x&&(i|=2),t.y<e.min.y?i|=4:t.y>e.max.y&&(i|=8),i},_sqDist:function(t,e){var i=e.x-t.x,n=e.y-t.y;return i*i+n*n},_sqClosestPointOnSegment:function(t,e,i,n){var s,r=e.x,a=e.y,h=i.x-r,l=i.y-a,u=h*h+l*l;return u>0&&(s=((t.x-r)*h+(t.y-a)*l)/u,s>1?(r=i.x,a=i.y):s>0&&(r+=h*s,a+=l*s)),h=t.x-r,l=t.y-a,n?h*h+l*l:new o.Point(r,a)}},o.Polyline=o.Path.extend({options:{smoothFactor:1,noClip:!1},initialize:function(t,e){o.setOptions(this,e),this._setLatLngs(t)},getLatLngs:function(){return this._latlngs},setLatLngs:function(t){return this._setLatLngs(t),this.redraw()},isEmpty:function(){return!this._latlngs.length},closestLayerPoint:function(t){for(var e,i,n=1/0,s=null,r=o.LineUtil._sqClosestPointOnSegment,a=0,h=this._parts.length;a<h;a++)for(var l=this._parts[a],u=1,c=l.length;u<c;u++){e=l[u-1],i=l[u];var d=r(t,e,i,!0);d<n&&(n=d,s=r(t,e,i))}return s&&(s.distance=Math.sqrt(n)),s},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");var t,e,i,n,o,s,r,a=this._rings[0],h=a.length;if(!h)return null;for(t=0,e=0;t<h-1;t++)e+=a[t].distanceTo(a[t+1])/2;if(0===e)return this._map.layerPointToLatLng(a[0]);for(t=0,n=0;t<h-1;t++)if(o=a[t],s=a[t+1],i=o.distanceTo(s),n+=i,n>e)return r=(n-e)/i,this._map.layerPointToLatLng([s.x-r*(s.x-o.x),s.y-r*(s.y-o.y)])},getBounds:function(){return this._bounds},addLatLng:function(t,e){return e=e||this._defaultShape(),t=o.latLng(t),e.push(t),this._bounds.extend(t),this.redraw()},_setLatLngs:function(t){this._bounds=new o.LatLngBounds,this._latlngs=this._convertLatLngs(t)},_defaultShape:function(){return o.Polyline._flat(this._latlngs)?this._latlngs:this._latlngs[0]},_convertLatLngs:function(t){for(var e=[],i=o.Polyline._flat(t),n=0,s=t.length;n<s;n++)i?(e[n]=o.latLng(t[n]),this._bounds.extend(e[n])):e[n]=this._convertLatLngs(t[n]);return e},_project:function(){var t=new o.Bounds;this._rings=[],this._projectLatlngs(this._latlngs,this._rings,t);var e=this._clickTolerance(),i=new o.Point(e,e);this._bounds.isValid()&&t.isValid()&&(t.min._subtract(i),t.max._add(i),this._pxBounds=t)},_projectLatlngs:function(t,e,i){var n,s,r=t[0]instanceof o.LatLng,a=t.length;if(r){for(s=[],n=0;n<a;n++)s[n]=this._map.latLngToLayerPoint(t[n]),i.extend(s[n]);e.push(s)}else for(n=0;n<a;n++)this._projectLatlngs(t[n],e,i)},_clipPoints:function(){var t=this._renderer._bounds;if(this._parts=[],this._pxBounds&&this._pxBounds.intersects(t)){if(this.options.noClip)return void(this._parts=this._rings);var e,i,n,s,r,a,h,l=this._parts;for(e=0,n=0,s=this._rings.length;e<s;e++)for(h=this._rings[e],i=0,r=h.length;i<r-1;i++)a=o.LineUtil.clipSegment(h[i],h[i+1],t,i,!0),a&&(l[n]=l[n]||[],l[n].push(a[0]),a[1]===h[i+1]&&i!==r-2||(l[n].push(a[1]),n++))}},_simplifyPoints:function(){for(var t=this._parts,e=this.options.smoothFactor,i=0,n=t.length;i<n;i++)t[i]=o.LineUtil.simplify(t[i],e)},_update:function(){this._map&&(this._clipPoints(),this._simplifyPoints(),this._updatePath())},_updatePath:function(){this._renderer._updatePoly(this)}}),o.polyline=function(t,e){return new o.Polyline(t,e)},o.Polyline._flat=function(t){return!o.Util.isArray(t[0])||"object"!=typeof t[0][0]&&"undefined"!=typeof t[0][0]},o.PolyUtil={},o.PolyUtil.clipPolygon=function(t,e,i){var n,s,r,a,h,l,u,c,d,_=[1,4,2,8],m=o.LineUtil;for(s=0,u=t.length;s<u;s++)t[s]._code=m._getBitCode(t[s],e);for(a=0;a<4;a++){for(c=_[a],n=[],s=0,u=t.length,r=u-1;s<u;r=s++)h=t[s],l=t[r],h._code&c?l._code&c||(d=m._getEdgeIntersection(l,h,c,e,i),d._code=m._getBitCode(d,e),n.push(d)):(l._code&c&&(d=m._getEdgeIntersection(l,h,c,e,i),d._code=m._getBitCode(d,e),n.push(d)),n.push(h));t=n}return t},o.Polygon=o.Polyline.extend({options:{fill:!0},isEmpty:function(){return!this._latlngs.length||!this._latlngs[0].length},getCenter:function(){if(!this._map)throw new Error("Must add layer to map before using getCenter()");var t,e,i,n,o,s,r,a,h,l=this._rings[0],u=l.length;if(!u)return null;for(s=r=a=0,t=0,e=u-1;t<u;e=t++)i=l[t],n=l[e],o=i.y*n.x-n.y*i.x,r+=(i.x+n.x)*o,a+=(i.y+n.y)*o,s+=3*o;return h=0===s?l[0]:[r/s,a/s],this._map.layerPointToLatLng(h)},_convertLatLngs:function(t){var e=o.Polyline.prototype._convertLatLngs.call(this,t),i=e.length;return i>=2&&e[0]instanceof o.LatLng&&e[0].equals(e[i-1])&&e.pop(),e},_setLatLngs:function(t){o.Polyline.prototype._setLatLngs.call(this,t),o.Polyline._flat(this._latlngs)&&(this._latlngs=[this._latlngs])},_defaultShape:function(){return o.Polyline._flat(this._latlngs[0])?this._latlngs[0]:this._latlngs[0][0]},_clipPoints:function(){var t=this._renderer._bounds,e=this.options.weight,i=new o.Point(e,e);if(t=new o.Bounds(t.min.subtract(i),t.max.add(i)),this._parts=[],this._pxBounds&&this._pxBounds.intersects(t)){if(this.options.noClip)return void(this._parts=this._rings);for(var n,s=0,r=this._rings.length;s<r;s++)n=o.PolyUtil.clipPolygon(this._rings[s],t,!0),n.length&&this._parts.push(n)}},_updatePath:function(){this._renderer._updatePoly(this,!0)}}),o.polygon=function(t,e){return new o.Polygon(t,e)},o.Rectangle=o.Polygon.extend({initialize:function(t,e){o.Polygon.prototype.initialize.call(this,this._boundsToLatLngs(t),e)},setBounds:function(t){return this.setLatLngs(this._boundsToLatLngs(t))},_boundsToLatLngs:function(t){return t=o.latLngBounds(t),[t.getSouthWest(),t.getNorthWest(),t.getNorthEast(),t.getSouthEast()]}}),o.rectangle=function(t,e){return new o.Rectangle(t,e)},o.CircleMarker=o.Path.extend({options:{fill:!0,radius:10},initialize:function(t,e){o.setOptions(this,e),this._latlng=o.latLng(t),this._radius=this.options.radius},setLatLng:function(t){return this._latlng=o.latLng(t),this.redraw(),this.fire("move",{latlng:this._latlng})},getLatLng:function(){return this._latlng},setRadius:function(t){return this.options.radius=this._radius=t,this.redraw()},getRadius:function(){return this._radius},setStyle:function(t){var e=t&&t.radius||this._radius;return o.Path.prototype.setStyle.call(this,t),this.setRadius(e),this},_project:function(){this._point=this._map.latLngToLayerPoint(this._latlng),this._updateBounds()},_updateBounds:function(){var t=this._radius,e=this._radiusY||t,i=this._clickTolerance(),n=[t+i,e+i];this._pxBounds=new o.Bounds(this._point.subtract(n),this._point.add(n))},_update:function(){this._map&&this._updatePath()},_updatePath:function(){this._renderer._updateCircle(this)},_empty:function(){return this._radius&&!this._renderer._bounds.intersects(this._pxBounds)}}),o.circleMarker=function(t,e){return new o.CircleMarker(t,e)},o.Circle=o.CircleMarker.extend({initialize:function(t,e,i){if("number"==typeof e&&(e=o.extend({},i,{radius:e})),o.setOptions(this,e),this._latlng=o.latLng(t),isNaN(this.options.radius))throw new Error("Circle radius cannot be NaN");this._mRadius=this.options.radius},setRadius:function(t){return this._mRadius=t,this.redraw()},getRadius:function(){return this._mRadius},getBounds:function(){var t=[this._radius,this._radiusY||this._radius];return new o.LatLngBounds(this._map.layerPointToLatLng(this._point.subtract(t)),this._map.layerPointToLatLng(this._point.add(t)));
8
- },setStyle:o.Path.prototype.setStyle,_project:function(){var t=this._latlng.lng,e=this._latlng.lat,i=this._map,n=i.options.crs;if(n.distance===o.CRS.Earth.distance){var s=Math.PI/180,r=this._mRadius/o.CRS.Earth.R/s,a=i.project([e+r,t]),h=i.project([e-r,t]),l=a.add(h).divideBy(2),u=i.unproject(l).lat,c=Math.acos((Math.cos(r*s)-Math.sin(e*s)*Math.sin(u*s))/(Math.cos(e*s)*Math.cos(u*s)))/s;(isNaN(c)||0===c)&&(c=r/Math.cos(Math.PI/180*e)),this._point=l.subtract(i.getPixelOrigin()),this._radius=isNaN(c)?0:Math.max(Math.round(l.x-i.project([u,t-c]).x),1),this._radiusY=Math.max(Math.round(l.y-a.y),1)}else{var d=n.unproject(n.project(this._latlng).subtract([this._mRadius,0]));this._point=i.latLngToLayerPoint(this._latlng),this._radius=this._point.x-i.latLngToLayerPoint(d).x}this._updateBounds()}}),o.circle=function(t,e,i){return new o.Circle(t,e,i)},o.SVG=o.Renderer.extend({getEvents:function(){var t=o.Renderer.prototype.getEvents.call(this);return t.zoomstart=this._onZoomStart,t},_initContainer:function(){this._container=o.SVG.create("svg"),this._container.setAttribute("pointer-events","none"),this._rootGroup=o.SVG.create("g"),this._container.appendChild(this._rootGroup)},_onZoomStart:function(){this._update()},_update:function(){if(!this._map._animatingZoom||!this._bounds){o.Renderer.prototype._update.call(this);var t=this._bounds,e=t.getSize(),i=this._container;this._svgSize&&this._svgSize.equals(e)||(this._svgSize=e,i.setAttribute("width",e.x),i.setAttribute("height",e.y)),o.DomUtil.setPosition(i,t.min),i.setAttribute("viewBox",[t.min.x,t.min.y,e.x,e.y].join(" ")),this.fire("update")}},_initPath:function(t){var e=t._path=o.SVG.create("path");t.options.className&&o.DomUtil.addClass(e,t.options.className),t.options.interactive&&o.DomUtil.addClass(e,"leaflet-interactive"),this._updateStyle(t),this._layers[o.stamp(t)]=t},_addPath:function(t){this._rootGroup.appendChild(t._path),t.addInteractiveTarget(t._path)},_removePath:function(t){o.DomUtil.remove(t._path),t.removeInteractiveTarget(t._path),delete this._layers[o.stamp(t)]},_updatePath:function(t){t._project(),t._update()},_updateStyle:function(t){var e=t._path,i=t.options;e&&(i.stroke?(e.setAttribute("stroke",i.color),e.setAttribute("stroke-opacity",i.opacity),e.setAttribute("stroke-width",i.weight),e.setAttribute("stroke-linecap",i.lineCap),e.setAttribute("stroke-linejoin",i.lineJoin),i.dashArray?e.setAttribute("stroke-dasharray",i.dashArray):e.removeAttribute("stroke-dasharray"),i.dashOffset?e.setAttribute("stroke-dashoffset",i.dashOffset):e.removeAttribute("stroke-dashoffset")):e.setAttribute("stroke","none"),i.fill?(e.setAttribute("fill",i.fillColor||i.color),e.setAttribute("fill-opacity",i.fillOpacity),e.setAttribute("fill-rule",i.fillRule||"evenodd")):e.setAttribute("fill","none"))},_updatePoly:function(t,e){this._setPath(t,o.SVG.pointsToPath(t._parts,e))},_updateCircle:function(t){var e=t._point,i=t._radius,n=t._radiusY||i,o="a"+i+","+n+" 0 1,0 ",s=t._empty()?"M0 0":"M"+(e.x-i)+","+e.y+o+2*i+",0 "+o+2*-i+",0 ";this._setPath(t,s)},_setPath:function(t,e){t._path.setAttribute("d",e)},_bringToFront:function(t){o.DomUtil.toFront(t._path)},_bringToBack:function(t){o.DomUtil.toBack(t._path)}}),o.extend(o.SVG,{create:function(t){return e.createElementNS("http://www.w3.org/2000/svg",t)},pointsToPath:function(t,e){var i,n,s,r,a,h,l="";for(i=0,s=t.length;i<s;i++){for(a=t[i],n=0,r=a.length;n<r;n++)h=a[n],l+=(n?"L":"M")+h.x+" "+h.y;l+=e?o.Browser.svg?"z":"x":""}return l||"M0 0"}}),o.Browser.svg=!(!e.createElementNS||!o.SVG.create("svg").createSVGRect),o.svg=function(t){return o.Browser.svg||o.Browser.vml?new o.SVG(t):null},o.Browser.vml=!o.Browser.svg&&function(){try{var t=e.createElement("div");t.innerHTML='<v:shape adj="1"/>';var i=t.firstChild;return i.style.behavior="url(#default#VML)",i&&"object"==typeof i.adj}catch(t){return!1}}(),o.SVG.include(o.Browser.vml?{_initContainer:function(){this._container=o.DomUtil.create("div","leaflet-vml-container")},_update:function(){this._map._animatingZoom||(o.Renderer.prototype._update.call(this),this.fire("update"))},_initPath:function(t){var e=t._container=o.SVG.create("shape");o.DomUtil.addClass(e,"leaflet-vml-shape "+(this.options.className||"")),e.coordsize="1 1",t._path=o.SVG.create("path"),e.appendChild(t._path),this._updateStyle(t),this._layers[o.stamp(t)]=t},_addPath:function(t){var e=t._container;this._container.appendChild(e),t.options.interactive&&t.addInteractiveTarget(e)},_removePath:function(t){var e=t._container;o.DomUtil.remove(e),t.removeInteractiveTarget(e),delete this._layers[o.stamp(t)]},_updateStyle:function(t){var e=t._stroke,i=t._fill,n=t.options,s=t._container;s.stroked=!!n.stroke,s.filled=!!n.fill,n.stroke?(e||(e=t._stroke=o.SVG.create("stroke")),s.appendChild(e),e.weight=n.weight+"px",e.color=n.color,e.opacity=n.opacity,n.dashArray?e.dashStyle=o.Util.isArray(n.dashArray)?n.dashArray.join(" "):n.dashArray.replace(/( *, *)/g," "):e.dashStyle="",e.endcap=n.lineCap.replace("butt","flat"),e.joinstyle=n.lineJoin):e&&(s.removeChild(e),t._stroke=null),n.fill?(i||(i=t._fill=o.SVG.create("fill")),s.appendChild(i),i.color=n.fillColor||n.color,i.opacity=n.fillOpacity):i&&(s.removeChild(i),t._fill=null)},_updateCircle:function(t){var e=t._point.round(),i=Math.round(t._radius),n=Math.round(t._radiusY||i);this._setPath(t,t._empty()?"M0 0":"AL "+e.x+","+e.y+" "+i+","+n+" 0,23592600")},_setPath:function(t,e){t._path.v=e},_bringToFront:function(t){o.DomUtil.toFront(t._container)},_bringToBack:function(t){o.DomUtil.toBack(t._container)}}:{}),o.Browser.vml&&(o.SVG.create=function(){try{return e.namespaces.add("lvml","urn:schemas-microsoft-com:vml"),function(t){return e.createElement("<lvml:"+t+' class="lvml">')}}catch(t){return function(t){return e.createElement("<"+t+' xmlns="urn:schemas-microsoft.com:vml" class="lvml">')}}}()),o.Canvas=o.Renderer.extend({getEvents:function(){var t=o.Renderer.prototype.getEvents.call(this);return t.viewprereset=this._onViewPreReset,t},_onViewPreReset:function(){this._postponeUpdatePaths=!0},onAdd:function(){o.Renderer.prototype.onAdd.call(this),this._draw()},_initContainer:function(){var t=this._container=e.createElement("canvas");o.DomEvent.on(t,"mousemove",o.Util.throttle(this._onMouseMove,32,this),this).on(t,"click dblclick mousedown mouseup contextmenu",this._onClick,this).on(t,"mouseout",this._handleMouseOut,this),this._ctx=t.getContext("2d")},_updatePaths:function(){if(!this._postponeUpdatePaths){var t;this._redrawBounds=null;for(var e in this._layers)t=this._layers[e],t._update();this._redraw()}},_update:function(){if(!this._map._animatingZoom||!this._bounds){this._drawnLayers={},o.Renderer.prototype._update.call(this);var t=this._bounds,e=this._container,i=t.getSize(),n=o.Browser.retina?2:1;o.DomUtil.setPosition(e,t.min),e.width=n*i.x,e.height=n*i.y,e.style.width=i.x+"px",e.style.height=i.y+"px",o.Browser.retina&&this._ctx.scale(2,2),this._ctx.translate(-t.min.x,-t.min.y),this.fire("update")}},_reset:function(){o.Renderer.prototype._reset.call(this),this._postponeUpdatePaths&&(this._postponeUpdatePaths=!1,this._updatePaths())},_initPath:function(t){this._updateDashArray(t),this._layers[o.stamp(t)]=t;var e=t._order={layer:t,prev:this._drawLast,next:null};this._drawLast&&(this._drawLast.next=e),this._drawLast=e,this._drawFirst=this._drawFirst||this._drawLast},_addPath:function(t){this._requestRedraw(t)},_removePath:function(t){var e=t._order,i=e.next,n=e.prev;i?i.prev=n:this._drawLast=n,n?n.next=i:this._drawFirst=i,delete t._order,delete this._layers[o.stamp(t)],this._requestRedraw(t)},_updatePath:function(t){this._extendRedrawBounds(t),t._project(),t._update(),this._requestRedraw(t)},_updateStyle:function(t){this._updateDashArray(t),this._requestRedraw(t)},_updateDashArray:function(t){if(t.options.dashArray){var e,i=t.options.dashArray.split(","),n=[];for(e=0;e<i.length;e++)n.push(Number(i[e]));t.options._dashArray=n}},_requestRedraw:function(t){this._map&&(this._extendRedrawBounds(t),this._redrawRequest=this._redrawRequest||o.Util.requestAnimFrame(this._redraw,this))},_extendRedrawBounds:function(t){var e=(t.options.weight||0)+1;this._redrawBounds=this._redrawBounds||new o.Bounds,this._redrawBounds.extend(t._pxBounds.min.subtract([e,e])),this._redrawBounds.extend(t._pxBounds.max.add([e,e]))},_redraw:function(){this._redrawRequest=null,this._redrawBounds&&(this._redrawBounds.min._floor(),this._redrawBounds.max._ceil()),this._clear(),this._draw(),this._redrawBounds=null},_clear:function(){var t=this._redrawBounds;if(t){var e=t.getSize();this._ctx.clearRect(t.min.x,t.min.y,e.x,e.y)}else this._ctx.clearRect(0,0,this._container.width,this._container.height)},_draw:function(){var t,e=this._redrawBounds;if(this._ctx.save(),e){var i=e.getSize();this._ctx.beginPath(),this._ctx.rect(e.min.x,e.min.y,i.x,i.y),this._ctx.clip()}this._drawing=!0;for(var n=this._drawFirst;n;n=n.next)t=n.layer,(!e||t._pxBounds&&t._pxBounds.intersects(e))&&t._updatePath();this._drawing=!1,this._ctx.restore()},_updatePoly:function(t,e){if(this._drawing){var i,n,o,s,r=t._parts,a=r.length,h=this._ctx;if(a){for(this._drawnLayers[t._leaflet_id]=t,h.beginPath(),h.setLineDash&&h.setLineDash(t.options&&t.options._dashArray||[]),i=0;i<a;i++){for(n=0,o=r[i].length;n<o;n++)s=r[i][n],h[n?"lineTo":"moveTo"](s.x,s.y);e&&h.closePath()}this._fillStroke(h,t)}}},_updateCircle:function(t){if(this._drawing&&!t._empty()){var e=t._point,i=this._ctx,n=t._radius,o=(t._radiusY||n)/n;this._drawnLayers[t._leaflet_id]=t,1!==o&&(i.save(),i.scale(1,o)),i.beginPath(),i.arc(e.x,e.y/o,n,0,2*Math.PI,!1),1!==o&&i.restore(),this._fillStroke(i,t)}},_fillStroke:function(t,e){var i=e.options;i.fill&&(t.globalAlpha=i.fillOpacity,t.fillStyle=i.fillColor||i.color,t.fill(i.fillRule||"evenodd")),i.stroke&&0!==i.weight&&(t.globalAlpha=i.opacity,t.lineWidth=i.weight,t.strokeStyle=i.color,t.lineCap=i.lineCap,t.lineJoin=i.lineJoin,t.stroke())},_onClick:function(t){for(var e,i,n=this._map.mouseEventToLayerPoint(t),s=this._drawFirst;s;s=s.next)e=s.layer,e.options.interactive&&e._containsPoint(n)&&!this._map._draggableMoved(e)&&(i=e);i&&(o.DomEvent._fakeStop(t),this._fireEvent([i],t))},_onMouseMove:function(t){if(this._map&&!this._map.dragging.moving()&&!this._map._animatingZoom){var e=this._map.mouseEventToLayerPoint(t);this._handleMouseHover(t,e)}},_handleMouseOut:function(t){var e=this._hoveredLayer;e&&(o.DomUtil.removeClass(this._container,"leaflet-interactive"),this._fireEvent([e],t,"mouseout"),this._hoveredLayer=null)},_handleMouseHover:function(t,e){for(var i,n,s=this._drawFirst;s;s=s.next)i=s.layer,i.options.interactive&&i._containsPoint(e)&&(n=i);n!==this._hoveredLayer&&(this._handleMouseOut(t),n&&(o.DomUtil.addClass(this._container,"leaflet-interactive"),this._fireEvent([n],t,"mouseover"),this._hoveredLayer=n)),this._hoveredLayer&&this._fireEvent([this._hoveredLayer],t)},_fireEvent:function(t,e,i){this._map._fireDOMEvent(e,i||e.type,t)},_bringToFront:function(t){var e=t._order,i=e.next,n=e.prev;i&&(i.prev=n,n?n.next=i:i&&(this._drawFirst=i),e.prev=this._drawLast,this._drawLast.next=e,e.next=null,this._drawLast=e,this._requestRedraw(t))},_bringToBack:function(t){var e=t._order,i=e.next,n=e.prev;n&&(n.next=i,i?i.prev=n:n&&(this._drawLast=n),e.prev=null,e.next=this._drawFirst,this._drawFirst.prev=e,this._drawFirst=e,this._requestRedraw(t))}}),o.Browser.canvas=function(){return!!e.createElement("canvas").getContext}(),o.canvas=function(t){return o.Browser.canvas?new o.Canvas(t):null},o.Polyline.prototype._containsPoint=function(t,e){var i,n,s,r,a,h,l=this._clickTolerance();if(!this._pxBounds.contains(t))return!1;for(i=0,r=this._parts.length;i<r;i++)for(h=this._parts[i],n=0,a=h.length,s=a-1;n<a;s=n++)if((e||0!==n)&&o.LineUtil.pointToSegmentDistance(t,h[s],h[n])<=l)return!0;return!1},o.Polygon.prototype._containsPoint=function(t){var e,i,n,s,r,a,h,l,u=!1;if(!this._pxBounds.contains(t))return!1;for(s=0,h=this._parts.length;s<h;s++)for(e=this._parts[s],r=0,l=e.length,a=l-1;r<l;a=r++)i=e[r],n=e[a],i.y>t.y!=n.y>t.y&&t.x<(n.x-i.x)*(t.y-i.y)/(n.y-i.y)+i.x&&(u=!u);return u||o.Polyline.prototype._containsPoint.call(this,t,!0)},o.CircleMarker.prototype._containsPoint=function(t){return t.distanceTo(this._point)<=this._radius+this._clickTolerance()},o.GeoJSON=o.FeatureGroup.extend({initialize:function(t,e){o.setOptions(this,e),this._layers={},t&&this.addData(t)},addData:function(t){var e,i,n,s=o.Util.isArray(t)?t:t.features;if(s){for(e=0,i=s.length;e<i;e++)n=s[e],(n.geometries||n.geometry||n.features||n.coordinates)&&this.addData(n);return this}var r=this.options;if(r.filter&&!r.filter(t))return this;var a=o.GeoJSON.geometryToLayer(t,r);return a?(a.feature=o.GeoJSON.asFeature(t),a.defaultOptions=a.options,this.resetStyle(a),r.onEachFeature&&r.onEachFeature(t,a),this.addLayer(a)):this},resetStyle:function(t){return t.options=o.Util.extend({},t.defaultOptions),this._setLayerStyle(t,this.options.style),this},setStyle:function(t){return this.eachLayer(function(e){this._setLayerStyle(e,t)},this)},_setLayerStyle:function(t,e){"function"==typeof e&&(e=e(t.feature)),t.setStyle&&t.setStyle(e)}}),o.extend(o.GeoJSON,{geometryToLayer:function(t,e){var i,n,s,r,a="Feature"===t.type?t.geometry:t,h=a?a.coordinates:null,l=[],u=e&&e.pointToLayer,c=e&&e.coordsToLatLng||this.coordsToLatLng;if(!h&&!a)return null;switch(a.type){case"Point":return i=c(h),u?u(t,i):new o.Marker(i);case"MultiPoint":for(s=0,r=h.length;s<r;s++)i=c(h[s]),l.push(u?u(t,i):new o.Marker(i));return new o.FeatureGroup(l);case"LineString":case"MultiLineString":return n=this.coordsToLatLngs(h,"LineString"===a.type?0:1,c),new o.Polyline(n,e);case"Polygon":case"MultiPolygon":return n=this.coordsToLatLngs(h,"Polygon"===a.type?1:2,c),new o.Polygon(n,e);case"GeometryCollection":for(s=0,r=a.geometries.length;s<r;s++){var d=this.geometryToLayer({geometry:a.geometries[s],type:"Feature",properties:t.properties},e);d&&l.push(d)}return new o.FeatureGroup(l);default:throw new Error("Invalid GeoJSON object.")}},coordsToLatLng:function(t){return new o.LatLng(t[1],t[0],t[2])},coordsToLatLngs:function(t,e,i){for(var n,o=[],s=0,r=t.length;s<r;s++)n=e?this.coordsToLatLngs(t[s],e-1,i):(i||this.coordsToLatLng)(t[s]),o.push(n);return o},latLngToCoords:function(t){return t.alt!==i?[t.lng,t.lat,t.alt]:[t.lng,t.lat]},latLngsToCoords:function(t,e,i){for(var n=[],s=0,r=t.length;s<r;s++)n.push(e?o.GeoJSON.latLngsToCoords(t[s],e-1,i):o.GeoJSON.latLngToCoords(t[s]));return!e&&i&&n.push(n[0]),n},getFeature:function(t,e){return t.feature?o.extend({},t.feature,{geometry:e}):o.GeoJSON.asFeature(e)},asFeature:function(t){return"Feature"===t.type||"FeatureCollection"===t.type?t:{type:"Feature",properties:{},geometry:t}}});var a={toGeoJSON:function(){return o.GeoJSON.getFeature(this,{type:"Point",coordinates:o.GeoJSON.latLngToCoords(this.getLatLng())})}};o.Marker.include(a),o.Circle.include(a),o.CircleMarker.include(a),o.Polyline.prototype.toGeoJSON=function(){var t=!o.Polyline._flat(this._latlngs),e=o.GeoJSON.latLngsToCoords(this._latlngs,t?1:0);return o.GeoJSON.getFeature(this,{type:(t?"Multi":"")+"LineString",coordinates:e})},o.Polygon.prototype.toGeoJSON=function(){var t=!o.Polyline._flat(this._latlngs),e=t&&!o.Polyline._flat(this._latlngs[0]),i=o.GeoJSON.latLngsToCoords(this._latlngs,e?2:t?1:0,!0);return t||(i=[i]),o.GeoJSON.getFeature(this,{type:(e?"Multi":"")+"Polygon",coordinates:i})},o.LayerGroup.include({toMultiPoint:function(){var t=[];return this.eachLayer(function(e){t.push(e.toGeoJSON().geometry.coordinates)}),o.GeoJSON.getFeature(this,{type:"MultiPoint",coordinates:t})},toGeoJSON:function(){var t=this.feature&&this.feature.geometry&&this.feature.geometry.type;if("MultiPoint"===t)return this.toMultiPoint();var e="GeometryCollection"===t,i=[];return this.eachLayer(function(t){if(t.toGeoJSON){var n=t.toGeoJSON();i.push(e?n.geometry:o.GeoJSON.asFeature(n))}}),e?o.GeoJSON.getFeature(this,{geometries:i,type:"GeometryCollection"}):{type:"FeatureCollection",features:i}}}),o.geoJSON=function(t,e){return new o.GeoJSON(t,e)},o.geoJson=o.geoJSON,o.Draggable=o.Evented.extend({options:{clickTolerance:3},statics:{START:o.Browser.touch?["touchstart","mousedown"]:["mousedown"],END:{mousedown:"mouseup",touchstart:"touchend",pointerdown:"touchend",MSPointerDown:"touchend"},MOVE:{mousedown:"mousemove",touchstart:"touchmove",pointerdown:"touchmove",MSPointerDown:"touchmove"}},initialize:function(t,e,i){this._element=t,this._dragStartTarget=e||t,this._preventOutline=i},enable:function(){this._enabled||(o.DomEvent.on(this._dragStartTarget,o.Draggable.START.join(" "),this._onDown,this),this._enabled=!0)},disable:function(){this._enabled&&(o.Draggable._dragging===this&&this.finishDrag(),o.DomEvent.off(this._dragStartTarget,o.Draggable.START.join(" "),this._onDown,this),this._enabled=!1,this._moved=!1)},_onDown:function(t){if(!t._simulated&&this._enabled&&(this._moved=!1,!o.DomUtil.hasClass(this._element,"leaflet-zoom-anim")&&!(o.Draggable._dragging||t.shiftKey||1!==t.which&&1!==t.button&&!t.touches||(o.Draggable._dragging=this,this._preventOutline&&o.DomUtil.preventOutline(this._element),o.DomUtil.disableImageDrag(),o.DomUtil.disableTextSelection(),this._moving)))){this.fire("down");var i=t.touches?t.touches[0]:t;this._startPoint=new o.Point(i.clientX,i.clientY),o.DomEvent.on(e,o.Draggable.MOVE[t.type],this._onMove,this).on(e,o.Draggable.END[t.type],this._onUp,this)}},_onMove:function(i){if(!i._simulated&&this._enabled){if(i.touches&&i.touches.length>1)return void(this._moved=!0);var n=i.touches&&1===i.touches.length?i.touches[0]:i,s=new o.Point(n.clientX,n.clientY),r=s.subtract(this._startPoint);(r.x||r.y)&&(Math.abs(r.x)+Math.abs(r.y)<this.options.clickTolerance||(o.DomEvent.preventDefault(i),this._moved||(this.fire("dragstart"),this._moved=!0,this._startPos=o.DomUtil.getPosition(this._element).subtract(r),o.DomUtil.addClass(e.body,"leaflet-dragging"),this._lastTarget=i.target||i.srcElement,t.SVGElementInstance&&this._lastTarget instanceof SVGElementInstance&&(this._lastTarget=this._lastTarget.correspondingUseElement),o.DomUtil.addClass(this._lastTarget,"leaflet-drag-target")),this._newPos=this._startPos.add(r),this._moving=!0,o.Util.cancelAnimFrame(this._animRequest),this._lastEvent=i,this._animRequest=o.Util.requestAnimFrame(this._updatePosition,this,!0)))}},_updatePosition:function(){var t={originalEvent:this._lastEvent};this.fire("predrag",t),o.DomUtil.setPosition(this._element,this._newPos),this.fire("drag",t)},_onUp:function(t){!t._simulated&&this._enabled&&this.finishDrag()},finishDrag:function(){o.DomUtil.removeClass(e.body,"leaflet-dragging"),this._lastTarget&&(o.DomUtil.removeClass(this._lastTarget,"leaflet-drag-target"),this._lastTarget=null);for(var t in o.Draggable.MOVE)o.DomEvent.off(e,o.Draggable.MOVE[t],this._onMove,this).off(e,o.Draggable.END[t],this._onUp,this);o.DomUtil.enableImageDrag(),o.DomUtil.enableTextSelection(),this._moved&&this._moving&&(o.Util.cancelAnimFrame(this._animRequest),this.fire("dragend",{distance:this._newPos.distanceTo(this._startPos)})),this._moving=!1,o.Draggable._dragging=!1}}),o.Handler=o.Class.extend({initialize:function(t){this._map=t},enable:function(){return this._enabled?this:(this._enabled=!0,this.addHooks(),this)},disable:function(){return this._enabled?(this._enabled=!1,this.removeHooks(),this):this},enabled:function(){return!!this._enabled}}),o.Map.mergeOptions({dragging:!0,inertia:!o.Browser.android23,inertiaDeceleration:3400,inertiaMaxSpeed:1/0,easeLinearity:.2,worldCopyJump:!1,maxBoundsViscosity:0}),o.Map.Drag=o.Handler.extend({addHooks:function(){if(!this._draggable){var t=this._map;this._draggable=new o.Draggable(t._mapPane,t._container),this._draggable.on({down:this._onDown,dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this),this._draggable.on("predrag",this._onPreDragLimit,this),t.options.worldCopyJump&&(this._draggable.on("predrag",this._onPreDragWrap,this),t.on("zoomend",this._onZoomEnd,this),t.whenReady(this._onZoomEnd,this))}o.DomUtil.addClass(this._map._container,"leaflet-grab leaflet-touch-drag"),this._draggable.enable(),this._positions=[],this._times=[]},removeHooks:function(){o.DomUtil.removeClass(this._map._container,"leaflet-grab"),o.DomUtil.removeClass(this._map._container,"leaflet-touch-drag"),this._draggable.disable()},moved:function(){return this._draggable&&this._draggable._moved},moving:function(){return this._draggable&&this._draggable._moving},_onDown:function(){this._map._stop()},_onDragStart:function(){var t=this._map;if(this._map.options.maxBounds&&this._map.options.maxBoundsViscosity){var e=o.latLngBounds(this._map.options.maxBounds);this._offsetLimit=o.bounds(this._map.latLngToContainerPoint(e.getNorthWest()).multiplyBy(-1),this._map.latLngToContainerPoint(e.getSouthEast()).multiplyBy(-1).add(this._map.getSize())),this._viscosity=Math.min(1,Math.max(0,this._map.options.maxBoundsViscosity))}else this._offsetLimit=null;t.fire("movestart").fire("dragstart"),t.options.inertia&&(this._positions=[],this._times=[])},_onDrag:function(t){if(this._map.options.inertia){var e=this._lastTime=+new Date,i=this._lastPos=this._draggable._absPos||this._draggable._newPos;this._positions.push(i),this._times.push(e),e-this._times[0]>50&&(this._positions.shift(),this._times.shift())}this._map.fire("move",t).fire("drag",t)},_onZoomEnd:function(){var t=this._map.getSize().divideBy(2),e=this._map.latLngToLayerPoint([0,0]);this._initialWorldOffset=e.subtract(t).x,this._worldWidth=this._map.getPixelWorldBounds().getSize().x},_viscousLimit:function(t,e){return t-(t-e)*this._viscosity},_onPreDragLimit:function(){if(this._viscosity&&this._offsetLimit){var t=this._draggable._newPos.subtract(this._draggable._startPos),e=this._offsetLimit;t.x<e.min.x&&(t.x=this._viscousLimit(t.x,e.min.x)),t.y<e.min.y&&(t.y=this._viscousLimit(t.y,e.min.y)),t.x>e.max.x&&(t.x=this._viscousLimit(t.x,e.max.x)),t.y>e.max.y&&(t.y=this._viscousLimit(t.y,e.max.y)),this._draggable._newPos=this._draggable._startPos.add(t)}},_onPreDragWrap:function(){var t=this._worldWidth,e=Math.round(t/2),i=this._initialWorldOffset,n=this._draggable._newPos.x,o=(n-e+i)%t+e-i,s=(n+e+i)%t-e-i,r=Math.abs(o+i)<Math.abs(s+i)?o:s;this._draggable._absPos=this._draggable._newPos.clone(),this._draggable._newPos.x=r},_onDragEnd:function(t){var e=this._map,i=e.options,n=!i.inertia||this._times.length<2;if(e.fire("dragend",t),n)e.fire("moveend");else{var s=this._lastPos.subtract(this._positions[0]),r=(this._lastTime-this._times[0])/1e3,a=i.easeLinearity,h=s.multiplyBy(a/r),l=h.distanceTo([0,0]),u=Math.min(i.inertiaMaxSpeed,l),c=h.multiplyBy(u/l),d=u/(i.inertiaDeceleration*a),_=c.multiplyBy(-d/2).round();_.x||_.y?(_=e._limitOffset(_,e.options.maxBounds),o.Util.requestAnimFrame(function(){e.panBy(_,{duration:d,easeLinearity:a,noMoveStart:!0,animate:!0})})):e.fire("moveend")}}}),o.Map.addInitHook("addHandler","dragging",o.Map.Drag),o.Map.mergeOptions({doubleClickZoom:!0}),o.Map.DoubleClickZoom=o.Handler.extend({addHooks:function(){this._map.on("dblclick",this._onDoubleClick,this)},removeHooks:function(){this._map.off("dblclick",this._onDoubleClick,this)},_onDoubleClick:function(t){var e=this._map,i=e.getZoom(),n=e.options.zoomDelta,o=t.originalEvent.shiftKey?i-n:i+n;"center"===e.options.doubleClickZoom?e.setZoom(o):e.setZoomAround(t.containerPoint,o)}}),o.Map.addInitHook("addHandler","doubleClickZoom",o.Map.DoubleClickZoom),o.Map.mergeOptions({scrollWheelZoom:!0,wheelDebounceTime:40,wheelPxPerZoomLevel:60}),o.Map.ScrollWheelZoom=o.Handler.extend({addHooks:function(){o.DomEvent.on(this._map._container,"mousewheel",this._onWheelScroll,this),this._delta=0},removeHooks:function(){o.DomEvent.off(this._map._container,"mousewheel",this._onWheelScroll,this)},_onWheelScroll:function(t){var e=o.DomEvent.getWheelDelta(t),i=this._map.options.wheelDebounceTime;this._delta+=e,this._lastMousePos=this._map.mouseEventToContainerPoint(t),this._startTime||(this._startTime=+new Date);var n=Math.max(i-(+new Date-this._startTime),0);clearTimeout(this._timer),this._timer=setTimeout(o.bind(this._performZoom,this),n),o.DomEvent.stop(t)},_performZoom:function(){var t=this._map,e=t.getZoom(),i=this._map.options.zoomSnap||0;t._stop();var n=this._delta/(4*this._map.options.wheelPxPerZoomLevel),o=4*Math.log(2/(1+Math.exp(-Math.abs(n))))/Math.LN2,s=i?Math.ceil(o/i)*i:o,r=t._limitZoom(e+(this._delta>0?s:-s))-e;this._delta=0,this._startTime=null,r&&("center"===t.options.scrollWheelZoom?t.setZoom(e+r):t.setZoomAround(this._lastMousePos,e+r))}}),o.Map.addInitHook("addHandler","scrollWheelZoom",o.Map.ScrollWheelZoom),o.extend(o.DomEvent,{_touchstart:o.Browser.msPointer?"MSPointerDown":o.Browser.pointer?"pointerdown":"touchstart",_touchend:o.Browser.msPointer?"MSPointerUp":o.Browser.pointer?"pointerup":"touchend",addDoubleTapListener:function(t,e,i){function n(t){var e;if(o.Browser.pointer){if(!o.Browser.edge||"mouse"===t.pointerType)return;e=o.DomEvent._pointersCount}else e=t.touches.length;if(!(e>1)){var i=Date.now(),n=i-(r||i);a=t.touches?t.touches[0]:t,h=n>0&&n<=l,r=i}}function s(t){if(h&&!a.cancelBubble){if(o.Browser.pointer){if(!o.Browser.edge||"mouse"===t.pointerType)return;var i,n,s={};for(n in a)i=a[n],s[n]=i&&i.bind?i.bind(a):i;a=s}a.type="dblclick",e(a),r=null}}var r,a,h=!1,l=250,u="_leaflet_",c=this._touchstart,d=this._touchend;return t[u+c+i]=n,t[u+d+i]=s,t[u+"dblclick"+i]=e,t.addEventListener(c,n,!1),t.addEventListener(d,s,!1),t.addEventListener("dblclick",e,!1),this},removeDoubleTapListener:function(t,e){var i="_leaflet_",n=t[i+this._touchstart+e],s=t[i+this._touchend+e],r=t[i+"dblclick"+e];return t.removeEventListener(this._touchstart,n,!1),t.removeEventListener(this._touchend,s,!1),o.Browser.edge||t.removeEventListener("dblclick",r,!1),this}}),o.extend(o.DomEvent,{POINTER_DOWN:o.Browser.msPointer?"MSPointerDown":"pointerdown",POINTER_MOVE:o.Browser.msPointer?"MSPointerMove":"pointermove",POINTER_UP:o.Browser.msPointer?"MSPointerUp":"pointerup",POINTER_CANCEL:o.Browser.msPointer?"MSPointerCancel":"pointercancel",TAG_WHITE_LIST:["INPUT","SELECT","OPTION"],_pointers:{},_pointersCount:0,addPointerListener:function(t,e,i,n){return"touchstart"===e?this._addPointerStart(t,i,n):"touchmove"===e?this._addPointerMove(t,i,n):"touchend"===e&&this._addPointerEnd(t,i,n),this},removePointerListener:function(t,e,i){var n=t["_leaflet_"+e+i];return"touchstart"===e?t.removeEventListener(this.POINTER_DOWN,n,!1):"touchmove"===e?t.removeEventListener(this.POINTER_MOVE,n,!1):"touchend"===e&&(t.removeEventListener(this.POINTER_UP,n,!1),t.removeEventListener(this.POINTER_CANCEL,n,!1)),this},_addPointerStart:function(t,i,n){var s=o.bind(function(t){if("mouse"!==t.pointerType&&t.MSPOINTER_TYPE_MOUSE&&t.pointerType!==t.MSPOINTER_TYPE_MOUSE){if(!(this.TAG_WHITE_LIST.indexOf(t.target.tagName)<0))return;o.DomEvent.preventDefault(t)}this._handlePointer(t,i)},this);if(t["_leaflet_touchstart"+n]=s,t.addEventListener(this.POINTER_DOWN,s,!1),!this._pointerDocListener){var r=o.bind(this._globalPointerUp,this);e.documentElement.addEventListener(this.POINTER_DOWN,o.bind(this._globalPointerDown,this),!0),e.documentElement.addEventListener(this.POINTER_MOVE,o.bind(this._globalPointerMove,this),!0),e.documentElement.addEventListener(this.POINTER_UP,r,!0),e.documentElement.addEventListener(this.POINTER_CANCEL,r,!0),this._pointerDocListener=!0}},_globalPointerDown:function(t){this._pointers[t.pointerId]=t,this._pointersCount++},_globalPointerMove:function(t){this._pointers[t.pointerId]&&(this._pointers[t.pointerId]=t)},_globalPointerUp:function(t){delete this._pointers[t.pointerId],this._pointersCount--},_handlePointer:function(t,e){t.touches=[];for(var i in this._pointers)t.touches.push(this._pointers[i]);t.changedTouches=[t],e(t)},_addPointerMove:function(t,e,i){var n=o.bind(function(t){(t.pointerType!==t.MSPOINTER_TYPE_MOUSE&&"mouse"!==t.pointerType||0!==t.buttons)&&this._handlePointer(t,e)},this);t["_leaflet_touchmove"+i]=n,t.addEventListener(this.POINTER_MOVE,n,!1)},_addPointerEnd:function(t,e,i){var n=o.bind(function(t){this._handlePointer(t,e)},this);t["_leaflet_touchend"+i]=n,t.addEventListener(this.POINTER_UP,n,!1),t.addEventListener(this.POINTER_CANCEL,n,!1)}}),o.Map.mergeOptions({touchZoom:o.Browser.touch&&!o.Browser.android23,bounceAtZoomLimits:!0}),o.Map.TouchZoom=o.Handler.extend({addHooks:function(){o.DomUtil.addClass(this._map._container,"leaflet-touch-zoom"),o.DomEvent.on(this._map._container,"touchstart",this._onTouchStart,this)},removeHooks:function(){o.DomUtil.removeClass(this._map._container,"leaflet-touch-zoom"),o.DomEvent.off(this._map._container,"touchstart",this._onTouchStart,this)},_onTouchStart:function(t){var i=this._map;if(t.touches&&2===t.touches.length&&!i._animatingZoom&&!this._zooming){var n=i.mouseEventToContainerPoint(t.touches[0]),s=i.mouseEventToContainerPoint(t.touches[1]);this._centerPoint=i.getSize()._divideBy(2),this._startLatLng=i.containerPointToLatLng(this._centerPoint),"center"!==i.options.touchZoom&&(this._pinchStartLatLng=i.containerPointToLatLng(n.add(s)._divideBy(2))),this._startDist=n.distanceTo(s),this._startZoom=i.getZoom(),this._moved=!1,this._zooming=!0,i._stop(),o.DomEvent.on(e,"touchmove",this._onTouchMove,this).on(e,"touchend",this._onTouchEnd,this),o.DomEvent.preventDefault(t)}},_onTouchMove:function(t){if(t.touches&&2===t.touches.length&&this._zooming){var e=this._map,i=e.mouseEventToContainerPoint(t.touches[0]),n=e.mouseEventToContainerPoint(t.touches[1]),s=i.distanceTo(n)/this._startDist;if(this._zoom=e.getScaleZoom(s,this._startZoom),!e.options.bounceAtZoomLimits&&(this._zoom<e.getMinZoom()&&s<1||this._zoom>e.getMaxZoom()&&s>1)&&(this._zoom=e._limitZoom(this._zoom)),"center"===e.options.touchZoom){if(this._center=this._startLatLng,1===s)return}else{var r=i._add(n)._divideBy(2)._subtract(this._centerPoint);if(1===s&&0===r.x&&0===r.y)return;this._center=e.unproject(e.project(this._pinchStartLatLng,this._zoom).subtract(r),this._zoom)}this._moved||(e._moveStart(!0),this._moved=!0),o.Util.cancelAnimFrame(this._animRequest);var a=o.bind(e._move,e,this._center,this._zoom,{pinch:!0,round:!1});this._animRequest=o.Util.requestAnimFrame(a,this,!0),o.DomEvent.preventDefault(t)}},_onTouchEnd:function(){return this._moved&&this._zooming?(this._zooming=!1,o.Util.cancelAnimFrame(this._animRequest),o.DomEvent.off(e,"touchmove",this._onTouchMove).off(e,"touchend",this._onTouchEnd),void(this._map.options.zoomAnimation?this._map._animateZoom(this._center,this._map._limitZoom(this._zoom),!0,this._map.options.zoomSnap):this._map._resetView(this._center,this._map._limitZoom(this._zoom)))):void(this._zooming=!1)}}),o.Map.addInitHook("addHandler","touchZoom",o.Map.TouchZoom),o.Map.mergeOptions({tap:!0,tapTolerance:15}),o.Map.Tap=o.Handler.extend({addHooks:function(){o.DomEvent.on(this._map._container,"touchstart",this._onDown,this)},removeHooks:function(){o.DomEvent.off(this._map._container,"touchstart",this._onDown,this)},_onDown:function(t){if(t.touches){if(o.DomEvent.preventDefault(t),this._fireClick=!0,t.touches.length>1)return this._fireClick=!1,void clearTimeout(this._holdTimeout);var i=t.touches[0],n=i.target;this._startPos=this._newPos=new o.Point(i.clientX,i.clientY),n.tagName&&"a"===n.tagName.toLowerCase()&&o.DomUtil.addClass(n,"leaflet-active"),this._holdTimeout=setTimeout(o.bind(function(){this._isTapValid()&&(this._fireClick=!1,this._onUp(),this._simulateEvent("contextmenu",i))},this),1e3),this._simulateEvent("mousedown",i),o.DomEvent.on(e,{touchmove:this._onMove,touchend:this._onUp},this)}},_onUp:function(t){if(clearTimeout(this._holdTimeout),o.DomEvent.off(e,{touchmove:this._onMove,touchend:this._onUp},this),this._fireClick&&t&&t.changedTouches){var i=t.changedTouches[0],n=i.target;n&&n.tagName&&"a"===n.tagName.toLowerCase()&&o.DomUtil.removeClass(n,"leaflet-active"),this._simulateEvent("mouseup",i),this._isTapValid()&&this._simulateEvent("click",i)}},_isTapValid:function(){return this._newPos.distanceTo(this._startPos)<=this._map.options.tapTolerance},_onMove:function(t){var e=t.touches[0];this._newPos=new o.Point(e.clientX,e.clientY),
9
- this._simulateEvent("mousemove",e)},_simulateEvent:function(i,n){var o=e.createEvent("MouseEvents");o._simulated=!0,n.target._simulatedClick=!0,o.initMouseEvent(i,!0,!0,t,1,n.screenX,n.screenY,n.clientX,n.clientY,!1,!1,!1,!1,0,null),n.target.dispatchEvent(o)}}),o.Browser.touch&&!o.Browser.pointer&&o.Map.addInitHook("addHandler","tap",o.Map.Tap),o.Map.mergeOptions({boxZoom:!0}),o.Map.BoxZoom=o.Handler.extend({initialize:function(t){this._map=t,this._container=t._container,this._pane=t._panes.overlayPane},addHooks:function(){o.DomEvent.on(this._container,"mousedown",this._onMouseDown,this)},removeHooks:function(){o.DomEvent.off(this._container,"mousedown",this._onMouseDown,this)},moved:function(){return this._moved},_resetState:function(){this._moved=!1},_onMouseDown:function(t){return!(!t.shiftKey||1!==t.which&&1!==t.button)&&(this._resetState(),o.DomUtil.disableTextSelection(),o.DomUtil.disableImageDrag(),this._startPoint=this._map.mouseEventToContainerPoint(t),void o.DomEvent.on(e,{contextmenu:o.DomEvent.stop,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this))},_onMouseMove:function(t){this._moved||(this._moved=!0,this._box=o.DomUtil.create("div","leaflet-zoom-box",this._container),o.DomUtil.addClass(this._container,"leaflet-crosshair"),this._map.fire("boxzoomstart")),this._point=this._map.mouseEventToContainerPoint(t);var e=new o.Bounds(this._point,this._startPoint),i=e.getSize();o.DomUtil.setPosition(this._box,e.min),this._box.style.width=i.x+"px",this._box.style.height=i.y+"px"},_finish:function(){this._moved&&(o.DomUtil.remove(this._box),o.DomUtil.removeClass(this._container,"leaflet-crosshair")),o.DomUtil.enableTextSelection(),o.DomUtil.enableImageDrag(),o.DomEvent.off(e,{contextmenu:o.DomEvent.stop,mousemove:this._onMouseMove,mouseup:this._onMouseUp,keydown:this._onKeyDown},this)},_onMouseUp:function(t){if((1===t.which||1===t.button)&&(this._finish(),this._moved)){setTimeout(o.bind(this._resetState,this),0);var e=new o.LatLngBounds(this._map.containerPointToLatLng(this._startPoint),this._map.containerPointToLatLng(this._point));this._map.fitBounds(e).fire("boxzoomend",{boxZoomBounds:e})}},_onKeyDown:function(t){27===t.keyCode&&this._finish()}}),o.Map.addInitHook("addHandler","boxZoom",o.Map.BoxZoom),o.Map.mergeOptions({keyboard:!0,keyboardPanDelta:80}),o.Map.Keyboard=o.Handler.extend({keyCodes:{left:[37],right:[39],down:[40],up:[38],zoomIn:[187,107,61,171],zoomOut:[189,109,54,173]},initialize:function(t){this._map=t,this._setPanDelta(t.options.keyboardPanDelta),this._setZoomDelta(t.options.zoomDelta)},addHooks:function(){var t=this._map._container;t.tabIndex<=0&&(t.tabIndex="0"),o.DomEvent.on(t,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.on({focus:this._addHooks,blur:this._removeHooks},this)},removeHooks:function(){this._removeHooks(),o.DomEvent.off(this._map._container,{focus:this._onFocus,blur:this._onBlur,mousedown:this._onMouseDown},this),this._map.off({focus:this._addHooks,blur:this._removeHooks},this)},_onMouseDown:function(){if(!this._focused){var i=e.body,n=e.documentElement,o=i.scrollTop||n.scrollTop,s=i.scrollLeft||n.scrollLeft;this._map._container.focus(),t.scrollTo(s,o)}},_onFocus:function(){this._focused=!0,this._map.fire("focus")},_onBlur:function(){this._focused=!1,this._map.fire("blur")},_setPanDelta:function(t){var e,i,n=this._panKeys={},o=this.keyCodes;for(e=0,i=o.left.length;e<i;e++)n[o.left[e]]=[-1*t,0];for(e=0,i=o.right.length;e<i;e++)n[o.right[e]]=[t,0];for(e=0,i=o.down.length;e<i;e++)n[o.down[e]]=[0,t];for(e=0,i=o.up.length;e<i;e++)n[o.up[e]]=[0,-1*t]},_setZoomDelta:function(t){var e,i,n=this._zoomKeys={},o=this.keyCodes;for(e=0,i=o.zoomIn.length;e<i;e++)n[o.zoomIn[e]]=t;for(e=0,i=o.zoomOut.length;e<i;e++)n[o.zoomOut[e]]=-t},_addHooks:function(){o.DomEvent.on(e,"keydown",this._onKeyDown,this)},_removeHooks:function(){o.DomEvent.off(e,"keydown",this._onKeyDown,this)},_onKeyDown:function(t){if(!(t.altKey||t.ctrlKey||t.metaKey)){var e,i=t.keyCode,n=this._map;if(i in this._panKeys){if(n._panAnim&&n._panAnim._inProgress)return;e=this._panKeys[i],t.shiftKey&&(e=o.point(e).multiplyBy(3)),n.panBy(e),n.options.maxBounds&&n.panInsideBounds(n.options.maxBounds)}else if(i in this._zoomKeys)n.setZoom(n.getZoom()+(t.shiftKey?3:1)*this._zoomKeys[i]);else{if(27!==i)return;n.closePopup()}o.DomEvent.stop(t)}}}),o.Map.addInitHook("addHandler","keyboard",o.Map.Keyboard),o.Handler.MarkerDrag=o.Handler.extend({initialize:function(t){this._marker=t},addHooks:function(){var t=this._marker._icon;this._draggable||(this._draggable=new o.Draggable(t,t,!0)),this._draggable.on({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this).enable(),o.DomUtil.addClass(t,"leaflet-marker-draggable")},removeHooks:function(){this._draggable.off({dragstart:this._onDragStart,drag:this._onDrag,dragend:this._onDragEnd},this).disable(),this._marker._icon&&o.DomUtil.removeClass(this._marker._icon,"leaflet-marker-draggable")},moved:function(){return this._draggable&&this._draggable._moved},_onDragStart:function(){this._oldLatLng=this._marker.getLatLng(),this._marker.closePopup().fire("movestart").fire("dragstart")},_onDrag:function(t){var e=this._marker,i=e._shadow,n=o.DomUtil.getPosition(e._icon),s=e._map.layerPointToLatLng(n);i&&o.DomUtil.setPosition(i,n),e._latlng=s,t.latlng=s,t.oldLatLng=this._oldLatLng,e.fire("move",t).fire("drag",t)},_onDragEnd:function(t){delete this._oldLatLng,this._marker.fire("moveend").fire("dragend",t)}}),o.Control=o.Class.extend({options:{position:"topright"},initialize:function(t){o.setOptions(this,t)},getPosition:function(){return this.options.position},setPosition:function(t){var e=this._map;return e&&e.removeControl(this),this.options.position=t,e&&e.addControl(this),this},getContainer:function(){return this._container},addTo:function(t){this.remove(),this._map=t;var e=this._container=this.onAdd(t),i=this.getPosition(),n=t._controlCorners[i];return o.DomUtil.addClass(e,"leaflet-control"),i.indexOf("bottom")!==-1?n.insertBefore(e,n.firstChild):n.appendChild(e),this},remove:function(){return this._map?(o.DomUtil.remove(this._container),this.onRemove&&this.onRemove(this._map),this._map=null,this):this},_refocusOnMap:function(t){this._map&&t&&t.screenX>0&&t.screenY>0&&this._map.getContainer().focus()}}),o.control=function(t){return new o.Control(t)},o.Map.include({addControl:function(t){return t.addTo(this),this},removeControl:function(t){return t.remove(),this},_initControlPos:function(){function t(t,s){var r=i+t+" "+i+s;e[t+s]=o.DomUtil.create("div",r,n)}var e=this._controlCorners={},i="leaflet-",n=this._controlContainer=o.DomUtil.create("div",i+"control-container",this._container);t("top","left"),t("top","right"),t("bottom","left"),t("bottom","right")},_clearControlPos:function(){o.DomUtil.remove(this._controlContainer)}}),o.Control.Zoom=o.Control.extend({options:{position:"topleft",zoomInText:"+",zoomInTitle:"Zoom in",zoomOutText:"-",zoomOutTitle:"Zoom out"},onAdd:function(t){var e="leaflet-control-zoom",i=o.DomUtil.create("div",e+" leaflet-bar"),n=this.options;return this._zoomInButton=this._createButton(n.zoomInText,n.zoomInTitle,e+"-in",i,this._zoomIn),this._zoomOutButton=this._createButton(n.zoomOutText,n.zoomOutTitle,e+"-out",i,this._zoomOut),this._updateDisabled(),t.on("zoomend zoomlevelschange",this._updateDisabled,this),i},onRemove:function(t){t.off("zoomend zoomlevelschange",this._updateDisabled,this)},disable:function(){return this._disabled=!0,this._updateDisabled(),this},enable:function(){return this._disabled=!1,this._updateDisabled(),this},_zoomIn:function(t){!this._disabled&&this._map._zoom<this._map.getMaxZoom()&&this._map.zoomIn(this._map.options.zoomDelta*(t.shiftKey?3:1))},_zoomOut:function(t){!this._disabled&&this._map._zoom>this._map.getMinZoom()&&this._map.zoomOut(this._map.options.zoomDelta*(t.shiftKey?3:1))},_createButton:function(t,e,i,n,s){var r=o.DomUtil.create("a",i,n);return r.innerHTML=t,r.href="#",r.title=e,r.setAttribute("role","button"),r.setAttribute("aria-label",e),o.DomEvent.on(r,"mousedown dblclick",o.DomEvent.stopPropagation).on(r,"click",o.DomEvent.stop).on(r,"click",s,this).on(r,"click",this._refocusOnMap,this),r},_updateDisabled:function(){var t=this._map,e="leaflet-disabled";o.DomUtil.removeClass(this._zoomInButton,e),o.DomUtil.removeClass(this._zoomOutButton,e),(this._disabled||t._zoom===t.getMinZoom())&&o.DomUtil.addClass(this._zoomOutButton,e),(this._disabled||t._zoom===t.getMaxZoom())&&o.DomUtil.addClass(this._zoomInButton,e)}}),o.Map.mergeOptions({zoomControl:!0}),o.Map.addInitHook(function(){this.options.zoomControl&&(this.zoomControl=new o.Control.Zoom,this.addControl(this.zoomControl))}),o.control.zoom=function(t){return new o.Control.Zoom(t)},o.Control.Attribution=o.Control.extend({options:{position:"bottomright",prefix:'<a href="http://leafletjs.com" title="A JS library for interactive maps">Leaflet</a>'},initialize:function(t){o.setOptions(this,t),this._attributions={}},onAdd:function(t){t.attributionControl=this,this._container=o.DomUtil.create("div","leaflet-control-attribution"),o.DomEvent&&o.DomEvent.disableClickPropagation(this._container);for(var e in t._layers)t._layers[e].getAttribution&&this.addAttribution(t._layers[e].getAttribution());return this._update(),this._container},setPrefix:function(t){return this.options.prefix=t,this._update(),this},addAttribution:function(t){return t?(this._attributions[t]||(this._attributions[t]=0),this._attributions[t]++,this._update(),this):this},removeAttribution:function(t){return t?(this._attributions[t]&&(this._attributions[t]--,this._update()),this):this},_update:function(){if(this._map){var t=[];for(var e in this._attributions)this._attributions[e]&&t.push(e);var i=[];this.options.prefix&&i.push(this.options.prefix),t.length&&i.push(t.join(", ")),this._container.innerHTML=i.join(" | ")}}}),o.Map.mergeOptions({attributionControl:!0}),o.Map.addInitHook(function(){this.options.attributionControl&&(new o.Control.Attribution).addTo(this)}),o.control.attribution=function(t){return new o.Control.Attribution(t)},o.Control.Scale=o.Control.extend({options:{position:"bottomleft",maxWidth:100,metric:!0,imperial:!0},onAdd:function(t){var e="leaflet-control-scale",i=o.DomUtil.create("div",e),n=this.options;return this._addScales(n,e+"-line",i),t.on(n.updateWhenIdle?"moveend":"move",this._update,this),t.whenReady(this._update,this),i},onRemove:function(t){t.off(this.options.updateWhenIdle?"moveend":"move",this._update,this)},_addScales:function(t,e,i){t.metric&&(this._mScale=o.DomUtil.create("div",e,i)),t.imperial&&(this._iScale=o.DomUtil.create("div",e,i))},_update:function(){var t=this._map,e=t.getSize().y/2,i=t.distance(t.containerPointToLatLng([0,e]),t.containerPointToLatLng([this.options.maxWidth,e]));this._updateScales(i)},_updateScales:function(t){this.options.metric&&t&&this._updateMetric(t),this.options.imperial&&t&&this._updateImperial(t)},_updateMetric:function(t){var e=this._getRoundNum(t),i=e<1e3?e+" m":e/1e3+" km";this._updateScale(this._mScale,i,e/t)},_updateImperial:function(t){var e,i,n,o=3.2808399*t;o>5280?(e=o/5280,i=this._getRoundNum(e),this._updateScale(this._iScale,i+" mi",i/e)):(n=this._getRoundNum(o),this._updateScale(this._iScale,n+" ft",n/o))},_updateScale:function(t,e,i){t.style.width=Math.round(this.options.maxWidth*i)+"px",t.innerHTML=e},_getRoundNum:function(t){var e=Math.pow(10,(Math.floor(t)+"").length-1),i=t/e;return i=i>=10?10:i>=5?5:i>=3?3:i>=2?2:1,e*i}}),o.control.scale=function(t){return new o.Control.Scale(t)},o.Control.Layers=o.Control.extend({options:{collapsed:!0,position:"topright",autoZIndex:!0,hideSingleBase:!1,sortLayers:!1,sortFunction:function(t,e,i,n){return i<n?-1:n<i?1:0}},initialize:function(t,e,i){o.setOptions(this,i),this._layers=[],this._lastZIndex=0,this._handlingClick=!1;for(var n in t)this._addLayer(t[n],n);for(n in e)this._addLayer(e[n],n,!0)},onAdd:function(t){return this._initLayout(),this._update(),this._map=t,t.on("zoomend",this._checkDisabledLayers,this),this._container},onRemove:function(){this._map.off("zoomend",this._checkDisabledLayers,this);for(var t=0;t<this._layers.length;t++)this._layers[t].layer.off("add remove",this._onLayerChange,this)},addBaseLayer:function(t,e){return this._addLayer(t,e),this._map?this._update():this},addOverlay:function(t,e){return this._addLayer(t,e,!0),this._map?this._update():this},removeLayer:function(t){t.off("add remove",this._onLayerChange,this);var e=this._getLayer(o.stamp(t));return e&&this._layers.splice(this._layers.indexOf(e),1),this._map?this._update():this},expand:function(){o.DomUtil.addClass(this._container,"leaflet-control-layers-expanded"),this._form.style.height=null;var t=this._map.getSize().y-(this._container.offsetTop+50);return t<this._form.clientHeight?(o.DomUtil.addClass(this._form,"leaflet-control-layers-scrollbar"),this._form.style.height=t+"px"):o.DomUtil.removeClass(this._form,"leaflet-control-layers-scrollbar"),this._checkDisabledLayers(),this},collapse:function(){return o.DomUtil.removeClass(this._container,"leaflet-control-layers-expanded"),this},_initLayout:function(){var t="leaflet-control-layers",e=this._container=o.DomUtil.create("div",t),i=this.options.collapsed;e.setAttribute("aria-haspopup",!0),o.DomEvent.disableClickPropagation(e),o.Browser.touch||o.DomEvent.disableScrollPropagation(e);var n=this._form=o.DomUtil.create("form",t+"-list");i&&(this._map.on("click",this.collapse,this),o.Browser.android||o.DomEvent.on(e,{mouseenter:this.expand,mouseleave:this.collapse},this));var s=this._layersLink=o.DomUtil.create("a",t+"-toggle",e);s.href="#",s.title="Layers",o.Browser.touch?o.DomEvent.on(s,"click",o.DomEvent.stop).on(s,"click",this.expand,this):o.DomEvent.on(s,"focus",this.expand,this),o.DomEvent.on(n,"click",function(){setTimeout(o.bind(this._onInputClick,this),0)},this),i||this.expand(),this._baseLayersList=o.DomUtil.create("div",t+"-base",n),this._separator=o.DomUtil.create("div",t+"-separator",n),this._overlaysList=o.DomUtil.create("div",t+"-overlays",n),e.appendChild(n)},_getLayer:function(t){for(var e=0;e<this._layers.length;e++)if(this._layers[e]&&o.stamp(this._layers[e].layer)===t)return this._layers[e]},_addLayer:function(t,e,i){t.on("add remove",this._onLayerChange,this),this._layers.push({layer:t,name:e,overlay:i}),this.options.sortLayers&&this._layers.sort(o.bind(function(t,e){return this.options.sortFunction(t.layer,e.layer,t.name,e.name)},this)),this.options.autoZIndex&&t.setZIndex&&(this._lastZIndex++,t.setZIndex(this._lastZIndex))},_update:function(){if(!this._container)return this;o.DomUtil.empty(this._baseLayersList),o.DomUtil.empty(this._overlaysList);var t,e,i,n,s=0;for(i=0;i<this._layers.length;i++)n=this._layers[i],this._addItem(n),e=e||n.overlay,t=t||!n.overlay,s+=n.overlay?0:1;return this.options.hideSingleBase&&(t=t&&s>1,this._baseLayersList.style.display=t?"":"none"),this._separator.style.display=e&&t?"":"none",this},_onLayerChange:function(t){this._handlingClick||this._update();var e=this._getLayer(o.stamp(t.target)),i=e.overlay?"add"===t.type?"overlayadd":"overlayremove":"add"===t.type?"baselayerchange":null;i&&this._map.fire(i,e)},_createRadioElement:function(t,i){var n='<input type="radio" class="leaflet-control-layers-selector" name="'+t+'"'+(i?' checked="checked"':"")+"/>",o=e.createElement("div");return o.innerHTML=n,o.firstChild},_addItem:function(t){var i,n=e.createElement("label"),s=this._map.hasLayer(t.layer);t.overlay?(i=e.createElement("input"),i.type="checkbox",i.className="leaflet-control-layers-selector",i.defaultChecked=s):i=this._createRadioElement("leaflet-base-layers",s),i.layerId=o.stamp(t.layer),o.DomEvent.on(i,"click",this._onInputClick,this);var r=e.createElement("span");r.innerHTML=" "+t.name;var a=e.createElement("div");n.appendChild(a),a.appendChild(i),a.appendChild(r);var h=t.overlay?this._overlaysList:this._baseLayersList;return h.appendChild(n),this._checkDisabledLayers(),n},_onInputClick:function(){var t,e,i,n=this._form.getElementsByTagName("input"),o=[],s=[];this._handlingClick=!0;for(var r=n.length-1;r>=0;r--)t=n[r],e=this._getLayer(t.layerId).layer,i=this._map.hasLayer(e),t.checked&&!i?o.push(e):!t.checked&&i&&s.push(e);for(r=0;r<s.length;r++)this._map.removeLayer(s[r]);for(r=0;r<o.length;r++)this._map.addLayer(o[r]);this._handlingClick=!1,this._refocusOnMap()},_checkDisabledLayers:function(){for(var t,e,n=this._form.getElementsByTagName("input"),o=this._map.getZoom(),s=n.length-1;s>=0;s--)t=n[s],e=this._getLayer(t.layerId).layer,t.disabled=e.options.minZoom!==i&&o<e.options.minZoom||e.options.maxZoom!==i&&o>e.options.maxZoom},_expand:function(){return this.expand()},_collapse:function(){return this.collapse()}}),o.control.layers=function(t,e,i){return new o.Control.Layers(t,e,i)}}(window,document);
@@ -1,7 +0,0 @@
1
- /*
2
- Leaflet.markercluster, Provides Beautiful Animated Marker Clustering functionality for Leaflet, a JS library for interactive maps.
3
- https://github.com/Leaflet/Leaflet.markercluster
4
- (c) 2012-2013, Dave Leaver, smartrak
5
- */
6
- !function(e,t,i){L.MarkerClusterGroup=L.FeatureGroup.extend({options:{maxClusterRadius:80,iconCreateFunction:null,spiderfyOnMaxZoom:!0,showCoverageOnHover:!0,zoomToBoundsOnClick:!0,singleMarkerMode:!1,disableClusteringAtZoom:null,removeOutsideVisibleBounds:!0,animate:!0,animateAddingMarkers:!1,spiderfyDistanceMultiplier:1,spiderLegPolylineOptions:{weight:1.5,color:"#222",opacity:.5},chunkedLoading:!1,chunkInterval:200,chunkDelay:50,chunkProgress:null,polygonOptions:{}},initialize:function(e){L.Util.setOptions(this,e),this.options.iconCreateFunction||(this.options.iconCreateFunction=this._defaultIconCreateFunction),this._featureGroup=L.featureGroup(),this._featureGroup.addEventParent(this),this._nonPointGroup=L.featureGroup(),this._nonPointGroup.addEventParent(this),this._inZoomAnimation=0,this._needsClustering=[],this._needsRemoving=[],this._currentShownBounds=null,this._queue=[],this._childMarkerEventHandlers={dragstart:this._childMarkerDragStart,move:this._childMarkerMoved,dragend:this._childMarkerDragEnd};var t=L.DomUtil.TRANSITION&&this.options.animate;L.extend(this,t?this._withAnimation:this._noAnimation),this._markerCluster=t?L.MarkerCluster:L.MarkerClusterNonAnimated},addLayer:function(e){if(e instanceof L.LayerGroup)return this.addLayers([e]);if(!e.getLatLng)return this._nonPointGroup.addLayer(e),this.fire("layeradd",{layer:e}),this;if(!this._map)return this._needsClustering.push(e),this.fire("layeradd",{layer:e}),this;if(this.hasLayer(e))return this;this._unspiderfy&&this._unspiderfy(),this._addLayer(e,this._maxZoom),this.fire("layeradd",{layer:e}),this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons();var t=e,i=this._zoom;if(e.__parent)for(;t.__parent._zoom>=i;)t=t.__parent;return this._currentShownBounds.contains(t.getLatLng())&&(this.options.animateAddingMarkers?this._animationAddLayer(e,t):this._animationAddLayerNonAnimated(e,t)),this},removeLayer:function(e){return e instanceof L.LayerGroup?this.removeLayers([e]):e.getLatLng?this._map?e.__parent?(this._unspiderfy&&(this._unspiderfy(),this._unspiderfyLayer(e)),this._removeLayer(e,!0),this.fire("layerremove",{layer:e}),this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),e.off(this._childMarkerEventHandlers,this),this._featureGroup.hasLayer(e)&&(this._featureGroup.removeLayer(e),e.clusterShow&&e.clusterShow()),this):this:(!this._arraySplice(this._needsClustering,e)&&this.hasLayer(e)&&this._needsRemoving.push({layer:e,latlng:e._latlng}),this.fire("layerremove",{layer:e}),this):(this._nonPointGroup.removeLayer(e),this.fire("layerremove",{layer:e}),this)},addLayers:function(e,t){if(!L.Util.isArray(e))return this.addLayer(e);var i,n=this._featureGroup,r=this._nonPointGroup,s=this.options.chunkedLoading,o=this.options.chunkInterval,a=this.options.chunkProgress,h=e.length,l=0,u=!0;if(this._map){var _=(new Date).getTime(),d=L.bind(function(){for(var c=(new Date).getTime();h>l;l++){if(s&&0===l%200){var p=(new Date).getTime()-c;if(p>o)break}if(i=e[l],i instanceof L.LayerGroup)u&&(e=e.slice(),u=!1),this._extractNonGroupLayers(i,e),h=e.length;else if(i.getLatLng){if(!this.hasLayer(i)&&(this._addLayer(i,this._maxZoom),t||this.fire("layeradd",{layer:i}),i.__parent&&2===i.__parent.getChildCount())){var f=i.__parent.getAllChildMarkers(),m=f[0]===i?f[1]:f[0];n.removeLayer(m)}}else r.addLayer(i),t||this.fire("layeradd",{layer:i})}a&&a(l,h,(new Date).getTime()-_),l===h?(this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),this._topClusterLevel._recursivelyAddChildrenToMap(null,this._zoom,this._currentShownBounds)):setTimeout(d,this.options.chunkDelay)},this);d()}else for(var c=this._needsClustering;h>l;l++)i=e[l],i instanceof L.LayerGroup?(u&&(e=e.slice(),u=!1),this._extractNonGroupLayers(i,e),h=e.length):i.getLatLng?this.hasLayer(i)||c.push(i):r.addLayer(i);return this},removeLayers:function(e){var t,i,n=e.length,r=this._featureGroup,s=this._nonPointGroup,o=!0;if(!this._map){for(t=0;n>t;t++)i=e[t],i instanceof L.LayerGroup?(o&&(e=e.slice(),o=!1),this._extractNonGroupLayers(i,e),n=e.length):(this._arraySplice(this._needsClustering,i),s.removeLayer(i),this.hasLayer(i)&&this._needsRemoving.push({layer:i,latlng:i._latlng}),this.fire("layerremove",{layer:i}));return this}if(this._unspiderfy){this._unspiderfy();var a=e.slice(),h=n;for(t=0;h>t;t++)i=a[t],i instanceof L.LayerGroup?(this._extractNonGroupLayers(i,a),h=a.length):this._unspiderfyLayer(i)}for(t=0;n>t;t++)i=e[t],i instanceof L.LayerGroup?(o&&(e=e.slice(),o=!1),this._extractNonGroupLayers(i,e),n=e.length):i.__parent?(this._removeLayer(i,!0,!0),this.fire("layerremove",{layer:i}),r.hasLayer(i)&&(r.removeLayer(i),i.clusterShow&&i.clusterShow())):(s.removeLayer(i),this.fire("layerremove",{layer:i}));return this._topClusterLevel._recalculateBounds(),this._refreshClustersIcons(),this._topClusterLevel._recursivelyAddChildrenToMap(null,this._zoom,this._currentShownBounds),this},clearLayers:function(){return this._map||(this._needsClustering=[],delete this._gridClusters,delete this._gridUnclustered),this._noanimationUnspiderfy&&this._noanimationUnspiderfy(),this._featureGroup.clearLayers(),this._nonPointGroup.clearLayers(),this.eachLayer(function(e){e.off(this._childMarkerEventHandlers,this),delete e.__parent},this),this._map&&this._generateInitialClusters(),this},getBounds:function(){var e=new L.LatLngBounds;this._topClusterLevel&&e.extend(this._topClusterLevel._bounds);for(var t=this._needsClustering.length-1;t>=0;t--)e.extend(this._needsClustering[t].getLatLng());return e.extend(this._nonPointGroup.getBounds()),e},eachLayer:function(e,t){var i,n,r,s=this._needsClustering.slice(),o=this._needsRemoving;for(this._topClusterLevel&&this._topClusterLevel.getAllChildMarkers(s),n=s.length-1;n>=0;n--){for(i=!0,r=o.length-1;r>=0;r--)if(o[r].layer===s[n]){i=!1;break}i&&e.call(t,s[n])}this._nonPointGroup.eachLayer(e,t)},getLayers:function(){var e=[];return this.eachLayer(function(t){e.push(t)}),e},getLayer:function(e){var t=null;return e=parseInt(e,10),this.eachLayer(function(i){L.stamp(i)===e&&(t=i)}),t},hasLayer:function(e){if(!e)return!1;var t,i=this._needsClustering;for(t=i.length-1;t>=0;t--)if(i[t]===e)return!0;for(i=this._needsRemoving,t=i.length-1;t>=0;t--)if(i[t].layer===e)return!1;return!(!e.__parent||e.__parent._group!==this)||this._nonPointGroup.hasLayer(e)},zoomToShowLayer:function(e,t){"function"!=typeof t&&(t=function(){});var i=function(){!e._icon&&!e.__parent._icon||this._inZoomAnimation||(this._map.off("moveend",i,this),this.off("animationend",i,this),e._icon?t():e.__parent._icon&&(this.once("spiderfied",t,this),e.__parent.spiderfy()))};e._icon&&this._map.getBounds().contains(e.getLatLng())?t():e.__parent._zoom<Math.round(this._map._zoom)?(this._map.on("moveend",i,this),this._map.panTo(e.getLatLng())):(this._map.on("moveend",i,this),this.on("animationend",i,this),e.__parent.zoomToBounds())},onAdd:function(e){this._map=e;var t,i,n;if(!isFinite(this._map.getMaxZoom()))throw"Map has no maxZoom specified";for(this._featureGroup.addTo(e),this._nonPointGroup.addTo(e),this._gridClusters||this._generateInitialClusters(),this._maxLat=e.options.crs.projection.MAX_LATITUDE,t=0,i=this._needsRemoving.length;i>t;t++)n=this._needsRemoving[t],n.newlatlng=n.layer._latlng,n.layer._latlng=n.latlng;for(t=0,i=this._needsRemoving.length;i>t;t++)n=this._needsRemoving[t],this._removeLayer(n.layer,!0),n.layer._latlng=n.newlatlng;this._needsRemoving=[],this._zoom=Math.round(this._map._zoom),this._currentShownBounds=this._getExpandedVisibleBounds(),this._map.on("zoomend",this._zoomEnd,this),this._map.on("moveend",this._moveEnd,this),this._spiderfierOnAdd&&this._spiderfierOnAdd(),this._bindEvents(),i=this._needsClustering,this._needsClustering=[],this.addLayers(i,!0)},onRemove:function(e){e.off("zoomend",this._zoomEnd,this),e.off("moveend",this._moveEnd,this),this._unbindEvents(),this._map._mapPane.className=this._map._mapPane.className.replace(" leaflet-cluster-anim",""),this._spiderfierOnRemove&&this._spiderfierOnRemove(),delete this._maxLat,this._hideCoverage(),this._featureGroup.remove(),this._nonPointGroup.remove(),this._featureGroup.clearLayers(),this._map=null},getVisibleParent:function(e){for(var t=e;t&&!t._icon;)t=t.__parent;return t||null},_arraySplice:function(e,t){for(var i=e.length-1;i>=0;i--)if(e[i]===t)return e.splice(i,1),!0},_removeFromGridUnclustered:function(e,t){for(var i=this._map,n=this._gridUnclustered,r=this._map.getMinZoom();t>=r&&n[t].removeObject(e,i.project(e.getLatLng(),t));t--);},_childMarkerDragStart:function(e){e.target.__dragStart=e.target._latlng},_childMarkerMoved:function(e){if(!this._ignoreMove&&!e.target.__dragStart){var t=e.target._popup&&e.target._popup.isOpen();this._moveChild(e.target,e.oldLatLng,e.latlng),t&&e.target.openPopup()}},_moveChild:function(e,t,i){e._latlng=t,this.removeLayer(e),e._latlng=i,this.addLayer(e)},_childMarkerDragEnd:function(e){e.target.__dragStart&&this._moveChild(e.target,e.target.__dragStart,e.target._latlng),delete e.target.__dragStart},_removeLayer:function(e,t,i){var n=this._gridClusters,r=this._gridUnclustered,s=this._featureGroup,o=this._map,a=this._map.getMinZoom();t&&this._removeFromGridUnclustered(e,this._maxZoom);var h,l=e.__parent,u=l._markers;for(this._arraySplice(u,e);l&&(l._childCount--,l._boundsNeedUpdate=!0,!(l._zoom<a));)t&&l._childCount<=1?(h=l._markers[0]===e?l._markers[1]:l._markers[0],n[l._zoom].removeObject(l,o.project(l._cLatLng,l._zoom)),r[l._zoom].addObject(h,o.project(h.getLatLng(),l._zoom)),this._arraySplice(l.__parent._childClusters,l),l.__parent._markers.push(h),h.__parent=l.__parent,l._icon&&(s.removeLayer(l),i||s.addLayer(h))):l._iconNeedsUpdate=!0,l=l.__parent;delete e.__parent},_isOrIsParent:function(e,t){for(;t;){if(e===t)return!0;t=t.parentNode}return!1},fire:function(e,t,i){if(t&&t.layer instanceof L.MarkerCluster){if(t.originalEvent&&this._isOrIsParent(t.layer._icon,t.originalEvent.relatedTarget))return;e="cluster"+e}L.FeatureGroup.prototype.fire.call(this,e,t,i)},listens:function(e,t){return L.FeatureGroup.prototype.listens.call(this,e,t)||L.FeatureGroup.prototype.listens.call(this,"cluster"+e,t)},_defaultIconCreateFunction:function(e){var t=e.getChildCount(),i=" marker-cluster-";return i+=10>t?"small":100>t?"medium":"large",new L.DivIcon({html:"<div><span>"+t+"</span></div>",className:"marker-cluster"+i,iconSize:new L.Point(40,40)})},_bindEvents:function(){var e=this._map,t=this.options.spiderfyOnMaxZoom,i=this.options.showCoverageOnHover,n=this.options.zoomToBoundsOnClick;(t||n)&&this.on("clusterclick",this._zoomOrSpiderfy,this),i&&(this.on("clustermouseover",this._showCoverage,this),this.on("clustermouseout",this._hideCoverage,this),e.on("zoomend",this._hideCoverage,this))},_zoomOrSpiderfy:function(e){for(var t=e.layer,i=t;1===i._childClusters.length;)i=i._childClusters[0];i._zoom===this._maxZoom&&i._childCount===t._childCount&&this.options.spiderfyOnMaxZoom?t.spiderfy():this.options.zoomToBoundsOnClick&&t.zoomToBounds(),e.originalEvent&&13===e.originalEvent.keyCode&&this._map._container.focus()},_showCoverage:function(e){var t=this._map;this._inZoomAnimation||(this._shownPolygon&&t.removeLayer(this._shownPolygon),e.layer.getChildCount()>2&&e.layer!==this._spiderfied&&(this._shownPolygon=new L.Polygon(e.layer.getConvexHull(),this.options.polygonOptions),t.addLayer(this._shownPolygon)))},_hideCoverage:function(){this._shownPolygon&&(this._map.removeLayer(this._shownPolygon),this._shownPolygon=null)},_unbindEvents:function(){var e=this.options.spiderfyOnMaxZoom,t=this.options.showCoverageOnHover,i=this.options.zoomToBoundsOnClick,n=this._map;(e||i)&&this.off("clusterclick",this._zoomOrSpiderfy,this),t&&(this.off("clustermouseover",this._showCoverage,this),this.off("clustermouseout",this._hideCoverage,this),n.off("zoomend",this._hideCoverage,this))},_zoomEnd:function(){this._map&&(this._mergeSplitClusters(),this._zoom=Math.round(this._map._zoom),this._currentShownBounds=this._getExpandedVisibleBounds())},_moveEnd:function(){if(!this._inZoomAnimation){var e=this._getExpandedVisibleBounds();this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,this._zoom,e),this._topClusterLevel._recursivelyAddChildrenToMap(null,Math.round(this._map._zoom),e),this._currentShownBounds=e}},_generateInitialClusters:function(){var e=this._map.getMaxZoom(),t=this._map.getMinZoom(),i=this.options.maxClusterRadius,n=i;"function"!=typeof i&&(n=function(){return i}),this.options.disableClusteringAtZoom&&(e=this.options.disableClusteringAtZoom-1),this._maxZoom=e,this._gridClusters={},this._gridUnclustered={};for(var r=e;r>=t;r--)this._gridClusters[r]=new L.DistanceGrid(n(r)),this._gridUnclustered[r]=new L.DistanceGrid(n(r));this._topClusterLevel=new this._markerCluster(this,t-1)},_addLayer:function(e,t){var i,n,r=this._gridClusters,s=this._gridUnclustered,o=this._map.getMinZoom();for(this.options.singleMarkerMode&&this._overrideMarkerIcon(e),e.on(this._childMarkerEventHandlers,this);t>=o;t--){i=this._map.project(e.getLatLng(),t);var a=r[t].getNearObject(i);if(a)return a._addChild(e),e.__parent=a,void 0;if(a=s[t].getNearObject(i)){var h=a.__parent;h&&this._removeLayer(a,!1);var l=new this._markerCluster(this,t,a,e);r[t].addObject(l,this._map.project(l._cLatLng,t)),a.__parent=l,e.__parent=l;var u=l;for(n=t-1;n>h._zoom;n--)u=new this._markerCluster(this,n,u),r[n].addObject(u,this._map.project(a.getLatLng(),n));return h._addChild(u),this._removeFromGridUnclustered(a,t),void 0}s[t].addObject(e,i)}this._topClusterLevel._addChild(e),e.__parent=this._topClusterLevel},_refreshClustersIcons:function(){this._featureGroup.eachLayer(function(e){e instanceof L.MarkerCluster&&e._iconNeedsUpdate&&e._updateIcon()})},_enqueue:function(e){this._queue.push(e),this._queueTimeout||(this._queueTimeout=setTimeout(L.bind(this._processQueue,this),300))},_processQueue:function(){for(var e=0;e<this._queue.length;e++)this._queue[e].call(this);this._queue.length=0,clearTimeout(this._queueTimeout),this._queueTimeout=null},_mergeSplitClusters:function(){var e=Math.round(this._map._zoom);this._processQueue(),this._zoom<e&&this._currentShownBounds.intersects(this._getExpandedVisibleBounds())?(this._animationStart(),this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,this._zoom,this._getExpandedVisibleBounds()),this._animationZoomIn(this._zoom,e)):this._zoom>e?(this._animationStart(),this._animationZoomOut(this._zoom,e)):this._moveEnd()},_getExpandedVisibleBounds:function(){return this.options.removeOutsideVisibleBounds?L.Browser.mobile?this._checkBoundsMaxLat(this._map.getBounds()):this._checkBoundsMaxLat(this._map.getBounds().pad(1)):this._mapBoundsInfinite},_checkBoundsMaxLat:function(e){var t=this._maxLat;return t!==i&&(e.getNorth()>=t&&(e._northEast.lat=1/0),e.getSouth()<=-t&&(e._southWest.lat=-1/0)),e},_animationAddLayerNonAnimated:function(e,t){if(t===e)this._featureGroup.addLayer(e);else if(2===t._childCount){t._addToMap();var i=t.getAllChildMarkers();this._featureGroup.removeLayer(i[0]),this._featureGroup.removeLayer(i[1])}else t._updateIcon()},_extractNonGroupLayers:function(e,t){var i,n=e.getLayers(),r=0;for(t=t||[];r<n.length;r++)i=n[r],i instanceof L.LayerGroup?this._extractNonGroupLayers(i,t):t.push(i);return t},_overrideMarkerIcon:function(e){var t=e.options.icon=this.options.iconCreateFunction({getChildCount:function(){return 1},getAllChildMarkers:function(){return[e]}});return t}}),L.MarkerClusterGroup.include({_mapBoundsInfinite:new L.LatLngBounds(new L.LatLng(-1/0,-1/0),new L.LatLng(1/0,1/0))}),L.MarkerClusterGroup.include({_noAnimation:{_animationStart:function(){},_animationZoomIn:function(e,t){this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,e),this._topClusterLevel._recursivelyAddChildrenToMap(null,t,this._getExpandedVisibleBounds()),this.fire("animationend")},_animationZoomOut:function(e,t){this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,e),this._topClusterLevel._recursivelyAddChildrenToMap(null,t,this._getExpandedVisibleBounds()),this.fire("animationend")},_animationAddLayer:function(e,t){this._animationAddLayerNonAnimated(e,t)}},_withAnimation:{_animationStart:function(){this._map._mapPane.className+=" leaflet-cluster-anim",this._inZoomAnimation++},_animationZoomIn:function(e,t){var i,n=this._getExpandedVisibleBounds(),r=this._featureGroup,s=this._map.getMinZoom();this._ignoreMove=!0,this._topClusterLevel._recursively(n,e,s,function(s){var o,a=s._latlng,h=s._markers;for(n.contains(a)||(a=null),s._isSingleParent()&&e+1===t?(r.removeLayer(s),s._recursivelyAddChildrenToMap(null,t,n)):(s.clusterHide(),s._recursivelyAddChildrenToMap(a,t,n)),i=h.length-1;i>=0;i--)o=h[i],n.contains(o._latlng)||r.removeLayer(o)}),this._forceLayout(),this._topClusterLevel._recursivelyBecomeVisible(n,t),r.eachLayer(function(e){e instanceof L.MarkerCluster||!e._icon||e.clusterShow()}),this._topClusterLevel._recursively(n,e,t,function(e){e._recursivelyRestoreChildPositions(t)}),this._ignoreMove=!1,this._enqueue(function(){this._topClusterLevel._recursively(n,e,s,function(e){r.removeLayer(e),e.clusterShow()}),this._animationEnd()})},_animationZoomOut:function(e,t){this._animationZoomOutSingle(this._topClusterLevel,e-1,t),this._topClusterLevel._recursivelyAddChildrenToMap(null,t,this._getExpandedVisibleBounds()),this._topClusterLevel._recursivelyRemoveChildrenFromMap(this._currentShownBounds,e,this._getExpandedVisibleBounds())},_animationAddLayer:function(e,t){var i=this,n=this._featureGroup;n.addLayer(e),t!==e&&(t._childCount>2?(t._updateIcon(),this._forceLayout(),this._animationStart(),e._setPos(this._map.latLngToLayerPoint(t.getLatLng())),e.clusterHide(),this._enqueue(function(){n.removeLayer(e),e.clusterShow(),i._animationEnd()})):(this._forceLayout(),i._animationStart(),i._animationZoomOutSingle(t,this._map.getMaxZoom(),this._zoom)))}},_animationZoomOutSingle:function(e,t,i){var n=this._getExpandedVisibleBounds(),r=this._map.getMinZoom();e._recursivelyAnimateChildrenInAndAddSelfToMap(n,t+1,i);var s=this;this._forceLayout(),e._recursivelyBecomeVisible(n,i),this._enqueue(function(){if(1===e._childCount){var o=e._markers[0];this._ignoreMove=!0,o.setLatLng(o.getLatLng()),this._ignoreMove=!1,o.clusterShow&&o.clusterShow()}else e._recursively(n,i,r,function(e){e._recursivelyRemoveChildrenFromMap(n,t+1)});s._animationEnd()})},_animationEnd:function(){this._map&&(this._map._mapPane.className=this._map._mapPane.className.replace(" leaflet-cluster-anim","")),this._inZoomAnimation--,this.fire("animationend")},_forceLayout:function(){L.Util.falseFn(t.body.offsetWidth)}}),L.markerClusterGroup=function(e){return new L.MarkerClusterGroup(e)},L.MarkerCluster=L.Marker.extend({initialize:function(e,t,i,n){L.Marker.prototype.initialize.call(this,i?i._cLatLng||i.getLatLng():new L.LatLng(0,0),{icon:this}),this._group=e,this._zoom=t,this._markers=[],this._childClusters=[],this._childCount=0,this._iconNeedsUpdate=!0,this._boundsNeedUpdate=!0,this._bounds=new L.LatLngBounds,i&&this._addChild(i),n&&this._addChild(n)},getAllChildMarkers:function(e){e=e||[];for(var t=this._childClusters.length-1;t>=0;t--)this._childClusters[t].getAllChildMarkers(e);for(var i=this._markers.length-1;i>=0;i--)e.push(this._markers[i]);return e},getChildCount:function(){return this._childCount},zoomToBounds:function(){for(var e,t=this._childClusters.slice(),i=this._group._map,n=i.getBoundsZoom(this._bounds),r=this._zoom+1,s=i.getZoom();t.length>0&&n>r;){r++;var o=[];for(e=0;e<t.length;e++)o=o.concat(t[e]._childClusters);t=o}n>r?this._group._map.setView(this._latlng,r):s>=n?this._group._map.setView(this._latlng,s+1):this._group._map.fitBounds(this._bounds)},getBounds:function(){var e=new L.LatLngBounds;return e.extend(this._bounds),e},_updateIcon:function(){this._iconNeedsUpdate=!0,this._icon&&this.setIcon(this)},createIcon:function(){return this._iconNeedsUpdate&&(this._iconObj=this._group.options.iconCreateFunction(this),this._iconNeedsUpdate=!1),this._iconObj.createIcon()},createShadow:function(){return this._iconObj.createShadow()},_addChild:function(e,t){this._iconNeedsUpdate=!0,this._boundsNeedUpdate=!0,this._setClusterCenter(e),e instanceof L.MarkerCluster?(t||(this._childClusters.push(e),e.__parent=this),this._childCount+=e._childCount):(t||this._markers.push(e),this._childCount++),this.__parent&&this.__parent._addChild(e,!0)},_setClusterCenter:function(e){this._cLatLng||(this._cLatLng=e._cLatLng||e._latlng)},_resetBounds:function(){var e=this._bounds;e._southWest&&(e._southWest.lat=1/0,e._southWest.lng=1/0),e._northEast&&(e._northEast.lat=-1/0,e._northEast.lng=-1/0)},_recalculateBounds:function(){var e,t,i,n,r=this._markers,s=this._childClusters,o=0,a=0,h=this._childCount;if(0!==h){for(this._resetBounds(),e=0;e<r.length;e++)i=r[e]._latlng,this._bounds.extend(i),o+=i.lat,a+=i.lng;for(e=0;e<s.length;e++)t=s[e],t._boundsNeedUpdate&&t._recalculateBounds(),this._bounds.extend(t._bounds),i=t._wLatLng,n=t._childCount,o+=i.lat*n,a+=i.lng*n;this._latlng=this._wLatLng=new L.LatLng(o/h,a/h),this._boundsNeedUpdate=!1}},_addToMap:function(e){e&&(this._backupLatlng=this._latlng,this.setLatLng(e)),this._group._featureGroup.addLayer(this)},_recursivelyAnimateChildrenIn:function(e,t,i){this._recursively(e,this._group._map.getMinZoom(),i-1,function(e){var i,n,r=e._markers;for(i=r.length-1;i>=0;i--)n=r[i],n._icon&&(n._setPos(t),n.clusterHide())},function(e){var i,n,r=e._childClusters;for(i=r.length-1;i>=0;i--)n=r[i],n._icon&&(n._setPos(t),n.clusterHide())})},_recursivelyAnimateChildrenInAndAddSelfToMap:function(e,t,i){this._recursively(e,i,this._group._map.getMinZoom(),function(n){n._recursivelyAnimateChildrenIn(e,n._group._map.latLngToLayerPoint(n.getLatLng()).round(),t),n._isSingleParent()&&t-1===i?(n.clusterShow(),n._recursivelyRemoveChildrenFromMap(e,t)):n.clusterHide(),n._addToMap()})},_recursivelyBecomeVisible:function(e,t){this._recursively(e,this._group._map.getMinZoom(),t,null,function(e){e.clusterShow()})},_recursivelyAddChildrenToMap:function(e,t,i){this._recursively(i,this._group._map.getMinZoom()-1,t,function(n){if(t!==n._zoom)for(var r=n._markers.length-1;r>=0;r--){var s=n._markers[r];i.contains(s._latlng)&&(e&&(s._backupLatlng=s.getLatLng(),s.setLatLng(e),s.clusterHide&&s.clusterHide()),n._group._featureGroup.addLayer(s))}},function(t){t._addToMap(e)})},_recursivelyRestoreChildPositions:function(e){for(var t=this._markers.length-1;t>=0;t--){var i=this._markers[t];i._backupLatlng&&(i.setLatLng(i._backupLatlng),delete i._backupLatlng)}if(e-1===this._zoom)for(var n=this._childClusters.length-1;n>=0;n--)this._childClusters[n]._restorePosition();else for(var r=this._childClusters.length-1;r>=0;r--)this._childClusters[r]._recursivelyRestoreChildPositions(e)},_restorePosition:function(){this._backupLatlng&&(this.setLatLng(this._backupLatlng),delete this._backupLatlng)},_recursivelyRemoveChildrenFromMap:function(e,t,i){var n,r;this._recursively(e,this._group._map.getMinZoom()-1,t-1,function(e){for(r=e._markers.length-1;r>=0;r--)n=e._markers[r],i&&i.contains(n._latlng)||(e._group._featureGroup.removeLayer(n),n.clusterShow&&n.clusterShow())},function(e){for(r=e._childClusters.length-1;r>=0;r--)n=e._childClusters[r],i&&i.contains(n._latlng)||(e._group._featureGroup.removeLayer(n),n.clusterShow&&n.clusterShow())})},_recursively:function(e,t,i,n,r){var s,o,a=this._childClusters,h=this._zoom;if(h>=t&&(n&&n(this),r&&h===i&&r(this)),t>h||i>h)for(s=a.length-1;s>=0;s--)o=a[s],e.intersects(o._bounds)&&o._recursively(e,t,i,n,r)},_isSingleParent:function(){return this._childClusters.length>0&&this._childClusters[0]._childCount===this._childCount}}),L.Marker.include({clusterHide:function(){return this.options.opacityWhenUnclustered=this.options.opacity||1,this.setOpacity(0)},clusterShow:function(){var e=this.setOpacity(this.options.opacity||this.options.opacityWhenUnclustered);return delete this.options.opacityWhenUnclustered,e}}),L.DistanceGrid=function(e){this._cellSize=e,this._sqCellSize=e*e,this._grid={},this._objectPoint={}},L.DistanceGrid.prototype={addObject:function(e,t){var i=this._getCoord(t.x),n=this._getCoord(t.y),r=this._grid,s=r[n]=r[n]||{},o=s[i]=s[i]||[],a=L.Util.stamp(e);this._objectPoint[a]=t,o.push(e)},updateObject:function(e,t){this.removeObject(e),this.addObject(e,t)},removeObject:function(e,t){var i,n,r=this._getCoord(t.x),s=this._getCoord(t.y),o=this._grid,a=o[s]=o[s]||{},h=a[r]=a[r]||[];for(delete this._objectPoint[L.Util.stamp(e)],i=0,n=h.length;n>i;i++)if(h[i]===e)return h.splice(i,1),1===n&&delete a[r],!0},eachObject:function(e,t){var i,n,r,s,o,a,h,l=this._grid;for(i in l){o=l[i];for(n in o)for(a=o[n],r=0,s=a.length;s>r;r++)h=e.call(t,a[r]),h&&(r--,s--)}},getNearObject:function(e){var t,i,n,r,s,o,a,h,l=this._getCoord(e.x),u=this._getCoord(e.y),_=this._objectPoint,d=this._sqCellSize,c=null;for(t=u-1;u+1>=t;t++)if(r=this._grid[t])for(i=l-1;l+1>=i;i++)if(s=r[i])for(n=0,o=s.length;o>n;n++)a=s[n],h=this._sqDist(_[L.Util.stamp(a)],e),d>h&&(d=h,c=a);return c},_getCoord:function(e){return Math.floor(e/this._cellSize)},_sqDist:function(e,t){var i=t.x-e.x,n=t.y-e.y;return i*i+n*n}},function(){L.QuickHull={getDistant:function(e,t){var i=t[1].lat-t[0].lat,n=t[0].lng-t[1].lng;return n*(e.lat-t[0].lat)+i*(e.lng-t[0].lng)},findMostDistantPointFromBaseLine:function(e,t){var i,n,r,s=0,o=null,a=[];for(i=t.length-1;i>=0;i--)n=t[i],r=this.getDistant(n,e),r>0&&(a.push(n),r>s&&(s=r,o=n));return{maxPoint:o,newPoints:a}},buildConvexHull:function(e,t){var i=[],n=this.findMostDistantPointFromBaseLine(e,t);return n.maxPoint?(i=i.concat(this.buildConvexHull([e[0],n.maxPoint],n.newPoints)),i=i.concat(this.buildConvexHull([n.maxPoint,e[1]],n.newPoints))):[e[0]]},getConvexHull:function(e){var t,i=!1,n=!1,r=!1,s=!1,o=null,a=null,h=null,l=null,u=null,_=null;for(t=e.length-1;t>=0;t--){var d=e[t];(i===!1||d.lat>i)&&(o=d,i=d.lat),(n===!1||d.lat<n)&&(a=d,n=d.lat),(r===!1||d.lng>r)&&(h=d,r=d.lng),(s===!1||d.lng<s)&&(l=d,s=d.lng)}n!==i?(_=a,u=o):(_=l,u=h);var c=[].concat(this.buildConvexHull([_,u],e),this.buildConvexHull([u,_],e));return c}}}(),L.MarkerCluster.include({getConvexHull:function(){var e,t,i=this.getAllChildMarkers(),n=[];for(t=i.length-1;t>=0;t--)e=i[t].getLatLng(),n.push(e);return L.QuickHull.getConvexHull(n)}}),L.MarkerCluster.include({_2PI:2*Math.PI,_circleFootSeparation:25,_circleStartAngle:Math.PI/6,_spiralFootSeparation:28,_spiralLengthStart:11,_spiralLengthFactor:5,_circleSpiralSwitchover:9,spiderfy:function(){if(this._group._spiderfied!==this&&!this._group._inZoomAnimation){var e,t=this.getAllChildMarkers(),i=this._group,n=i._map,r=n.latLngToLayerPoint(this._latlng);this._group._unspiderfy(),this._group._spiderfied=this,t.length>=this._circleSpiralSwitchover?e=this._generatePointsSpiral(t.length,r):(r.y+=10,e=this._generatePointsCircle(t.length,r)),this._animationSpiderfy(t,e)}},unspiderfy:function(e){this._group._inZoomAnimation||(this._animationUnspiderfy(e),this._group._spiderfied=null)},_generatePointsCircle:function(e,t){var i,n,r=this._group.options.spiderfyDistanceMultiplier*this._circleFootSeparation*(2+e),s=r/this._2PI,o=this._2PI/e,a=[];for(a.length=e,i=e-1;i>=0;i--)n=this._circleStartAngle+i*o,a[i]=new L.Point(t.x+s*Math.cos(n),t.y+s*Math.sin(n))._round();return a},_generatePointsSpiral:function(e,t){var i,n=this._group.options.spiderfyDistanceMultiplier,r=n*this._spiralLengthStart,s=n*this._spiralFootSeparation,o=n*this._spiralLengthFactor*this._2PI,a=0,h=[];for(h.length=e,i=e-1;i>=0;i--)a+=s/r+5e-4*i,h[i]=new L.Point(t.x+r*Math.cos(a),t.y+r*Math.sin(a))._round(),r+=o/a;return h},_noanimationUnspiderfy:function(){var e,t,i=this._group,n=i._map,r=i._featureGroup,s=this.getAllChildMarkers();for(i._ignoreMove=!0,this.setOpacity(1),t=s.length-1;t>=0;t--)e=s[t],r.removeLayer(e),e._preSpiderfyLatlng&&(e.setLatLng(e._preSpiderfyLatlng),delete e._preSpiderfyLatlng),e.setZIndexOffset&&e.setZIndexOffset(0),e._spiderLeg&&(n.removeLayer(e._spiderLeg),delete e._spiderLeg);i.fire("unspiderfied",{cluster:this,markers:s}),i._ignoreMove=!1,i._spiderfied=null}}),L.MarkerClusterNonAnimated=L.MarkerCluster.extend({_animationSpiderfy:function(e,t){var i,n,r,s,o=this._group,a=o._map,h=o._featureGroup,l=this._group.options.spiderLegPolylineOptions;for(o._ignoreMove=!0,i=0;i<e.length;i++)s=a.layerPointToLatLng(t[i]),n=e[i],r=new L.Polyline([this._latlng,s],l),a.addLayer(r),n._spiderLeg=r,n._preSpiderfyLatlng=n._latlng,n.setLatLng(s),n.setZIndexOffset&&n.setZIndexOffset(1e6),h.addLayer(n);this.setOpacity(.3),o._ignoreMove=!1,o.fire("spiderfied",{cluster:this,markers:e})},_animationUnspiderfy:function(){this._noanimationUnspiderfy()}}),L.MarkerCluster.include({_animationSpiderfy:function(e,t){var n,r,s,o,a,h,l=this,u=this._group,_=u._map,d=u._featureGroup,c=this._latlng,p=_.latLngToLayerPoint(c),f=L.Path.SVG,m=L.extend({},this._group.options.spiderLegPolylineOptions),g=m.opacity;for(g===i&&(g=L.MarkerClusterGroup.prototype.options.spiderLegPolylineOptions.opacity),f?(m.opacity=0,m.className=(m.className||"")+" leaflet-cluster-spider-leg"):m.opacity=g,u._ignoreMove=!0,n=0;n<e.length;n++)r=e[n],h=_.layerPointToLatLng(t[n]),s=new L.Polyline([c,h],m),_.addLayer(s),r._spiderLeg=s,f&&(o=s._path,a=o.getTotalLength()+.1,o.style.strokeDasharray=a,o.style.strokeDashoffset=a),r.setZIndexOffset&&r.setZIndexOffset(1e6),r.clusterHide&&r.clusterHide(),d.addLayer(r),r._setPos&&r._setPos(p);for(u._forceLayout(),u._animationStart(),n=e.length-1;n>=0;n--)h=_.layerPointToLatLng(t[n]),r=e[n],r._preSpiderfyLatlng=r._latlng,r.setLatLng(h),r.clusterShow&&r.clusterShow(),f&&(s=r._spiderLeg,o=s._path,o.style.strokeDashoffset=0,s.setStyle({opacity:g}));this.setOpacity(.3),u._ignoreMove=!1,setTimeout(function(){u._animationEnd(),u.fire("spiderfied",{cluster:l,markers:e})},200)},_animationUnspiderfy:function(e){var t,i,n,r,s,o,a=this,h=this._group,l=h._map,u=h._featureGroup,_=e?l._latLngToNewLayerPoint(this._latlng,e.zoom,e.center):l.latLngToLayerPoint(this._latlng),d=this.getAllChildMarkers(),c=L.Path.SVG;for(h._ignoreMove=!0,h._animationStart(),this.setOpacity(1),i=d.length-1;i>=0;i--)t=d[i],t._preSpiderfyLatlng&&(t.closePopup(),t.setLatLng(t._preSpiderfyLatlng),delete t._preSpiderfyLatlng,o=!0,t._setPos&&(t._setPos(_),o=!1),t.clusterHide&&(t.clusterHide(),o=!1),o&&u.removeLayer(t),c&&(n=t._spiderLeg,r=n._path,s=r.getTotalLength()+.1,r.style.strokeDashoffset=s,n.setStyle({opacity:0})));h._ignoreMove=!1,setTimeout(function(){var e=0;for(i=d.length-1;i>=0;i--)t=d[i],t._spiderLeg&&e++;for(i=d.length-1;i>=0;i--)t=d[i],t._spiderLeg&&(t.clusterShow&&t.clusterShow(),t.setZIndexOffset&&t.setZIndexOffset(0),e>1&&u.removeLayer(t),l.removeLayer(t._spiderLeg),delete t._spiderLeg);h._animationEnd(),h.fire("unspiderfied",{cluster:a,markers:d})},200)}}),L.MarkerClusterGroup.include({_spiderfied:null,unspiderfy:function(){this._unspiderfy.apply(this,arguments)},_spiderfierOnAdd:function(){this._map.on("click",this._unspiderfyWrapper,this),this._map.options.zoomAnimation&&this._map.on("zoomstart",this._unspiderfyZoomStart,this),this._map.on("zoomend",this._noanimationUnspiderfy,this),L.Browser.touch||this._map.getRenderer(this)},_spiderfierOnRemove:function(){this._map.off("click",this._unspiderfyWrapper,this),this._map.off("zoomstart",this._unspiderfyZoomStart,this),this._map.off("zoomanim",this._unspiderfyZoomAnim,this),this._map.off("zoomend",this._noanimationUnspiderfy,this),this._noanimationUnspiderfy()},_unspiderfyZoomStart:function(){this._map&&this._map.on("zoomanim",this._unspiderfyZoomAnim,this)},_unspiderfyZoomAnim:function(e){L.DomUtil.hasClass(this._map._mapPane,"leaflet-touching")||(this._map.off("zoomanim",this._unspiderfyZoomAnim,this),this._unspiderfy(e))},_unspiderfyWrapper:function(){this._unspiderfy()},_unspiderfy:function(e){this._spiderfied&&this._spiderfied.unspiderfy(e)},_noanimationUnspiderfy:function(){this._spiderfied&&this._spiderfied._noanimationUnspiderfy()},_unspiderfyLayer:function(e){e._spiderLeg&&(this._featureGroup.removeLayer(e),e.clusterShow&&e.clusterShow(),e.setZIndexOffset&&e.setZIndexOffset(0),this._map.removeLayer(e._spiderLeg),delete e._spiderLeg)
7
- }}),L.MarkerClusterGroup.include({refreshClusters:function(e){return e?e instanceof L.MarkerClusterGroup?e=e._topClusterLevel.getAllChildMarkers():e instanceof L.LayerGroup?e=e._layers:e instanceof L.MarkerCluster?e=e.getAllChildMarkers():e instanceof L.Marker&&(e=[e]):e=this._topClusterLevel.getAllChildMarkers(),this._flagParentsIconsNeedUpdate(e),this._refreshClustersIcons(),this.options.singleMarkerMode&&this._refreshSingleMarkerModeMarkers(e),this},_flagParentsIconsNeedUpdate:function(e){var t,i;for(t in e)for(i=e[t].__parent;i;)i._iconNeedsUpdate=!0,i=i.__parent},_refreshSingleMarkerModeMarkers:function(e){var t,i;for(t in e)i=e[t],this.hasLayer(i)&&i.setIcon(this._overrideMarkerIcon(i))}}),L.Marker.include({refreshIconOptions:function(e,t){var i=this.options.icon;return L.setOptions(i,e),this.setIcon(i),t&&this.__parent&&this.__parent._group.refreshClusters(this),this}})}(window,document);
@@ -1,3 +0,0 @@
1
- /*! modernizr 3.3.1 (Custom Build) | MIT *
2
- * https://modernizr.com/download/?-setclasses !*/
3
- !function(n,e,s){function o(n,e){return typeof n===e}function a(){var n,e,s,a,i,l,r;for(var c in f)if(f.hasOwnProperty(c)){if(n=[],e=f[c],e.name&&(n.push(e.name.toLowerCase()),e.options&&e.options.aliases&&e.options.aliases.length))for(s=0;s<e.options.aliases.length;s++)n.push(e.options.aliases[s].toLowerCase());for(a=o(e.fn,"function")?e.fn():e.fn,i=0;i<n.length;i++)l=n[i],r=l.split("."),1===r.length?Modernizr[r[0]]=a:(!Modernizr[r[0]]||Modernizr[r[0]]instanceof Boolean||(Modernizr[r[0]]=new Boolean(Modernizr[r[0]])),Modernizr[r[0]][r[1]]=a),t.push((a?"":"no-")+r.join("-"))}}function i(n){var e=r.className,s=Modernizr._config.classPrefix||"";if(c&&(e=e.baseVal),Modernizr._config.enableJSClass){var o=new RegExp("(^|\\s)"+s+"no-js(\\s|$)");e=e.replace(o,"$1"+s+"js$2")}Modernizr._config.enableClasses&&(e+=" "+s+n.join(" "+s),c?r.className.baseVal=e:r.className=e)}var t=[],f=[],l={_version:"3.3.1",_config:{classPrefix:"",enableClasses:!0,enableJSClass:!0,usePrefixes:!0},_q:[],on:function(n,e){var s=this;setTimeout(function(){e(s[n])},0)},addTest:function(n,e,s){f.push({name:n,fn:e,options:s})},addAsyncTest:function(n){f.push({name:null,fn:n})}},Modernizr=function(){};Modernizr.prototype=l,Modernizr=new Modernizr;var r=e.documentElement,c="svg"===r.nodeName.toLowerCase();a(),i(t),delete l.addTest,delete l.addAsyncTest;for(var u=0;u<Modernizr._q.length;u++)Modernizr._q[u]();n.Modernizr=Modernizr}(window,document);
@@ -1,688 +0,0 @@
1
- (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3
- typeof define === 'function' && define.amd ? define(factory) :
4
- (global.morphdom = factory());
5
- }(this, (function () { 'use strict';
6
-
7
- var range; // Create a range object for efficently rendering strings to elements.
8
- var NS_XHTML = 'http://www.w3.org/1999/xhtml';
9
-
10
- var doc = typeof document === 'undefined' ? undefined : document;
11
-
12
- var testEl = doc ?
13
- doc.body || doc.createElement('div') :
14
- {};
15
-
16
- // Fixes <https://github.com/patrick-steele-idem/morphdom/issues/32>
17
- // (IE7+ support) <=IE7 does not support el.hasAttribute(name)
18
- var actualHasAttributeNS;
19
-
20
- if (testEl.hasAttributeNS) {
21
- actualHasAttributeNS = function(el, namespaceURI, name) {
22
- return el.hasAttributeNS(namespaceURI, name);
23
- };
24
- } else if (testEl.hasAttribute) {
25
- actualHasAttributeNS = function(el, namespaceURI, name) {
26
- return el.hasAttribute(name);
27
- };
28
- } else {
29
- actualHasAttributeNS = function(el, namespaceURI, name) {
30
- return el.getAttributeNode(namespaceURI, name) != null;
31
- };
32
- }
33
-
34
- var hasAttributeNS = actualHasAttributeNS;
35
-
36
-
37
- function toElement(str) {
38
- if (!range && doc.createRange) {
39
- range = doc.createRange();
40
- range.selectNode(doc.body);
41
- }
42
-
43
- var fragment;
44
- if (range && range.createContextualFragment) {
45
- fragment = range.createContextualFragment(str);
46
- } else {
47
- fragment = doc.createElement('body');
48
- fragment.innerHTML = str;
49
- }
50
- return fragment.childNodes[0];
51
- }
52
-
53
- /**
54
- * Returns true if two node's names are the same.
55
- *
56
- * NOTE: We don't bother checking `namespaceURI` because you will never find two HTML elements with the same
57
- * nodeName and different namespace URIs.
58
- *
59
- * @param {Element} a
60
- * @param {Element} b The target element
61
- * @return {boolean}
62
- */
63
- function compareNodeNames(fromEl, toEl) {
64
- var fromNodeName = fromEl.nodeName;
65
- var toNodeName = toEl.nodeName;
66
-
67
- if (fromNodeName === toNodeName) {
68
- return true;
69
- }
70
-
71
- if (toEl.actualize &&
72
- fromNodeName.charCodeAt(0) < 91 && /* from tag name is upper case */
73
- toNodeName.charCodeAt(0) > 90 /* target tag name is lower case */) {
74
- // If the target element is a virtual DOM node then we may need to normalize the tag name
75
- // before comparing. Normal HTML elements that are in the "http://www.w3.org/1999/xhtml"
76
- // are converted to upper case
77
- return fromNodeName === toNodeName.toUpperCase();
78
- } else {
79
- return false;
80
- }
81
- }
82
-
83
- /**
84
- * Create an element, optionally with a known namespace URI.
85
- *
86
- * @param {string} name the element name, e.g. 'div' or 'svg'
87
- * @param {string} [namespaceURI] the element's namespace URI, i.e. the value of
88
- * its `xmlns` attribute or its inferred namespace.
89
- *
90
- * @return {Element}
91
- */
92
- function createElementNS(name, namespaceURI) {
93
- return !namespaceURI || namespaceURI === NS_XHTML ?
94
- doc.createElement(name) :
95
- doc.createElementNS(namespaceURI, name);
96
- }
97
-
98
- /**
99
- * Copies the children of one DOM element to another DOM element
100
- */
101
- function moveChildren(fromEl, toEl) {
102
- var curChild = fromEl.firstChild;
103
- while (curChild) {
104
- var nextChild = curChild.nextSibling;
105
- toEl.appendChild(curChild);
106
- curChild = nextChild;
107
- }
108
- return toEl;
109
- }
110
-
111
- function morphAttrs(fromNode, toNode) {
112
- var attrs = toNode.attributes;
113
- var i;
114
- var attr;
115
- var attrName;
116
- var attrNamespaceURI;
117
- var attrValue;
118
- var fromValue;
119
-
120
- for (i = attrs.length - 1; i >= 0; --i) {
121
- attr = attrs[i];
122
- attrName = attr.name;
123
- attrNamespaceURI = attr.namespaceURI;
124
- attrValue = attr.value;
125
-
126
- if (attrNamespaceURI) {
127
- attrName = attr.localName || attrName;
128
- fromValue = fromNode.getAttributeNS(attrNamespaceURI, attrName);
129
-
130
- if (fromValue !== attrValue) {
131
- fromNode.setAttributeNS(attrNamespaceURI, attrName, attrValue);
132
- }
133
- } else {
134
- fromValue = fromNode.getAttribute(attrName);
135
-
136
- if (fromValue !== attrValue) {
137
- fromNode.setAttribute(attrName, attrValue);
138
- }
139
- }
140
- }
141
-
142
- // Remove any extra attributes found on the original DOM element that
143
- // weren't found on the target element.
144
- attrs = fromNode.attributes;
145
-
146
- for (i = attrs.length - 1; i >= 0; --i) {
147
- attr = attrs[i];
148
- if (attr.specified !== false) {
149
- attrName = attr.name;
150
- attrNamespaceURI = attr.namespaceURI;
151
-
152
- if (attrNamespaceURI) {
153
- attrName = attr.localName || attrName;
154
-
155
- if (!hasAttributeNS(toNode, attrNamespaceURI, attrName)) {
156
- fromNode.removeAttributeNS(attrNamespaceURI, attrName);
157
- }
158
- } else {
159
- if (!hasAttributeNS(toNode, null, attrName)) {
160
- fromNode.removeAttribute(attrName);
161
- }
162
- }
163
- }
164
- }
165
- }
166
-
167
- function syncBooleanAttrProp(fromEl, toEl, name) {
168
- if (fromEl[name] !== toEl[name]) {
169
- fromEl[name] = toEl[name];
170
- if (fromEl[name]) {
171
- fromEl.setAttribute(name, '');
172
- } else {
173
- fromEl.removeAttribute(name, '');
174
- }
175
- }
176
- }
177
-
178
- var specialElHandlers = {
179
- /**
180
- * Needed for IE. Apparently IE doesn't think that "selected" is an
181
- * attribute when reading over the attributes using selectEl.attributes
182
- */
183
- OPTION: function(fromEl, toEl) {
184
- syncBooleanAttrProp(fromEl, toEl, 'selected');
185
- },
186
- /**
187
- * The "value" attribute is special for the <input> element since it sets
188
- * the initial value. Changing the "value" attribute without changing the
189
- * "value" property will have no effect since it is only used to the set the
190
- * initial value. Similar for the "checked" attribute, and "disabled".
191
- */
192
- INPUT: function(fromEl, toEl) {
193
- syncBooleanAttrProp(fromEl, toEl, 'checked');
194
- syncBooleanAttrProp(fromEl, toEl, 'disabled');
195
-
196
- if (fromEl.value !== toEl.value) {
197
- fromEl.value = toEl.value;
198
- }
199
-
200
- if (!hasAttributeNS(toEl, null, 'value')) {
201
- fromEl.removeAttribute('value');
202
- }
203
- },
204
-
205
- TEXTAREA: function(fromEl, toEl) {
206
- var newValue = toEl.value;
207
- if (fromEl.value !== newValue) {
208
- fromEl.value = newValue;
209
- }
210
-
211
- var firstChild = fromEl.firstChild;
212
- if (firstChild) {
213
- // Needed for IE. Apparently IE sets the placeholder as the
214
- // node value and vise versa. This ignores an empty update.
215
- var oldValue = firstChild.nodeValue;
216
-
217
- if (oldValue == newValue || (!newValue && oldValue == fromEl.placeholder)) {
218
- return;
219
- }
220
-
221
- firstChild.nodeValue = newValue;
222
- }
223
- },
224
- SELECT: function(fromEl, toEl) {
225
- if (!hasAttributeNS(toEl, null, 'multiple')) {
226
- var selectedIndex = -1;
227
- var i = 0;
228
- var curChild = toEl.firstChild;
229
- while(curChild) {
230
- var nodeName = curChild.nodeName;
231
- if (nodeName && nodeName.toUpperCase() === 'OPTION') {
232
- if (hasAttributeNS(curChild, null, 'selected')) {
233
- selectedIndex = i;
234
- break;
235
- }
236
- i++;
237
- }
238
- curChild = curChild.nextSibling;
239
- }
240
-
241
- fromEl.selectedIndex = i;
242
- }
243
- }
244
- };
245
-
246
- var ELEMENT_NODE = 1;
247
- var TEXT_NODE = 3;
248
- var COMMENT_NODE = 8;
249
-
250
- function noop() {}
251
-
252
- function defaultGetNodeKey(node) {
253
- return node.id;
254
- }
255
-
256
- function morphdomFactory(morphAttrs) {
257
-
258
- return function morphdom(fromNode, toNode, options) {
259
- if (!options) {
260
- options = {};
261
- }
262
-
263
- if (typeof toNode === 'string') {
264
- if (fromNode.nodeName === '#document' || fromNode.nodeName === 'HTML') {
265
- var toNodeHtml = toNode;
266
- toNode = doc.createElement('html');
267
- toNode.innerHTML = toNodeHtml;
268
- } else {
269
- toNode = toElement(toNode);
270
- }
271
- }
272
-
273
- var getNodeKey = options.getNodeKey || defaultGetNodeKey;
274
- var onBeforeNodeAdded = options.onBeforeNodeAdded || noop;
275
- var onNodeAdded = options.onNodeAdded || noop;
276
- var onBeforeElUpdated = options.onBeforeElUpdated || noop;
277
- var onElUpdated = options.onElUpdated || noop;
278
- var onBeforeNodeDiscarded = options.onBeforeNodeDiscarded || noop;
279
- var onNodeDiscarded = options.onNodeDiscarded || noop;
280
- var onBeforeElChildrenUpdated = options.onBeforeElChildrenUpdated || noop;
281
- var childrenOnly = options.childrenOnly === true;
282
-
283
- // This object is used as a lookup to quickly find all keyed elements in the original DOM tree.
284
- var fromNodesLookup = {};
285
- var keyedRemovalList;
286
-
287
- function addKeyedRemoval(key) {
288
- if (keyedRemovalList) {
289
- keyedRemovalList.push(key);
290
- } else {
291
- keyedRemovalList = [key];
292
- }
293
- }
294
-
295
- function walkDiscardedChildNodes(node, skipKeyedNodes) {
296
- if (node.nodeType === ELEMENT_NODE) {
297
- var curChild = node.firstChild;
298
- while (curChild) {
299
-
300
- var key = undefined;
301
-
302
- if (skipKeyedNodes && (key = getNodeKey(curChild))) {
303
- // If we are skipping keyed nodes then we add the key
304
- // to a list so that it can be handled at the very end.
305
- addKeyedRemoval(key);
306
- } else {
307
- // Only report the node as discarded if it is not keyed. We do this because
308
- // at the end we loop through all keyed elements that were unmatched
309
- // and then discard them in one final pass.
310
- onNodeDiscarded(curChild);
311
- if (curChild.firstChild) {
312
- walkDiscardedChildNodes(curChild, skipKeyedNodes);
313
- }
314
- }
315
-
316
- curChild = curChild.nextSibling;
317
- }
318
- }
319
- }
320
-
321
- /**
322
- * Removes a DOM node out of the original DOM
323
- *
324
- * @param {Node} node The node to remove
325
- * @param {Node} parentNode The nodes parent
326
- * @param {Boolean} skipKeyedNodes If true then elements with keys will be skipped and not discarded.
327
- * @return {undefined}
328
- */
329
- function removeNode(node, parentNode, skipKeyedNodes) {
330
- if (onBeforeNodeDiscarded(node) === false) {
331
- return;
332
- }
333
-
334
- if (parentNode) {
335
- parentNode.removeChild(node);
336
- }
337
-
338
- onNodeDiscarded(node);
339
- walkDiscardedChildNodes(node, skipKeyedNodes);
340
- }
341
-
342
- // // TreeWalker implementation is no faster, but keeping this around in case this changes in the future
343
- // function indexTree(root) {
344
- // var treeWalker = document.createTreeWalker(
345
- // root,
346
- // NodeFilter.SHOW_ELEMENT);
347
- //
348
- // var el;
349
- // while((el = treeWalker.nextNode())) {
350
- // var key = getNodeKey(el);
351
- // if (key) {
352
- // fromNodesLookup[key] = el;
353
- // }
354
- // }
355
- // }
356
-
357
- // // NodeIterator implementation is no faster, but keeping this around in case this changes in the future
358
- //
359
- // function indexTree(node) {
360
- // var nodeIterator = document.createNodeIterator(node, NodeFilter.SHOW_ELEMENT);
361
- // var el;
362
- // while((el = nodeIterator.nextNode())) {
363
- // var key = getNodeKey(el);
364
- // if (key) {
365
- // fromNodesLookup[key] = el;
366
- // }
367
- // }
368
- // }
369
-
370
- function indexTree(node) {
371
- if (node.nodeType === ELEMENT_NODE) {
372
- var curChild = node.firstChild;
373
- while (curChild) {
374
- var key = getNodeKey(curChild);
375
- if (key) {
376
- fromNodesLookup[key] = curChild;
377
- }
378
-
379
- // Walk recursively
380
- indexTree(curChild);
381
-
382
- curChild = curChild.nextSibling;
383
- }
384
- }
385
- }
386
-
387
- indexTree(fromNode);
388
-
389
- function handleNodeAdded(el) {
390
- onNodeAdded(el);
391
-
392
- var curChild = el.firstChild;
393
- while (curChild) {
394
- var nextSibling = curChild.nextSibling;
395
-
396
- var key = getNodeKey(curChild);
397
- if (key) {
398
- var unmatchedFromEl = fromNodesLookup[key];
399
- if (unmatchedFromEl && compareNodeNames(curChild, unmatchedFromEl)) {
400
- curChild.parentNode.replaceChild(unmatchedFromEl, curChild);
401
- morphEl(unmatchedFromEl, curChild);
402
- }
403
- }
404
-
405
- handleNodeAdded(curChild);
406
- curChild = nextSibling;
407
- }
408
- }
409
-
410
- function morphEl(fromEl, toEl, childrenOnly) {
411
- var toElKey = getNodeKey(toEl);
412
- var curFromNodeKey;
413
-
414
- if (toElKey) {
415
- // If an element with an ID is being morphed then it is will be in the final
416
- // DOM so clear it out of the saved elements collection
417
- delete fromNodesLookup[toElKey];
418
- }
419
-
420
- if (toNode.isSameNode && toNode.isSameNode(fromNode)) {
421
- return;
422
- }
423
-
424
- if (!childrenOnly) {
425
- if (onBeforeElUpdated(fromEl, toEl) === false) {
426
- return;
427
- }
428
-
429
- morphAttrs(fromEl, toEl);
430
- onElUpdated(fromEl);
431
-
432
- if (onBeforeElChildrenUpdated(fromEl, toEl) === false) {
433
- return;
434
- }
435
- }
436
-
437
- if (fromEl.nodeName !== 'TEXTAREA') {
438
- var curToNodeChild = toEl.firstChild;
439
- var curFromNodeChild = fromEl.firstChild;
440
- var curToNodeKey;
441
-
442
- var fromNextSibling;
443
- var toNextSibling;
444
- var matchingFromEl;
445
-
446
- outer: while (curToNodeChild) {
447
- toNextSibling = curToNodeChild.nextSibling;
448
- curToNodeKey = getNodeKey(curToNodeChild);
449
-
450
- while (curFromNodeChild) {
451
- fromNextSibling = curFromNodeChild.nextSibling;
452
-
453
- if (curToNodeChild.isSameNode && curToNodeChild.isSameNode(curFromNodeChild)) {
454
- curToNodeChild = toNextSibling;
455
- curFromNodeChild = fromNextSibling;
456
- continue outer;
457
- }
458
-
459
- curFromNodeKey = getNodeKey(curFromNodeChild);
460
-
461
- var curFromNodeType = curFromNodeChild.nodeType;
462
-
463
- var isCompatible = undefined;
464
-
465
- if (curFromNodeType === curToNodeChild.nodeType) {
466
- if (curFromNodeType === ELEMENT_NODE) {
467
- // Both nodes being compared are Element nodes
468
-
469
- if (curToNodeKey) {
470
- // The target node has a key so we want to match it up with the correct element
471
- // in the original DOM tree
472
- if (curToNodeKey !== curFromNodeKey) {
473
- // The current element in the original DOM tree does not have a matching key so
474
- // let's check our lookup to see if there is a matching element in the original
475
- // DOM tree
476
- if ((matchingFromEl = fromNodesLookup[curToNodeKey])) {
477
- if (curFromNodeChild.nextSibling === matchingFromEl) {
478
- // Special case for single element removals. To avoid removing the original
479
- // DOM node out of the tree (since that can break CSS transitions, etc.),
480
- // we will instead discard the current node and wait until the next
481
- // iteration to properly match up the keyed target element with its matching
482
- // element in the original tree
483
- isCompatible = false;
484
- } else {
485
- // We found a matching keyed element somewhere in the original DOM tree.
486
- // Let's moving the original DOM node into the current position and morph
487
- // it.
488
-
489
- // NOTE: We use insertBefore instead of replaceChild because we want to go through
490
- // the `removeNode()` function for the node that is being discarded so that
491
- // all lifecycle hooks are correctly invoked
492
- fromEl.insertBefore(matchingFromEl, curFromNodeChild);
493
-
494
- fromNextSibling = curFromNodeChild.nextSibling;
495
-
496
- if (curFromNodeKey) {
497
- // Since the node is keyed it might be matched up later so we defer
498
- // the actual removal to later
499
- addKeyedRemoval(curFromNodeKey);
500
- } else {
501
- // NOTE: we skip nested keyed nodes from being removed since there is
502
- // still a chance they will be matched up later
503
- removeNode(curFromNodeChild, fromEl, true /* skip keyed nodes */);
504
- }
505
-
506
- curFromNodeChild = matchingFromEl;
507
- }
508
- } else {
509
- // The nodes are not compatible since the "to" node has a key and there
510
- // is no matching keyed node in the source tree
511
- isCompatible = false;
512
- }
513
- }
514
- } else if (curFromNodeKey) {
515
- // The original has a key
516
- isCompatible = false;
517
- }
518
-
519
- isCompatible = isCompatible !== false && compareNodeNames(curFromNodeChild, curToNodeChild);
520
- if (isCompatible) {
521
- // We found compatible DOM elements so transform
522
- // the current "from" node to match the current
523
- // target DOM node.
524
- morphEl(curFromNodeChild, curToNodeChild);
525
- }
526
-
527
- } else if (curFromNodeType === TEXT_NODE || curFromNodeType == COMMENT_NODE) {
528
- // Both nodes being compared are Text or Comment nodes
529
- isCompatible = true;
530
- // Simply update nodeValue on the original node to
531
- // change the text value
532
- if (curFromNodeChild.nodeValue !== curToNodeChild.nodeValue) {
533
- curFromNodeChild.nodeValue = curToNodeChild.nodeValue;
534
- }
535
-
536
- }
537
- }
538
-
539
- if (isCompatible) {
540
- // Advance both the "to" child and the "from" child since we found a match
541
- curToNodeChild = toNextSibling;
542
- curFromNodeChild = fromNextSibling;
543
- continue outer;
544
- }
545
-
546
- // No compatible match so remove the old node from the DOM and continue trying to find a
547
- // match in the original DOM. However, we only do this if the from node is not keyed
548
- // since it is possible that a keyed node might match up with a node somewhere else in the
549
- // target tree and we don't want to discard it just yet since it still might find a
550
- // home in the final DOM tree. After everything is done we will remove any keyed nodes
551
- // that didn't find a home
552
- if (curFromNodeKey) {
553
- // Since the node is keyed it might be matched up later so we defer
554
- // the actual removal to later
555
- addKeyedRemoval(curFromNodeKey);
556
- } else {
557
- // NOTE: we skip nested keyed nodes from being removed since there is
558
- // still a chance they will be matched up later
559
- removeNode(curFromNodeChild, fromEl, true /* skip keyed nodes */);
560
- }
561
-
562
- curFromNodeChild = fromNextSibling;
563
- }
564
-
565
- // If we got this far then we did not find a candidate match for
566
- // our "to node" and we exhausted all of the children "from"
567
- // nodes. Therefore, we will just append the current "to" node
568
- // to the end
569
- if (curToNodeKey && (matchingFromEl = fromNodesLookup[curToNodeKey]) && compareNodeNames(matchingFromEl, curToNodeChild)) {
570
- fromEl.appendChild(matchingFromEl);
571
- morphEl(matchingFromEl, curToNodeChild);
572
- } else {
573
- var onBeforeNodeAddedResult = onBeforeNodeAdded(curToNodeChild);
574
- if (onBeforeNodeAddedResult !== false) {
575
- if (onBeforeNodeAddedResult) {
576
- curToNodeChild = onBeforeNodeAddedResult;
577
- }
578
-
579
- if (curToNodeChild.actualize) {
580
- curToNodeChild = curToNodeChild.actualize(fromEl.ownerDocument || doc);
581
- }
582
- fromEl.appendChild(curToNodeChild);
583
- handleNodeAdded(curToNodeChild);
584
- }
585
- }
586
-
587
- curToNodeChild = toNextSibling;
588
- curFromNodeChild = fromNextSibling;
589
- }
590
-
591
- // We have processed all of the "to nodes". If curFromNodeChild is
592
- // non-null then we still have some from nodes left over that need
593
- // to be removed
594
- while (curFromNodeChild) {
595
- fromNextSibling = curFromNodeChild.nextSibling;
596
- if ((curFromNodeKey = getNodeKey(curFromNodeChild))) {
597
- // Since the node is keyed it might be matched up later so we defer
598
- // the actual removal to later
599
- addKeyedRemoval(curFromNodeKey);
600
- } else {
601
- // NOTE: we skip nested keyed nodes from being removed since there is
602
- // still a chance they will be matched up later
603
- removeNode(curFromNodeChild, fromEl, true /* skip keyed nodes */);
604
- }
605
- curFromNodeChild = fromNextSibling;
606
- }
607
- }
608
-
609
- var specialElHandler = specialElHandlers[fromEl.nodeName];
610
- if (specialElHandler) {
611
- specialElHandler(fromEl, toEl);
612
- }
613
- } // END: morphEl(...)
614
-
615
- var morphedNode = fromNode;
616
- var morphedNodeType = morphedNode.nodeType;
617
- var toNodeType = toNode.nodeType;
618
-
619
- if (!childrenOnly) {
620
- // Handle the case where we are given two DOM nodes that are not
621
- // compatible (e.g. <div> --> <span> or <div> --> TEXT)
622
- if (morphedNodeType === ELEMENT_NODE) {
623
- if (toNodeType === ELEMENT_NODE) {
624
- if (!compareNodeNames(fromNode, toNode)) {
625
- onNodeDiscarded(fromNode);
626
- morphedNode = moveChildren(fromNode, createElementNS(toNode.nodeName, toNode.namespaceURI));
627
- }
628
- } else {
629
- // Going from an element node to a text node
630
- morphedNode = toNode;
631
- }
632
- } else if (morphedNodeType === TEXT_NODE || morphedNodeType === COMMENT_NODE) { // Text or comment node
633
- if (toNodeType === morphedNodeType) {
634
- if (morphedNode.nodeValue !== toNode.nodeValue) {
635
- morphedNode.nodeValue = toNode.nodeValue;
636
- }
637
-
638
- return morphedNode;
639
- } else {
640
- // Text node to something else
641
- morphedNode = toNode;
642
- }
643
- }
644
- }
645
-
646
- if (morphedNode === toNode) {
647
- // The "to node" was not compatible with the "from node" so we had to
648
- // toss out the "from node" and use the "to node"
649
- onNodeDiscarded(fromNode);
650
- } else {
651
- morphEl(morphedNode, toNode, childrenOnly);
652
-
653
- // We now need to loop over any keyed nodes that might need to be
654
- // removed. We only do the removal if we know that the keyed node
655
- // never found a match. When a keyed node is matched up we remove
656
- // it out of fromNodesLookup and we use fromNodesLookup to determine
657
- // if a keyed node has been matched up or not
658
- if (keyedRemovalList) {
659
- for (var i=0, len=keyedRemovalList.length; i<len; i++) {
660
- var elToRemove = fromNodesLookup[keyedRemovalList[i]];
661
- if (elToRemove) {
662
- removeNode(elToRemove, elToRemove.parentNode, false);
663
- }
664
- }
665
- }
666
- }
667
-
668
- if (!childrenOnly && morphedNode !== fromNode && fromNode.parentNode) {
669
- if (morphedNode.actualize) {
670
- morphedNode = morphedNode.actualize(fromNode.ownerDocument || doc);
671
- }
672
- // If we had to swap out the from node with a new node because the old
673
- // node was not compatible with the target node then we need to
674
- // replace the old DOM node in the original DOM tree. This is only
675
- // possible if the original DOM node was part of a DOM tree which
676
- // we know is the case if it has a parent node.
677
- fromNode.parentNode.replaceChild(morphedNode, fromNode);
678
- }
679
-
680
- return morphedNode;
681
- };
682
- }
683
-
684
- var morphdom = morphdomFactory(morphAttrs);
685
-
686
- return morphdom;
687
-
688
- })));