From f001ddbcde67995fa0bc194db5e349f75c5176da Mon Sep 17 00:00:00 2001 From: takahashim Date: Sun, 21 Nov 2021 13:58:26 +0900 Subject: [PATCH 01/22] Update Gemfile --- Gemfile | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/Gemfile b/Gemfile index da5ab7c223..bea2787f2a 100644 --- a/Gemfile +++ b/Gemfile @@ -4,13 +4,9 @@ source "https://rubygems.org" ruby RUBY_VERSION -gem "decidim", "0.23.5" +gem "decidim", "0.24.3" -# gem "decidim", "0.23.5" -# gem "decidim-consultations", "0.23.5" -# gem "decidim-initiatives", "0.23.5" - -gem "decidim-comments", path: "decidim-comments" +# gem "decidim-comments", path: "decidim-comments" gem "decidim-decidim_awesome", "~> 0.7.0" @@ -35,7 +31,7 @@ group :development, :test do gem "byebug", "~> 11.0", platform: :mri gem "figaro" - gem "decidim-dev", "0.23.5" + gem "decidim-dev", "0.24.3" gem "dotenv-rails" gem "factory_bot_rails" gem "rspec-rails" From 90dd52814218f7af5bc51525a85417e5e883e89a Mon Sep 17 00:00:00 2001 From: takahashim Date: Sun, 21 Nov 2021 13:58:59 +0900 Subject: [PATCH 02/22] Exec `bundle update decidim` --- Gemfile.lock | 479 ++++++++++++++++++++++++++++----------------------- 1 file changed, 262 insertions(+), 217 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index aff9f67696..a262806658 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,11 +1,3 @@ -PATH - remote: decidim-comments - specs: - decidim-comments (0.23.5) - decidim-core (= 0.23.5) - jquery-rails (~> 4.3) - redcarpet (~> 3.4) - PATH remote: decidim-user_extension specs: @@ -17,25 +9,25 @@ PATH GEM remote: https://rubygems.org/ specs: - actioncable (5.2.5) - actionpack (= 5.2.5) + actioncable (5.2.6) + actionpack (= 5.2.6) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailer (5.2.5) - actionpack (= 5.2.5) - actionview (= 5.2.5) - activejob (= 5.2.5) + actionmailer (5.2.6) + actionpack (= 5.2.6) + actionview (= 5.2.6) + activejob (= 5.2.6) mail (~> 2.5, >= 2.5.4) rails-dom-testing (~> 2.0) - actionpack (5.2.5) - actionview (= 5.2.5) - activesupport (= 5.2.5) + actionpack (5.2.6) + actionview (= 5.2.6) + activesupport (= 5.2.6) rack (~> 2.0, >= 2.0.8) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.0.2) - actionview (5.2.5) - activesupport (= 5.2.5) + actionview (5.2.6) + activesupport (= 5.2.6) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) @@ -43,27 +35,27 @@ GEM active_link_to (1.0.5) actionpack addressable - activejob (5.2.5) - activesupport (= 5.2.5) + activejob (5.2.6) + activesupport (= 5.2.6) globalid (>= 0.3.6) - activemodel (5.2.5) - activesupport (= 5.2.5) - activerecord (5.2.5) - activemodel (= 5.2.5) - activesupport (= 5.2.5) + activemodel (5.2.6) + activesupport (= 5.2.6) + activerecord (5.2.6) + activemodel (= 5.2.6) + activesupport (= 5.2.6) arel (>= 9.0) - activestorage (5.2.5) - actionpack (= 5.2.5) - activerecord (= 5.2.5) + activestorage (5.2.6) + actionpack (= 5.2.6) + activerecord (= 5.2.6) marcel (~> 1.0.0) - activesupport (5.2.5) + activesupport (5.2.6) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 0.7, < 2) minitest (~> 5.1) tzinfo (~> 1.1) acts_as_list (0.9.19) activerecord (>= 3.0) - addressable (2.7.0) + addressable (2.8.0) public_suffix (>= 2.0.2, < 5.0) anchored (1.1.0) arel (9.0.0) @@ -94,18 +86,22 @@ GEM browser (2.7.1) builder (3.2.4) byebug (11.1.3) - capybara (3.35.3) + capybara (3.36.0) addressable + matrix mini_mime (>= 0.1.3) nokogiri (~> 1.8) rack (>= 1.6.0) rack-test (>= 0.6.3) regexp_parser (>= 1.5, < 3.0) xpath (~> 3.2) - carrierwave (1.3.2) - activemodel (>= 4.0.0) - activesupport (>= 4.0.0) - mime-types (>= 1.16) + carrierwave (2.2.2) + activemodel (>= 5.0.0) + activesupport (>= 5.0.0) + addressable (~> 2.6) + image_processing (~> 1.1) + marcel (~> 1.0.0) + mini_mime (>= 0.1.3) ssrf_filter (~> 1.0) cells (4.1.7) declarative-builder (< 0.2.0) @@ -119,7 +115,8 @@ GEM actionpack (>= 3.0) cells (>= 4.1.6, < 5.0.0) charlock_holmes (0.7.7) - chef-utils (16.13.16) + chef-utils (17.7.29) + concurrent-ruby childprocess (3.0.0) coercible (1.0.0) descendants_tracker (~> 0.0.1) @@ -130,12 +127,13 @@ GEM coffee-script-source execjs coffee-script-source (1.12.2) - concurrent-ruby (1.1.8) + concurrent-ruby (1.1.9) connection_pool (2.2.5) + cookiejar (0.3.3) crack (0.4.5) rexml crass (1.0.6) - css_parser (1.9.0) + css_parser (1.10.0) addressable date_validator (0.9.0) activemodel @@ -143,72 +141,76 @@ GEM db-query-matchers (0.9.0) activesupport (>= 4.0, <= 6.0) rspec (~> 3.0) - decidim (0.23.5) - decidim-accountability (= 0.23.5) - decidim-admin (= 0.23.5) - decidim-api (= 0.23.5) - decidim-assemblies (= 0.23.5) - decidim-blogs (= 0.23.5) - decidim-budgets (= 0.23.5) - decidim-comments (= 0.23.5) - decidim-core (= 0.23.5) - decidim-debates (= 0.23.5) - decidim-forms (= 0.23.5) - decidim-generators (= 0.23.5) - decidim-meetings (= 0.23.5) - decidim-pages (= 0.23.5) - decidim-participatory_processes (= 0.23.5) - decidim-proposals (= 0.23.5) - decidim-sortitions (= 0.23.5) - decidim-surveys (= 0.23.5) - decidim-system (= 0.23.5) - decidim-verifications (= 0.23.5) - decidim-accountability (0.23.5) - decidim-comments (= 0.23.5) - decidim-core (= 0.23.5) + decidim (0.24.3) + decidim-accountability (= 0.24.3) + decidim-admin (= 0.24.3) + decidim-api (= 0.24.3) + decidim-assemblies (= 0.24.3) + decidim-blogs (= 0.24.3) + decidim-budgets (= 0.24.3) + decidim-comments (= 0.24.3) + decidim-core (= 0.24.3) + decidim-debates (= 0.24.3) + decidim-forms (= 0.24.3) + decidim-generators (= 0.24.3) + decidim-meetings (= 0.24.3) + decidim-pages (= 0.24.3) + decidim-participatory_processes (= 0.24.3) + decidim-proposals (= 0.24.3) + decidim-sortitions (= 0.24.3) + decidim-surveys (= 0.24.3) + decidim-system (= 0.24.3) + decidim-templates (= 0.24.3) + decidim-verifications (= 0.24.3) + decidim-accountability (0.24.3) + decidim-comments (= 0.24.3) + decidim-core (= 0.24.3) kaminari (~> 1.2, >= 1.2.1) searchlight (~> 4.1) - decidim-admin (0.23.5) + decidim-admin (0.24.3) active_link_to (~> 1.0) - decidim-core (= 0.23.5) + decidim-core (= 0.24.3) devise (~> 4.7) devise-i18n (~> 1.2) devise_invitable (~> 1.7) - jquery-rails (~> 4.3) - sassc (~> 2.3.0) + jquery-rails (~> 4.4) + sassc (~> 2.4.0) sassc-rails (~> 2.1.2) - decidim-api (0.23.5) + decidim-api (0.24.3) graphiql-rails (~> 1.4, < 1.5) - graphql (~> 1.9) + graphql (~> 1.12, >= 1.12.3) rack-cors (~> 1.0) - redcarpet (~> 3.4) + redcarpet (~> 3.5, >= 3.5.1) sprockets-es6 (~> 0.9.2) - decidim-assemblies (0.23.5) - decidim-core (= 0.23.5) - decidim-blogs (0.23.5) - decidim-admin (= 0.23.5) - decidim-comments (= 0.23.5) - decidim-core (= 0.23.5) - httparty (~> 0.17) + decidim-assemblies (0.24.3) + decidim-core (= 0.24.3) + decidim-blogs (0.24.3) + decidim-admin (= 0.24.3) + decidim-comments (= 0.24.3) + decidim-core (= 0.24.3) jquery-tmpl-rails (~> 1.1) kaminari (~> 1.2, >= 1.2.1) - decidim-budgets (0.23.5) - decidim-comments (= 0.23.5) - decidim-core (= 0.23.5) + decidim-budgets (0.24.3) + decidim-comments (= 0.24.3) + decidim-core (= 0.24.3) kaminari (~> 1.2, >= 1.2.1) searchlight (~> 4.1) - decidim-core (0.23.5) + decidim-comments (0.24.3) + decidim-core (= 0.24.3) + jquery-rails (~> 4.4) + redcarpet (~> 3.5, >= 3.5.1) + decidim-core (0.24.3) active_link_to (~> 1.0) - anchored (>= 1.1.0) + anchored (~> 1.1) autoprefixer-rails (~> 8.0) batch-loader (~> 1.2) browser (~> 2.7) - carrierwave (~> 1.3) + carrierwave (~> 2.2.1) cells-erb (~> 0.1.0) cells-rails (~> 0.0.9) charlock_holmes (~> 0.7) date_validator (~> 0.9.0) - decidim-api (= 0.23.5) + decidim-api (= 0.24.3) devise (~> 4.7) devise-i18n (~> 1.2) diffy (~> 3.3) @@ -216,12 +218,13 @@ GEM doorkeeper-i18n (~> 4.0) etherpad-lite (~> 0.3) file_validators (~> 2.1) + fog-local (~> 0.6) foundation-rails (~> 6.6, < 6.7) foundation_rails_helper (~> 3.0) - geocoder (>= 1.5) + geocoder (~> 1.5) hashdiff (>= 0.4.0, < 2.0.0) invisible_captcha (~> 0.12) - jquery-rails (~> 4.3) + jquery-rails (~> 4.4) kaminari (~> 1.2, >= 1.2.1) loofah (~> 2.3.1) mini_magick (~> 4.9) @@ -236,15 +239,15 @@ GEM pg (~> 1.1.4, < 2) pg_search (~> 2.2) premailer-rails (~> 1.10) - rack (>= 2.2.3) + rack (~> 2.2, >= 2.2.3) rack-attack (~> 6.0) - rails (>= 5.2.4.4, < 6.0.x) + rails (~> 5.2.6) rails-i18n (~> 5.0) rectify (~> 0.13.0) redis (~> 4.1) request_store (~> 1.5.0) rubyzip (~> 2.0) - sassc (~> 2.3.0) + sassc (~> 2.4.0) sassc-rails (~> 2.1.2) seven_zip_ruby (~> 1.3) social-share-button (~> 1.2, >= 1.2.1) @@ -255,9 +258,9 @@ GEM uglifier (~> 4.1) valid_email2 (~> 2.1) wisper (~> 2.0) - decidim-debates (0.23.5) - decidim-comments (= 0.23.5) - decidim-core (= 0.23.5) + decidim-debates (0.24.3) + decidim-comments (= 0.24.3) + decidim-core (= 0.24.3) kaminari (~> 1.2, >= 1.2.1) searchlight (~> 4.1) decidim-decidim_awesome (0.7.0) @@ -265,81 +268,86 @@ GEM decidim-core (>= 0.23.0, < 0.25) redcarpet (~> 3.4) sassc (~> 2.3) - decidim-dev (0.23.5) + decidim-dev (0.24.3) byebug (~> 11.0) capybara (~> 3.24) db-query-matchers (~> 0.9.0) - decidim (= 0.23.5) + decidim (= 0.24.3) erb_lint (~> 0.0.28) factory_bot_rails (~> 4.8) i18n-tasks (~> 0.9.18) mdl (~> 0.5) - nokogiri (>= 1.10.8) - puma (>= 4.3) + nokogiri (~> 1.11, >= 1.11.4) + puffing-billy (~> 2.4.0) + puma (~> 5.0) rails-controller-testing (~> 1.0) rspec-cells (~> 0.3.4) rspec-html-matchers (~> 0.9.1) rspec-rails (~> 3.7) rspec-retry (~> 0.6.2) rspec_junit_formatter (~> 0.3.0) - rubocop (~> 0.71.0) + rubocop (~> 0.92.0) rubocop-rails (~> 2.0) rubocop-rspec (~> 1.21) selenium-webdriver (~> 3.142) simplecov (~> 0.19.0) simplecov-cobertura (~> 1.3.1) system_test_html_screenshots (~> 0.1.1) + vcr (~> 6.0) webmock (~> 3.6) wisper-rspec (~> 1.0) - decidim-forms (0.23.5) - decidim-core (= 0.23.5) + decidim-forms (0.24.3) + decidim-core (= 0.24.3) wicked_pdf (~> 1.4) wkhtmltopdf-binary (~> 0.12) - decidim-generators (0.23.5) - decidim-core (= 0.23.5) - decidim-meetings (0.23.5) + decidim-generators (0.24.3) + decidim-core (= 0.24.3) + decidim-meetings (0.24.3) cells-erb (~> 0.1.0) cells-rails (~> 0.0.9) - decidim-core (= 0.23.5) - decidim-forms (= 0.23.5) - httparty (~> 0.17) + decidim-core (= 0.24.3) + decidim-forms (= 0.24.3) icalendar (~> 2.5) jquery-tmpl-rails (~> 1.1) kaminari (~> 1.2, >= 1.2.1) searchlight (~> 4.1) - decidim-pages (0.23.5) - decidim-core (= 0.23.5) - decidim-participatory_processes (0.23.5) - decidim-core (= 0.23.5) - decidim-proposals (0.23.5) + decidim-pages (0.24.3) + decidim-core (= 0.24.3) + decidim-participatory_processes (0.24.3) + decidim-core (= 0.24.3) + decidim-proposals (0.24.3) acts_as_list (~> 0.9) cells-erb (~> 0.1.0) cells-rails (~> 0.0.9) - decidim-comments (= 0.23.5) - decidim-core (= 0.23.5) - doc2text (~> 0.4.2) + decidim-comments (= 0.24.3) + decidim-core (= 0.24.3) + doc2text (~> 0.4.3) kaminari (~> 1.2, >= 1.2.1) ransack (~> 2.1.1) - redcarpet (~> 3.4) - decidim-sortitions (0.23.5) - decidim-admin (= 0.23.5) - decidim-comments (= 0.23.5) - decidim-core (= 0.23.5) - decidim-proposals (= 0.23.5) - decidim-surveys (0.23.5) - decidim-core (= 0.23.5) - decidim-forms (= 0.23.5) - decidim-system (0.23.5) + redcarpet (~> 3.5, >= 3.5.1) + decidim-sortitions (0.24.3) + decidim-admin (= 0.24.3) + decidim-comments (= 0.24.3) + decidim-core (= 0.24.3) + decidim-proposals (= 0.24.3) + decidim-surveys (0.24.3) + decidim-core (= 0.24.3) + decidim-forms (= 0.24.3) + decidim-templates (= 0.24.3) + decidim-system (0.24.3) active_link_to (~> 1.0) - decidim-core (= 0.23.5) + decidim-core (= 0.24.3) devise (~> 4.7) devise-i18n (~> 1.2) devise_invitable (~> 1.7) - jquery-rails (~> 4.3) - sassc (~> 2.3.0) + jquery-rails (~> 4.4) + sassc (~> 2.4.0) sassc-rails (~> 2.1.2) - decidim-verifications (0.23.5) - decidim-core (= 0.23.5) + decidim-templates (0.24.3) + decidim-core (= 0.24.3) + decidim-forms (= 0.24.3) + decidim-verifications (0.24.3) + decidim-core (= 0.24.3) declarative-builder (0.1.0) declarative-option (< 0.2.0) declarative-option (0.1.0) @@ -350,14 +358,14 @@ GEM rainbow (>= 2.1.0) descendants_tracker (0.0.4) thread_safe (~> 0.3, >= 0.3.1) - devise (4.7.3) + devise (4.8.0) bcrypt (~> 3.0) orm_adapter (~> 0.1) railties (>= 4.1.0) responders warden (~> 1.2.3) - devise-i18n (1.9.3) - devise (>= 4.7.1) + devise-i18n (1.10.1) + devise (>= 4.8.0) devise_invitable (1.7.5) actionmailer (>= 4.1.0) devise (>= 4.0.0) @@ -366,16 +374,26 @@ GEM doc2text (0.4.3) nokogiri (~> 1.11.1) rubyzip (~> 2.3.0) - docile (1.3.5) + docile (1.4.0) domain_name (0.5.20190701) unf (>= 0.0.5, < 1.0.0) - doorkeeper (5.5.1) + doorkeeper (5.5.4) railties (>= 5) doorkeeper-i18n (4.0.1) dotenv (2.7.6) dotenv-rails (2.7.6) dotenv (= 2.7.6) railties (>= 3.2) + em-http-request (1.1.7) + addressable (>= 2.3.4) + cookiejar (!= 0.3.1) + em-socksify (>= 0.3) + eventmachine (>= 1.0.3) + http_parser.rb (>= 0.6.0) + em-socksify (0.3.2) + eventmachine (>= 1.0.0.beta.4) + em-synchrony (1.0.6) + eventmachine (>= 1.0.0.beta.1) equalizer (0.0.11) erb_lint (0.0.37) activesupport @@ -390,8 +408,10 @@ GEM erubi (1.10.0) etherpad-lite (0.3.0) rest-client (>= 1.6) - excon (0.80.1) - execjs (2.7.0) + eventmachine (1.2.7) + eventmachine_httpserver (0.2.1) + excon (0.88.0) + execjs (2.8.1) factory_bot (4.11.1) activesupport (>= 3.0.0) factory_bot_rails (4.11.1) @@ -399,18 +419,26 @@ GEM railties (>= 3.0.0) faker (1.9.6) i18n (>= 0.7) - faraday (1.4.0) - faraday-excon (~> 1.0) + faraday (1.8.0) + faraday-em_http (~> 1.0) + faraday-em_synchrony (~> 1.0) + faraday-excon (~> 1.1) + faraday-httpclient (~> 1.0.1) faraday-net_http (~> 1.0) - faraday-net_http_persistent (~> 1.0) + faraday-net_http_persistent (~> 1.1) + faraday-patron (~> 1.0) + faraday-rack (~> 1.0) multipart-post (>= 1.2, < 3) ruby2_keywords (>= 0.0.4) - faraday-excon (1.0.0) - excon (>= 0.27.4) + faraday-em_http (1.0.0) + faraday-em_synchrony (1.0.0) + faraday-excon (1.1.0) + faraday-httpclient (1.0.1) faraday-net_http (1.0.1) - faraday-net_http_persistent (1.0.3) - net-http-persistent (>= 3.1) - ffi (1.15.0) + faraday-net_http_persistent (1.2.0) + faraday-patron (1.0.0) + faraday-rack (1.0.0) + ffi (1.15.4) figaro (1.2.0) thor (>= 0.14.0, < 2) file_validators (2.3.0) @@ -429,6 +457,8 @@ GEM fog-json (1.2.0) fog-core multi_json (~> 1.10) + fog-local (0.7.0) + fog-core (>= 1.27, < 3.0) fog-xml (0.1.3) fog-core nokogiri (>= 1.5.11, < 2.0.0) @@ -443,27 +473,25 @@ GEM activesupport (>= 4.1, < 6.0) railties (>= 4.1, < 6.0) tzinfo (~> 1.2, >= 1.2.2) - geocoder (1.6.6) - globalid (0.4.2) - activesupport (>= 4.2.0) + geocoder (1.7.0) + globalid (0.5.2) + activesupport (>= 5.0) graphiql-rails (1.4.11) railties sprockets-rails - graphql (1.12.8) + graphql (1.12.20) hashdiff (1.0.1) - hashie (4.1.0) + hashie (5.0.0) highline (2.0.3) html_tokenizer (0.0.7) htmlentities (4.3.4) http-accept (1.7.0) - http-cookie (1.0.3) + http-cookie (1.0.4) domain_name (~> 0.5) - httparty (0.18.1) - mime-types (~> 3.0) - multi_xml (>= 0.5.2) - i18n (1.8.10) + http_parser.rb (0.6.0) + i18n (1.8.11) concurrent-ruby (~> 1.0) - i18n-tasks (0.9.34) + i18n-tasks (0.9.35) activesupport (>= 4.0.2) ast (>= 2.1.0) erubi @@ -475,19 +503,21 @@ GEM terminal-table (>= 1.5.1) icalendar (2.7.1) ice_cube (~> 0.16) - ice_cube (0.16.3) + ice_cube (0.16.4) ice_nine (0.11.2) + image_processing (1.12.1) + mini_magick (>= 4.9.5, < 5) + ruby-vips (>= 2.0.17, < 3) invisible_captcha (0.13.0) rails (>= 3.2.0) ipaddress (0.8.3) - jaro_winkler (1.5.4) jquery-rails (4.4.0) rails-dom-testing (>= 1, < 3) railties (>= 4.2.0) thor (>= 0.14, < 2.0) jquery-tmpl-rails (1.1.0) rails (>= 3.1.0) - jwt (2.2.2) + jwt (2.3.0) kaminari (1.2.1) activesupport (>= 4.1.0) kaminari-actionview (= 1.2.1) @@ -520,7 +550,8 @@ GEM nokogiri (>= 1.5.9) mail (2.7.1) mini_mime (>= 0.1.1) - marcel (1.0.1) + marcel (1.0.2) + matrix (0.4.2) mdl (0.11.0) kramdown (~> 2.3) kramdown-parser-gfm (~> 1.1) @@ -528,15 +559,15 @@ GEM mixlib-config (>= 2.2.1, < 4) mixlib-shellout method_source (1.0.0) - mime-types (3.3.1) + mime-types (3.4.1) mime-types-data (~> 3.2015) - mime-types-data (3.2021.0225) + mime-types-data (3.2021.1115) mimemagic (0.3.10) nokogiri (~> 1) rake mini_magick (4.11.0) - mini_mime (1.1.0) - mini_portile2 (2.5.0) + mini_mime (1.1.2) + mini_portile2 (2.5.3) minitest (5.14.4) mixlib-cli (2.1.8) mixlib-config (3.0.9) @@ -548,16 +579,14 @@ GEM multi_xml (0.6.0) multipart-post (2.1.1) mustache (1.1.1) - net-http-persistent (4.0.1) - connection_pool (~> 2.2) netrc (0.11.0) newrelic_rpm (6.15.0) - nio4r (2.5.7) + nio4r (2.5.8) nobspw (0.6.2) - nokogiri (1.11.3) + nokogiri (1.11.7) mini_portile2 (~> 2.5.0) racc (~> 1.4) - oauth (0.5.6) + oauth (0.5.8) oauth2 (1.4.7) faraday (>= 0.8, < 2.0) jwt (>= 1.0, < 3.0) @@ -577,7 +606,7 @@ GEM omniauth-oauth (1.2.0) oauth omniauth (>= 1.0, < 3) - omniauth-oauth2 (1.7.1) + omniauth-oauth2 (1.7.2) oauth2 (~> 1.4) omniauth (>= 1.9, < 3) omniauth-rails_csrf_protection (0.1.2) @@ -590,15 +619,15 @@ GEM paper_trail (10.3.1) activerecord (>= 4.2) request_store (~> 1.1) - parallel (1.20.1) - parser (3.0.1.0) + parallel (1.21.0) + parser (3.0.2.0) ast (~> 2.4.1) pg (1.1.4) pg_search (2.3.5) activerecord (>= 5.2) activesupport (>= 5.2) polyglot (0.3.5) - premailer (1.14.2) + premailer (1.15.0) addressable css_parser (>= 1.6.0) htmlentities (>= 4.0.0) @@ -606,9 +635,17 @@ GEM actionmailer (>= 3) premailer (~> 1.7, >= 1.7.9) public_suffix (4.0.6) + puffing-billy (2.4.1) + addressable (~> 2.5) + em-http-request (~> 1.1, >= 1.1.0) + em-synchrony + eventmachine (~> 1.2) + eventmachine_httpserver + http_parser.rb (~> 0.6.0) + multi_json puma (5.2.2) nio4r (~> 2.0) - racc (1.5.2) + racc (1.6.0) rack (2.2.3) rack-attack (6.5.0) rack (>= 1.0, < 3) @@ -618,18 +655,18 @@ GEM rack rack-test (1.1.0) rack (>= 1.0, < 3) - rails (5.2.5) - actioncable (= 5.2.5) - actionmailer (= 5.2.5) - actionpack (= 5.2.5) - actionview (= 5.2.5) - activejob (= 5.2.5) - activemodel (= 5.2.5) - activerecord (= 5.2.5) - activestorage (= 5.2.5) - activesupport (= 5.2.5) + rails (5.2.6) + actioncable (= 5.2.6) + actionmailer (= 5.2.6) + actionpack (= 5.2.6) + actionview (= 5.2.6) + activejob (= 5.2.6) + activemodel (= 5.2.6) + activerecord (= 5.2.6) + activestorage (= 5.2.6) + activesupport (= 5.2.6) bundler (>= 1.3.0) - railties (= 5.2.5) + railties (= 5.2.6) sprockets-rails (>= 2.0.0) rails-controller-testing (1.0.5) actionpack (>= 5.0.1.rc1) @@ -638,25 +675,25 @@ GEM rails-dom-testing (2.0.3) activesupport (>= 4.2.0) nokogiri (>= 1.6) - rails-html-sanitizer (1.3.0) + rails-html-sanitizer (1.4.2) loofah (~> 2.3) rails-i18n (5.1.3) i18n (>= 0.7, < 2) railties (>= 5.0, < 6) - railties (5.2.5) - actionpack (= 5.2.5) - activesupport (= 5.2.5) + railties (5.2.6) + actionpack (= 5.2.6) + activesupport (= 5.2.6) method_source rake (>= 0.8.7) thor (>= 0.19.0, < 2.0) rainbow (3.0.0) - rake (13.0.3) + rake (13.0.6) ransack (2.1.1) actionpack (>= 5.0) activerecord (>= 5.0) activesupport (>= 5.0) i18n - rb-fsevent (0.10.4) + rb-fsevent (0.11.0) rb-inotify (0.10.1) ffi (~> 1.0) rectify (0.13.0) @@ -666,7 +703,7 @@ GEM virtus (~> 1.0.5) wisper (>= 1.6.1) redcarpet (3.5.1) - redis (4.2.5) + redis (4.5.1) regexp_parser (2.1.1) request_store (1.5.0) rack (>= 1.4) @@ -683,9 +720,9 @@ GEM rspec-core (~> 3.9.0) rspec-expectations (~> 3.9.0) rspec-mocks (~> 3.9.0) - rspec-cells (0.3.5) + rspec-cells (0.3.7) cells (>= 4.0.0, < 6.0.0) - rspec-rails (< 5.0) + rspec-rails (< 6.0) rspec-core (3.9.3) rspec-support (~> 3.9.3) rspec-expectations (3.9.2) @@ -710,28 +747,36 @@ GEM rspec-support (3.9.3) rspec_junit_formatter (0.3.0) rspec-core (>= 2, < 4, != 2.12.0) - rubocop (0.71.0) - jaro_winkler (~> 1.5.1) + rubocop (0.92.0) parallel (~> 1.10) - parser (>= 2.6) + parser (>= 2.7.1.5) rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.7) + rexml + rubocop-ast (>= 0.5.0) ruby-progressbar (~> 1.7) - unicode-display_width (>= 1.4.0, < 1.7) - rubocop-rails (2.0.1) + unicode-display_width (>= 1.4.0, < 2.0) + rubocop-ast (1.13.0) + parser (>= 3.0.1.1) + rubocop-rails (2.9.1) + activesupport (>= 4.2.0) rack (>= 1.1) - rubocop (>= 0.70.0) - rubocop-rspec (1.41.0) - rubocop (>= 0.68.1) + rubocop (>= 0.90.0, < 2.0) + rubocop-rspec (1.44.1) + rubocop (~> 0.87) + rubocop-ast (>= 0.7.1) ruby-ole (1.2.12.2) ruby-progressbar (1.11.0) - ruby2_keywords (0.0.4) - rubyzip (2.3.0) + ruby-vips (2.1.4) + ffi (~> 1.12) + ruby2_keywords (0.0.5) + rubyzip (2.3.2) sass (3.7.4) sass-listen (~> 4.0.0) sass-listen (4.0.0) rb-fsevent (~> 0.9, >= 0.9.4) rb-inotify (~> 0.9, >= 0.9.7) - sassc (2.3.0) + sassc (2.4.0) ffi (~> 1.9) sassc-rails (2.1.2) railties (>= 4.0.0) @@ -755,10 +800,10 @@ GEM simplecov-cobertura (1.3.1) simplecov (~> 0.8) simplecov-html (0.12.3) - smart_properties (1.15.0) + smart_properties (1.16.3) social-share-button (1.2.4) coffee-rails - spreadsheet (1.2.8) + spreadsheet (1.3.0) ruby-ole spring (2.1.1) spring-watcher-listen (2.0.1) @@ -771,16 +816,16 @@ GEM babel-source (>= 5.8.11) babel-transpiler sprockets (>= 3.0.0) - sprockets-rails (3.2.2) - actionpack (>= 4.0) - activesupport (>= 4.0) + sprockets-rails (3.4.0) + actionpack (>= 5.2) + activesupport (>= 5.2) sprockets (>= 3.0.0) ssrf_filter (1.0.7) system_test_html_screenshots (0.1.2) actionpack (>= 5.2, < 6.0.a) temple (0.8.2) - terminal-table (3.0.0) - unicode-display_width (~> 1.1, >= 1.1.1) + terminal-table (3.0.2) + unicode-display_width (>= 1.1.1, < 3) thor (1.1.0) thread_safe (0.3.6) tilt (2.0.10) @@ -795,11 +840,12 @@ GEM execjs (>= 0.3.0, < 3) unf (0.1.4) unf_ext - unf_ext (0.0.7.7) - unicode-display_width (1.6.1) + unf_ext (0.0.8) + unicode-display_width (1.8.0) valid_email2 (2.3.1) activemodel (>= 3.2) mail (~> 2.5) + vcr (6.0.0) virtus (1.0.5) axiom-types (~> 0.1) coercible (~> 1.0) @@ -812,11 +858,11 @@ GEM activemodel (>= 5.0) bindex (>= 0.4.0) railties (>= 5.0) - webmock (3.12.2) - addressable (>= 2.3.6) + webmock (3.14.0) + addressable (>= 2.8.0) crack (>= 0.3.2) hashdiff (>= 0.4.0, < 2.0.0) - websocket-driver (0.7.3) + websocket-driver (0.7.5) websocket-extensions (>= 0.1.0) websocket-extensions (0.1.5) wicked_pdf (1.4.0) @@ -835,10 +881,9 @@ PLATFORMS DEPENDENCIES bootsnap (~> 1.3) byebug (~> 11.0) - decidim (= 0.23.5) - decidim-comments! + decidim (= 0.24.3) decidim-decidim_awesome (~> 0.7.0) - decidim-dev (= 0.23.5) + decidim-dev (= 0.24.3) decidim-user_extension! deface dotenv-rails From 7fa4cfc3d6e059f73b0598b62d7b27cb00507b8e Mon Sep 17 00:00:00 2001 From: takahashim Date: Sun, 21 Nov 2021 14:01:09 +0900 Subject: [PATCH 03/22] Exec `bin/rails decidim:upgrade` --- ...w_statistics_from_organizations.decidim.rb | 8 ++++ ...create_decidim_user_moderations.decidim.rb | 13 ++++++ ...006_create_decidim_user_reports.decidim.rb | 17 ++++++++ ...pension_fields_to_decidim_users.decidim.rb | 9 +++++ ...create_decidim_user_suspensions.decidim.rb | 15 +++++++ ..._suspension_id_to_decidim_users.decidim.rb | 8 ++++ ...reported_content_to_moderations.decidim.rb | 8 ++++ ...dd_locale_to_moderation_reports.decidim.rb | 8 ++++ ...encrypt_authorization_metadatas.decidim.rb | 36 +++++++++++++++++ ...w_public_access_to_static_pages.decidim.rb | 18 +++++++++ ..._table_block_user_functionality.decidim.rb | 9 +++++ ..._fields_for_block_functionality.decidim.rb | 10 +++++ ...d_email_on_moderations_to_users.decidim.rb | 8 ++++ ...llowable_counter_cache_to_users.decidim.rb | 17 ++++++++ ...o_decidim_forms_questions.decidim_forms.rb | 8 ++++ ...cations_conflicts.decidim_verifications.rb | 16 ++++++++ ..._groups.decidim_participatory_processes.rb | 8 ++++ ..._groups.decidim_participatory_processes.rb | 14 +++++++ ..._groups.decidim_participatory_processes.rb | 40 +++++++++++++++++++ ..._groups.decidim_participatory_processes.rb | 8 ++++ ...ocesses.decidim_participatory_processes.rb | 8 ++++ ...ocesses.decidim_participatory_processes.rb | 17 ++++++++ ...ht_field_to_assembly.decidim_assemblies.rb | 8 ++++ ..._cache_to_assemblies.decidim_assemblies.rb | 17 ++++++++ ...add_online_meeting_url.decidim_meetings.rb | 8 ++++ ...29_add_type_of_meeting.decidim_meetings.rb | 8 ++++ ...pe_and_url_to_meetings.decidim_meetings.rb | 20 ++++++++++ ...nter_cache_to_meetings.decidim_meetings.rb | 17 ++++++++ ...er_cache_to_proposals.decidim_proposals.rb | 17 ++++++++ ..._collaborative_drafts.decidim_proposals.rb | 17 ++++++++ ...ounter_cache_to_budgets.decidim_budgets.rb | 17 ++++++++ ...scope_to_debates_debate.decidim_debates.rb | 8 ++++ ...1050036_archive_debates.decidim_debates.rb | 9 +++++ ..._revert_archive_debates.decidim_debates.rb | 9 +++++ ...ounter_cache_to_debates.decidim_debates.rb | 17 ++++++++ ...le_counter_cache_to_blogs.decidim_blogs.rb | 17 ++++++++ 36 files changed, 492 insertions(+) create mode 100644 db/migrate/20211121050004_remove_show_statistics_from_organizations.decidim.rb create mode 100644 db/migrate/20211121050005_create_decidim_user_moderations.decidim.rb create mode 100644 db/migrate/20211121050006_create_decidim_user_reports.decidim.rb create mode 100644 db/migrate/20211121050007_add_suspension_fields_to_decidim_users.decidim.rb create mode 100644 db/migrate/20211121050008_create_decidim_user_suspensions.decidim.rb create mode 100644 db/migrate/20211121050009_add_current_suspension_id_to_decidim_users.decidim.rb create mode 100644 db/migrate/20211121050010_add_reported_content_to_moderations.decidim.rb create mode 100644 db/migrate/20211121050011_add_locale_to_moderation_reports.decidim.rb create mode 100644 db/migrate/20211121050012_encrypt_authorization_metadatas.decidim.rb create mode 100644 db/migrate/20211121050013_add_allow_public_access_to_static_pages.decidim.rb create mode 100644 db/migrate/20211121050014_update_table_block_user_functionality.decidim.rb create mode 100644 db/migrate/20211121050015_rename_decidim_user_fields_for_block_functionality.decidim.rb create mode 100644 db/migrate/20211121050016_add_email_on_moderations_to_users.decidim.rb create mode 100644 db/migrate/20211121050017_add_followable_counter_cache_to_users.decidim.rb create mode 100644 db/migrate/20211121050018_add_max_characters_to_decidim_forms_questions.decidim_forms.rb create mode 100644 db/migrate/20211121050019_create_decidim_verifications_conflicts.decidim_verifications.rb create mode 100644 db/migrate/20211121050020_add_hashtag_to_participatory_process_groups.decidim_participatory_processes.rb create mode 100644 db/migrate/20211121050021_add_metadata_columns_to_participatory_process_groups.decidim_participatory_processes.rb create mode 100644 db/migrate/20211121050022_rename_name_column_to_title_in_decidim_participatory_process_groups.decidim_participatory_processes.rb create mode 100644 db/migrate/20211121050023_add_promoted_flag_to_decidim_participatory_process_groups.decidim_participatory_processes.rb create mode 100644 db/migrate/20211121050024_add_weight_field_to_participatory_processes.decidim_participatory_processes.rb create mode 100644 db/migrate/20211121050025_add_followable_counter_cache_to_participatory_processes.decidim_participatory_processes.rb create mode 100644 db/migrate/20211121050026_add_weight_field_to_assembly.decidim_assemblies.rb create mode 100644 db/migrate/20211121050027_add_followable_counter_cache_to_assemblies.decidim_assemblies.rb create mode 100644 db/migrate/20211121050028_add_online_meeting_url.decidim_meetings.rb create mode 100644 db/migrate/20211121050029_add_type_of_meeting.decidim_meetings.rb create mode 100644 db/migrate/20211121050030_add_registration_type_and_url_to_meetings.decidim_meetings.rb create mode 100644 db/migrate/20211121050031_add_followable_counter_cache_to_meetings.decidim_meetings.rb create mode 100644 db/migrate/20211121050032_add_followable_counter_cache_to_proposals.decidim_proposals.rb create mode 100644 db/migrate/20211121050033_add_followable_counter_cache_to_collaborative_drafts.decidim_proposals.rb create mode 100644 db/migrate/20211121050034_add_followable_counter_cache_to_budgets.decidim_budgets.rb create mode 100644 db/migrate/20211121050035_add_scope_to_debates_debate.decidim_debates.rb create mode 100644 db/migrate/20211121050036_archive_debates.decidim_debates.rb create mode 100644 db/migrate/20211121050037_revert_archive_debates.decidim_debates.rb create mode 100644 db/migrate/20211121050038_add_followable_counter_cache_to_debates.decidim_debates.rb create mode 100644 db/migrate/20211121050039_add_followable_counter_cache_to_blogs.decidim_blogs.rb diff --git a/db/migrate/20211121050004_remove_show_statistics_from_organizations.decidim.rb b/db/migrate/20211121050004_remove_show_statistics_from_organizations.decidim.rb new file mode 100644 index 0000000000..cb77c106bc --- /dev/null +++ b/db/migrate/20211121050004_remove_show_statistics_from_organizations.decidim.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true +# This migration comes from decidim (originally 20200929171508) + +class RemoveShowStatisticsFromOrganizations < ActiveRecord::Migration[5.2] + def change + remove_column :decidim_organizations, :show_statistics + end +end diff --git a/db/migrate/20211121050005_create_decidim_user_moderations.decidim.rb b/db/migrate/20211121050005_create_decidim_user_moderations.decidim.rb new file mode 100644 index 0000000000..61c5d18d7f --- /dev/null +++ b/db/migrate/20211121050005_create_decidim_user_moderations.decidim.rb @@ -0,0 +1,13 @@ +# frozen_string_literal: true +# This migration comes from decidim (originally 20201010124755) + +class CreateDecidimUserModerations < ActiveRecord::Migration[5.2] + def change + create_table :decidim_user_moderations do |t| + t.belongs_to :decidim_user, foreign_key: true + t.integer :report_count, default: 0, null: false + + t.timestamps + end + end +end diff --git a/db/migrate/20211121050006_create_decidim_user_reports.decidim.rb b/db/migrate/20211121050006_create_decidim_user_reports.decidim.rb new file mode 100644 index 0000000000..79bdadbc38 --- /dev/null +++ b/db/migrate/20211121050006_create_decidim_user_reports.decidim.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true +# This migration comes from decidim (originally 20201010124756) + +class CreateDecidimUserReports < ActiveRecord::Migration[5.2] + def change + create_table :decidim_user_reports do |t| + t.integer :user_moderation_id, foreign_key: true + t.integer :user_id, null: false + t.string :reason + t.text :details + + t.timestamps + end + add_foreign_key :decidim_user_reports, :decidim_user_moderations, column: :user_moderation_id + add_foreign_key :decidim_user_reports, :decidim_users, column: :user_id + end +end diff --git a/db/migrate/20211121050007_add_suspension_fields_to_decidim_users.decidim.rb b/db/migrate/20211121050007_add_suspension_fields_to_decidim_users.decidim.rb new file mode 100644 index 0000000000..d839896095 --- /dev/null +++ b/db/migrate/20211121050007_add_suspension_fields_to_decidim_users.decidim.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true +# This migration comes from decidim (originally 20201010224433) + +class AddSuspensionFieldsToDecidimUsers < ActiveRecord::Migration[5.2] + def change + add_column :decidim_users, :suspended, :boolean, default: false, null: false + add_column :decidim_users, :suspended_at, :datetime + end +end diff --git a/db/migrate/20211121050008_create_decidim_user_suspensions.decidim.rb b/db/migrate/20211121050008_create_decidim_user_suspensions.decidim.rb new file mode 100644 index 0000000000..68b453af99 --- /dev/null +++ b/db/migrate/20211121050008_create_decidim_user_suspensions.decidim.rb @@ -0,0 +1,15 @@ +# frozen_string_literal: true +# This migration comes from decidim (originally 20201011074641) + +class CreateDecidimUserSuspensions < ActiveRecord::Migration[5.2] + def change + create_table :decidim_user_suspensions do |t| + t.belongs_to :decidim_user, foreign_key: true + t.integer :suspending_user_id + t.text :justification + + t.timestamps + end + add_foreign_key :decidim_user_suspensions, :decidim_users, column: :suspending_user_id + end +end diff --git a/db/migrate/20211121050009_add_current_suspension_id_to_decidim_users.decidim.rb b/db/migrate/20211121050009_add_current_suspension_id_to_decidim_users.decidim.rb new file mode 100644 index 0000000000..fa5752e23e --- /dev/null +++ b/db/migrate/20211121050009_add_current_suspension_id_to_decidim_users.decidim.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true +# This migration comes from decidim (originally 20201011081626) + +class AddCurrentSuspensionIdToDecidimUsers < ActiveRecord::Migration[5.2] + def change + add_column :decidim_users, :suspension_id, :integer + end +end diff --git a/db/migrate/20211121050010_add_reported_content_to_moderations.decidim.rb b/db/migrate/20211121050010_add_reported_content_to_moderations.decidim.rb new file mode 100644 index 0000000000..d37af03902 --- /dev/null +++ b/db/migrate/20211121050010_add_reported_content_to_moderations.decidim.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true +# This migration comes from decidim (originally 20201013071533) + +class AddReportedContentToModerations < ActiveRecord::Migration[5.2] + def change + add_column :decidim_moderations, :reported_content, :text + end +end diff --git a/db/migrate/20211121050011_add_locale_to_moderation_reports.decidim.rb b/db/migrate/20211121050011_add_locale_to_moderation_reports.decidim.rb new file mode 100644 index 0000000000..36bca7b34f --- /dev/null +++ b/db/migrate/20211121050011_add_locale_to_moderation_reports.decidim.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true +# This migration comes from decidim (originally 20201019074554) + +class AddLocaleToModerationReports < ActiveRecord::Migration[5.2] + def change + add_column :decidim_reports, :locale, :string + end +end diff --git a/db/migrate/20211121050012_encrypt_authorization_metadatas.decidim.rb b/db/migrate/20211121050012_encrypt_authorization_metadatas.decidim.rb new file mode 100644 index 0000000000..0583061b0b --- /dev/null +++ b/db/migrate/20211121050012_encrypt_authorization_metadatas.decidim.rb @@ -0,0 +1,36 @@ +# frozen_string_literal: true +# This migration comes from decidim (originally 20201127114444) + +class EncryptAuthorizationMetadatas < ActiveRecord::Migration[5.2] + def up + Decidim::Authorization.all.each do |auth| + # Re-setting these values will internally convert the hash values to + # encypted values + auth.update!( + metadata: auth.metadata, + verification_metadata: auth.verification_metadata + ) + end + end + + def down + Decidim::Authorization.all.each do |auth| + # rubocop:disable Rails/SkipsModelValidations + auth.update_columns( + metadata: decrypt_hash(auth.metadata), + verification_metadata: decrypt_hash(auth.verification_metadata) + ) + # rubocop:enable Rails/SkipsModelValidations + end + end + + private + + def decrypt_hash(hash) + hash.transform_values do |value| + ActiveSupport::JSON.decode(Decidim::AttributeEncryptor.decrypt(value)) + rescue ActiveSupport::MessageEncryptor::InvalidMessage, ActiveSupport::MessageVerifier::InvalidSignature + value + end + end +end diff --git a/db/migrate/20211121050013_add_allow_public_access_to_static_pages.decidim.rb b/db/migrate/20211121050013_add_allow_public_access_to_static_pages.decidim.rb new file mode 100644 index 0000000000..5ca91ad021 --- /dev/null +++ b/db/migrate/20211121050013_add_allow_public_access_to_static_pages.decidim.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true +# This migration comes from decidim (originally 20201128130723) + +class AddAllowPublicAccessToStaticPages < ActiveRecord::Migration[5.2] + def change + add_column :decidim_static_pages, :allow_public_access, :boolean, null: false, default: false + + reversible do |direction| + direction.up do + # rubocop:disable Rails/SkipsModelValidations + Decidim::StaticPage.where(slug: "terms-and-conditions").update_all( + allow_public_access: true + ) + # rubocop:enable Rails/SkipsModelValidations + end + end + end +end diff --git a/db/migrate/20211121050014_update_table_block_user_functionality.decidim.rb b/db/migrate/20211121050014_update_table_block_user_functionality.decidim.rb new file mode 100644 index 0000000000..a5b9c0e172 --- /dev/null +++ b/db/migrate/20211121050014_update_table_block_user_functionality.decidim.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true +# This migration comes from decidim (originally 20201218144706) + +class UpdateTableBlockUserFunctionality < ActiveRecord::Migration[5.2] + def change + rename_column :decidim_user_suspensions, :suspending_user_id, :blocking_user_id + rename_table :decidim_user_suspensions, :decidim_user_blocks + end +end diff --git a/db/migrate/20211121050015_rename_decidim_user_fields_for_block_functionality.decidim.rb b/db/migrate/20211121050015_rename_decidim_user_fields_for_block_functionality.decidim.rb new file mode 100644 index 0000000000..ef43862c4b --- /dev/null +++ b/db/migrate/20211121050015_rename_decidim_user_fields_for_block_functionality.decidim.rb @@ -0,0 +1,10 @@ +# frozen_string_literal: true +# This migration comes from decidim (originally 20201218145252) + +class RenameDecidimUserFieldsForBlockFunctionality < ActiveRecord::Migration[5.2] + def change + rename_column :decidim_users, :suspended, :blocked + rename_column :decidim_users, :suspended_at, :blocked_at + rename_column :decidim_users, :suspension_id, :block_id + end +end diff --git a/db/migrate/20211121050016_add_email_on_moderations_to_users.decidim.rb b/db/migrate/20211121050016_add_email_on_moderations_to_users.decidim.rb new file mode 100644 index 0000000000..c04978d8df --- /dev/null +++ b/db/migrate/20211121050016_add_email_on_moderations_to_users.decidim.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true +# This migration comes from decidim (originally 20210208134328) + +class AddEmailOnModerationsToUsers < ActiveRecord::Migration[5.2] + def change + add_column :decidim_users, :email_on_moderations, :boolean, default: true + end +end diff --git a/db/migrate/20211121050017_add_followable_counter_cache_to_users.decidim.rb b/db/migrate/20211121050017_add_followable_counter_cache_to_users.decidim.rb new file mode 100644 index 0000000000..1f0e0029b7 --- /dev/null +++ b/db/migrate/20211121050017_add_followable_counter_cache_to_users.decidim.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true +# This migration comes from decidim (originally 20210310120640) + +class AddFollowableCounterCacheToUsers < ActiveRecord::Migration[5.2] + def change + add_column :decidim_users, :follows_count, :integer, null: false, default: 0, index: true + + reversible do |dir| + dir.up do + Decidim::User.reset_column_information + Decidim::User.find_each do |record| + record.class.reset_counters(record.id, :follows) + end + end + end + end +end diff --git a/db/migrate/20211121050018_add_max_characters_to_decidim_forms_questions.decidim_forms.rb b/db/migrate/20211121050018_add_max_characters_to_decidim_forms_questions.decidim_forms.rb new file mode 100644 index 0000000000..b24ef1e36a --- /dev/null +++ b/db/migrate/20211121050018_add_max_characters_to_decidim_forms_questions.decidim_forms.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true +# This migration comes from decidim_forms (originally 20210208094442) + +class AddMaxCharactersToDecidimFormsQuestions < ActiveRecord::Migration[5.2] + def change + add_column :decidim_forms_questions, :max_characters, :integer, default: 0 + end +end diff --git a/db/migrate/20211121050019_create_decidim_verifications_conflicts.decidim_verifications.rb b/db/migrate/20211121050019_create_decidim_verifications_conflicts.decidim_verifications.rb new file mode 100644 index 0000000000..53b9daba03 --- /dev/null +++ b/db/migrate/20211121050019_create_decidim_verifications_conflicts.decidim_verifications.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true +# This migration comes from decidim_verifications (originally 20201028161118) + +class CreateDecidimVerificationsConflicts < ActiveRecord::Migration[5.2] + def change + create_table :decidim_verifications_conflicts do |t| + t.references :current_user, index: { name: "authorization_current_user" }, foreign_key: { to_table: :decidim_users } + t.references :managed_user, index: { name: "authorization_managed_user" }, foreign_key: { to_table: :decidim_users } + t.integer :times, default: 0 + t.string :unique_id + t.boolean :solved, default: false + + t.timestamps + end + end +end diff --git a/db/migrate/20211121050020_add_hashtag_to_participatory_process_groups.decidim_participatory_processes.rb b/db/migrate/20211121050020_add_hashtag_to_participatory_process_groups.decidim_participatory_processes.rb new file mode 100644 index 0000000000..c6186cab45 --- /dev/null +++ b/db/migrate/20211121050020_add_hashtag_to_participatory_process_groups.decidim_participatory_processes.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true +# This migration comes from decidim_participatory_processes (originally 20201007215105) + +class AddHashtagToParticipatoryProcessGroups < ActiveRecord::Migration[5.2] + def change + add_column :decidim_participatory_process_groups, :hashtag, :string + end +end diff --git a/db/migrate/20211121050021_add_metadata_columns_to_participatory_process_groups.decidim_participatory_processes.rb b/db/migrate/20211121050021_add_metadata_columns_to_participatory_process_groups.decidim_participatory_processes.rb new file mode 100644 index 0000000000..0efe84f5f4 --- /dev/null +++ b/db/migrate/20211121050021_add_metadata_columns_to_participatory_process_groups.decidim_participatory_processes.rb @@ -0,0 +1,14 @@ +# frozen_string_literal: true +# This migration comes from decidim_participatory_processes (originally 20201008154315) + +class AddMetadataColumnsToParticipatoryProcessGroups < ActiveRecord::Migration[5.2] + def change + add_column :decidim_participatory_process_groups, :group_url, :string + add_column :decidim_participatory_process_groups, :developer_group, :jsonb + add_column :decidim_participatory_process_groups, :local_area, :jsonb + add_column :decidim_participatory_process_groups, :meta_scope, :jsonb + add_column :decidim_participatory_process_groups, :target, :jsonb + add_column :decidim_participatory_process_groups, :participatory_scope, :jsonb + add_column :decidim_participatory_process_groups, :participatory_structure, :jsonb + end +end diff --git a/db/migrate/20211121050022_rename_name_column_to_title_in_decidim_participatory_process_groups.decidim_participatory_processes.rb b/db/migrate/20211121050022_rename_name_column_to_title_in_decidim_participatory_process_groups.decidim_participatory_processes.rb new file mode 100644 index 0000000000..3efa4e7172 --- /dev/null +++ b/db/migrate/20211121050022_rename_name_column_to_title_in_decidim_participatory_process_groups.decidim_participatory_processes.rb @@ -0,0 +1,40 @@ +# frozen_string_literal: true +# This migration comes from decidim_participatory_processes (originally 20201013105520) + +class RenameNameColumnToTitleInDecidimParticipatoryProcessGroups < ActiveRecord::Migration[5.2] + def up + rename_column :decidim_participatory_process_groups, :name, :title + PaperTrail::Version.where(item_type: "Decidim::ParticipatoryProcessGroup").each do |version| + # rubocop:disable Rails/SkipsModelValidations + version.update_attribute(:object_changes, version.object_changes.gsub(/^name:/, "title:")) if version.object_changes.present? + # rubocop:enable Rails/SkipsModelValidations + + next unless version.object.present? && version.object.has_key?("name") + + object = version.object + object["title"] = object.delete("name") + + # rubocop:disable Rails/SkipsModelValidations + version.update_attribute(:object, object) + # rubocop:enable Rails/SkipsModelValidations + end + end + + def down + PaperTrail::Version.where(item_type: "Decidim::ParticipatoryProcessGroup").each do |version| + # rubocop:disable Rails/SkipsModelValidations + version.update_attribute(:object_changes, version.object_changes.gsub(/^title:/, "name:")) if version.object_changes.present? + # rubocop:enable Rails/SkipsModelValidations + + next unless version.object.present? && version.object.has_key?("title") + + object = version.object + object["name"] = object.delete("title") + + # rubocop:disable Rails/SkipsModelValidations + version.update_attribute(:object, object) + # rubocop:enable Rails/SkipsModelValidations + end + rename_column :decidim_participatory_process_groups, :title, :name + end +end diff --git a/db/migrate/20211121050023_add_promoted_flag_to_decidim_participatory_process_groups.decidim_participatory_processes.rb b/db/migrate/20211121050023_add_promoted_flag_to_decidim_participatory_process_groups.decidim_participatory_processes.rb new file mode 100644 index 0000000000..e63002a094 --- /dev/null +++ b/db/migrate/20211121050023_add_promoted_flag_to_decidim_participatory_process_groups.decidim_participatory_processes.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true +# This migration comes from decidim_participatory_processes (originally 20201030133444) + +class AddPromotedFlagToDecidimParticipatoryProcessGroups < ActiveRecord::Migration[5.2] + def change + add_column :decidim_participatory_process_groups, :promoted, :boolean, default: false, index: true + end +end diff --git a/db/migrate/20211121050024_add_weight_field_to_participatory_processes.decidim_participatory_processes.rb b/db/migrate/20211121050024_add_weight_field_to_participatory_processes.decidim_participatory_processes.rb new file mode 100644 index 0000000000..f9a3d2af29 --- /dev/null +++ b/db/migrate/20211121050024_add_weight_field_to_participatory_processes.decidim_participatory_processes.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true +# This migration comes from decidim_participatory_processes (originally 20210204154593) + +class AddWeightFieldToParticipatoryProcesses < ActiveRecord::Migration[5.2] + def change + add_column :decidim_participatory_processes, :weight, :integer, null: false, default: true + end +end diff --git a/db/migrate/20211121050025_add_followable_counter_cache_to_participatory_processes.decidim_participatory_processes.rb b/db/migrate/20211121050025_add_followable_counter_cache_to_participatory_processes.decidim_participatory_processes.rb new file mode 100644 index 0000000000..188adcdf03 --- /dev/null +++ b/db/migrate/20211121050025_add_followable_counter_cache_to_participatory_processes.decidim_participatory_processes.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true +# This migration comes from decidim_participatory_processes (originally 20210310120750) + +class AddFollowableCounterCacheToParticipatoryProcesses < ActiveRecord::Migration[5.2] + def change + add_column :decidim_participatory_processes, :follows_count, :integer, null: false, default: 0, index: true + + reversible do |dir| + dir.up do + Decidim::ParticipatoryProcess.reset_column_information + Decidim::ParticipatoryProcess.find_each do |record| + record.class.reset_counters(record.id, :follows) + end + end + end + end +end diff --git a/db/migrate/20211121050026_add_weight_field_to_assembly.decidim_assemblies.rb b/db/migrate/20211121050026_add_weight_field_to_assembly.decidim_assemblies.rb new file mode 100644 index 0000000000..d111eb0b30 --- /dev/null +++ b/db/migrate/20211121050026_add_weight_field_to_assembly.decidim_assemblies.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true +# This migration comes from decidim_assemblies (originally 20210204152393) + +class AddWeightFieldToAssembly < ActiveRecord::Migration[5.2] + def change + add_column :decidim_assemblies, :weight, :integer, null: false, default: true + end +end diff --git a/db/migrate/20211121050027_add_followable_counter_cache_to_assemblies.decidim_assemblies.rb b/db/migrate/20211121050027_add_followable_counter_cache_to_assemblies.decidim_assemblies.rb new file mode 100644 index 0000000000..f56e5f345f --- /dev/null +++ b/db/migrate/20211121050027_add_followable_counter_cache_to_assemblies.decidim_assemblies.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true +# This migration comes from decidim_assemblies (originally 20210310120444) + +class AddFollowableCounterCacheToAssemblies < ActiveRecord::Migration[5.2] + def change + add_column :decidim_assemblies, :follows_count, :integer, null: false, default: 0, index: true + + reversible do |dir| + dir.up do + Decidim::Assembly.reset_column_information + Decidim::Assembly.find_each do |record| + record.class.reset_counters(record.id, :follows) + end + end + end + end +end diff --git a/db/migrate/20211121050028_add_online_meeting_url.decidim_meetings.rb b/db/migrate/20211121050028_add_online_meeting_url.decidim_meetings.rb new file mode 100644 index 0000000000..0536c129e1 --- /dev/null +++ b/db/migrate/20211121050028_add_online_meeting_url.decidim_meetings.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true +# This migration comes from decidim_meetings (originally 20201006140511) + +class AddOnlineMeetingUrl < ActiveRecord::Migration[5.2] + def change + add_column :decidim_meetings_meetings, :online_meeting_url, :string + end +end diff --git a/db/migrate/20211121050029_add_type_of_meeting.decidim_meetings.rb b/db/migrate/20211121050029_add_type_of_meeting.decidim_meetings.rb new file mode 100644 index 0000000000..a429f8884b --- /dev/null +++ b/db/migrate/20211121050029_add_type_of_meeting.decidim_meetings.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true +# This migration comes from decidim_meetings (originally 20201009124057) + +class AddTypeOfMeeting < ActiveRecord::Migration[5.2] + def change + add_column :decidim_meetings_meetings, :type_of_meeting, :string, default: "in_person" + end +end diff --git a/db/migrate/20211121050030_add_registration_type_and_url_to_meetings.decidim_meetings.rb b/db/migrate/20211121050030_add_registration_type_and_url_to_meetings.decidim_meetings.rb new file mode 100644 index 0000000000..e564d4ab83 --- /dev/null +++ b/db/migrate/20211121050030_add_registration_type_and_url_to_meetings.decidim_meetings.rb @@ -0,0 +1,20 @@ +# frozen_string_literal: true +# This migration comes from decidim_meetings (originally 20201016112641) + +class AddRegistrationTypeAndUrlToMeetings < ActiveRecord::Migration[5.2] + class Meetings < ApplicationRecord + self.table_name = :decidim_meetings_meetings + include Decidim::HasComponent + end + + def change + add_column :decidim_meetings_meetings, :registration_type, :string, null: false, default: "registration_disabled" + add_column :decidim_meetings_meetings, :registration_url, :string + + Meetings.reset_column_information + Meetings.find_each do |meeting| + meeting.registration_type = "on_this_platform" if meeting.decidim_author_type == "Decidim::Organization" + meeting.save! + end + end +end diff --git a/db/migrate/20211121050031_add_followable_counter_cache_to_meetings.decidim_meetings.rb b/db/migrate/20211121050031_add_followable_counter_cache_to_meetings.decidim_meetings.rb new file mode 100644 index 0000000000..fa6d92436f --- /dev/null +++ b/db/migrate/20211121050031_add_followable_counter_cache_to_meetings.decidim_meetings.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true +# This migration comes from decidim_meetings (originally 20210310120731) + +class AddFollowableCounterCacheToMeetings < ActiveRecord::Migration[5.2] + def change + add_column :decidim_meetings_meetings, :follows_count, :integer, null: false, default: 0, index: true + + reversible do |dir| + dir.up do + Decidim::Meetings::Meeting.reset_column_information + Decidim::Meetings::Meeting.find_each do |record| + record.class.reset_counters(record.id, :follows) + end + end + end + end +end diff --git a/db/migrate/20211121050032_add_followable_counter_cache_to_proposals.decidim_proposals.rb b/db/migrate/20211121050032_add_followable_counter_cache_to_proposals.decidim_proposals.rb new file mode 100644 index 0000000000..0eb81ad057 --- /dev/null +++ b/db/migrate/20211121050032_add_followable_counter_cache_to_proposals.decidim_proposals.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true +# This migration comes from decidim_proposals (originally 20210310102839) + +class AddFollowableCounterCacheToProposals < ActiveRecord::Migration[5.2] + def change + add_column :decidim_proposals_proposals, :follows_count, :integer, null: false, default: 0, index: true + + reversible do |dir| + dir.up do + Decidim::Proposals::Proposal.reset_column_information + Decidim::Proposals::Proposal.find_each do |record| + record.class.reset_counters(record.id, :follows) + end + end + end + end +end diff --git a/db/migrate/20211121050033_add_followable_counter_cache_to_collaborative_drafts.decidim_proposals.rb b/db/migrate/20211121050033_add_followable_counter_cache_to_collaborative_drafts.decidim_proposals.rb new file mode 100644 index 0000000000..1d9209c421 --- /dev/null +++ b/db/migrate/20211121050033_add_followable_counter_cache_to_collaborative_drafts.decidim_proposals.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true +# This migration comes from decidim_proposals (originally 20210310120812) + +class AddFollowableCounterCacheToCollaborativeDrafts < ActiveRecord::Migration[5.2] + def change + add_column :decidim_proposals_collaborative_drafts, :follows_count, :integer, null: false, default: 0, index: true + + reversible do |dir| + dir.up do + Decidim::Proposals::CollaborativeDraft.reset_column_information + Decidim::Proposals::CollaborativeDraft.find_each do |record| + record.class.reset_counters(record.id, :follows) + end + end + end + end +end diff --git a/db/migrate/20211121050034_add_followable_counter_cache_to_budgets.decidim_budgets.rb b/db/migrate/20211121050034_add_followable_counter_cache_to_budgets.decidim_budgets.rb new file mode 100644 index 0000000000..8b8d0454a7 --- /dev/null +++ b/db/migrate/20211121050034_add_followable_counter_cache_to_budgets.decidim_budgets.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true +# This migration comes from decidim_budgets (originally 20210310120613) + +class AddFollowableCounterCacheToBudgets < ActiveRecord::Migration[5.2] + def change + add_column :decidim_budgets_projects, :follows_count, :integer, null: false, default: 0, index: true + + reversible do |dir| + dir.up do + Decidim::Budgets::Project.reset_column_information + Decidim::Budgets::Project.find_each do |record| + record.class.reset_counters(record.id, :follows) + end + end + end + end +end diff --git a/db/migrate/20211121050035_add_scope_to_debates_debate.decidim_debates.rb b/db/migrate/20211121050035_add_scope_to_debates_debate.decidim_debates.rb new file mode 100644 index 0000000000..2aa45964d6 --- /dev/null +++ b/db/migrate/20211121050035_add_scope_to_debates_debate.decidim_debates.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true +# This migration comes from decidim_debates (originally 20200930145546) + +class AddScopeToDebatesDebate < ActiveRecord::Migration[5.2] + def change + add_reference :decidim_debates_debates, :decidim_scope, foreign_key: true, index: true + end +end diff --git a/db/migrate/20211121050036_archive_debates.decidim_debates.rb b/db/migrate/20211121050036_archive_debates.decidim_debates.rb new file mode 100644 index 0000000000..886ddfff71 --- /dev/null +++ b/db/migrate/20211121050036_archive_debates.decidim_debates.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true +# This migration comes from decidim_debates (originally 20201126112752) + +class ArchiveDebates < ActiveRecord::Migration[5.2] + def change + add_column :decidim_debates_debates, :archived_at, :datetime + add_index :decidim_debates_debates, :archived_at + end +end diff --git a/db/migrate/20211121050037_revert_archive_debates.decidim_debates.rb b/db/migrate/20211121050037_revert_archive_debates.decidim_debates.rb new file mode 100644 index 0000000000..a5432420de --- /dev/null +++ b/db/migrate/20211121050037_revert_archive_debates.decidim_debates.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true +# This migration comes from decidim_debates (originally 20210125101735) + +class RevertArchiveDebates < ActiveRecord::Migration[5.2] + def change + remove_index :decidim_debates_debates, :archived_at + remove_column :decidim_debates_debates, :archived_at + end +end diff --git a/db/migrate/20211121050038_add_followable_counter_cache_to_debates.decidim_debates.rb b/db/migrate/20211121050038_add_followable_counter_cache_to_debates.decidim_debates.rb new file mode 100644 index 0000000000..a91eb4d2e0 --- /dev/null +++ b/db/migrate/20211121050038_add_followable_counter_cache_to_debates.decidim_debates.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true +# This migration comes from decidim_debates (originally 20210310120652) + +class AddFollowableCounterCacheToDebates < ActiveRecord::Migration[5.2] + def change + add_column :decidim_debates_debates, :follows_count, :integer, null: false, default: 0, index: true + + reversible do |dir| + dir.up do + Decidim::Debates::Debate.reset_column_information + Decidim::Debates::Debate.find_each do |record| + record.class.reset_counters(record.id, :follows) + end + end + end + end +end diff --git a/db/migrate/20211121050039_add_followable_counter_cache_to_blogs.decidim_blogs.rb b/db/migrate/20211121050039_add_followable_counter_cache_to_blogs.decidim_blogs.rb new file mode 100644 index 0000000000..6542c75575 --- /dev/null +++ b/db/migrate/20211121050039_add_followable_counter_cache_to_blogs.decidim_blogs.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true +# This migration comes from decidim_blogs (originally 20210310120514) + +class AddFollowableCounterCacheToBlogs < ActiveRecord::Migration[5.2] + def change + add_column :decidim_blogs_posts, :follows_count, :integer, null: false, default: 0, index: true + + reversible do |dir| + dir.up do + Decidim::Blogs::Post.reset_column_information + Decidim::Blogs::Post.find_each do |record| + record.class.reset_counters(record.id, :follows) + end + end + end + end +end From 60f6bed8388ab8efab86b13339f55dcaa16b36ce Mon Sep 17 00:00:00 2001 From: takahashim Date: Sun, 21 Nov 2021 14:53:07 +0900 Subject: [PATCH 04/22] Exec `bin/rails db:migrate` --- db/schema.rb | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 82 insertions(+), 3 deletions(-) diff --git a/db/schema.rb b/db/schema.rb index e959a2844f..58f7459f2b 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2021_07_12_102324) do +ActiveRecord::Schema.define(version: 2021_11_21_050039) do # These are extensions that must be enabled in order to support this database enable_extension "ltree" @@ -170,6 +170,8 @@ t.string "youtube_handler" t.string "github_handler" t.bigint "decidim_assemblies_type_id" + t.integer "weight", default: 1, null: false + t.integer "follows_count", default: 0, null: false t.index ["decidim_area_id"], name: "index_decidim_assemblies_on_decidim_area_id" t.index ["decidim_assemblies_type_id"], name: "index_decidim_assemblies_on_decidim_assemblies_type_id" t.index ["decidim_organization_id", "slug"], name: "index_unique_assembly_slug_and_organization", unique: true @@ -303,6 +305,7 @@ t.integer "decidim_user_group_id" t.integer "endorsements_count", default: 0, null: false t.integer "comments_count", default: 0, null: false + t.integer "follows_count", default: 0, null: false t.index ["decidim_author_id", "decidim_author_type"], name: "index_decidim_blogs_posts_on_decidim_author" t.index ["decidim_component_id"], name: "index_decidim_blogs_posts_on_decidim_component_id" t.index ["decidim_user_group_id"], name: "index_decidim_blogs_posts_on_decidim_user_group_id" @@ -350,6 +353,7 @@ t.bigint "decidim_budgets_budget_id" t.date "selected_at" t.integer "comments_count", default: 0, null: false + t.integer "follows_count", default: 0, null: false t.index ["decidim_budgets_budget_id"], name: "index_decidim_budgets_projects_on_decidim_budgets_budget_id" t.index ["decidim_scope_id"], name: "index_decidim_budgets_projects_on_decidim_scope_id" end @@ -483,9 +487,12 @@ t.datetime "last_comment_at" t.integer "last_comment_by_id" t.string "last_comment_by_type" + t.bigint "decidim_scope_id" + t.integer "follows_count", default: 0, null: false t.index ["closed_at"], name: "index_decidim_debates_debates_on_closed_at" t.index ["decidim_author_id", "decidim_author_type"], name: "index_decidim_debates_debates_on_decidim_author" t.index ["decidim_component_id"], name: "index_decidim_debates_debates_on_decidim_component_id" + t.index ["decidim_scope_id"], name: "index_decidim_debates_debates_on_decidim_scope_id" t.index ["decidim_user_group_id"], name: "index_decidim_debates_debates_on_decidim_user_group_id" t.index ["endorsements_count"], name: "idx_decidim_debates_debates_on_endorsemnts_count" end @@ -594,6 +601,7 @@ t.integer "max_choices" t.datetime "created_at", null: false t.datetime "updated_at", null: false + t.integer "max_characters", default: 0 t.index ["decidim_questionnaire_id"], name: "index_decidim_forms_questions_on_decidim_questionnaire_id" t.index ["position"], name: "index_decidim_forms_questions_on_position" end @@ -705,6 +713,11 @@ t.integer "decidim_user_group_id" t.integer "comments_count", default: 0, null: false t.string "salt" + t.string "online_meeting_url" + t.string "type_of_meeting", default: "in_person" + t.string "registration_type", default: "registration_disabled", null: false + t.string "registration_url" + t.integer "follows_count", default: 0, null: false t.index ["decidim_author_id", "decidim_author_type"], name: "index_decidim_meetings_meetings_on_author" t.index ["decidim_author_id"], name: "index_decidim_meetings_meetings_on_decidim_author_id" t.index ["decidim_component_id"], name: "index_decidim_meetings_meetings_on_decidim_component_id" @@ -808,6 +821,7 @@ t.datetime "created_at", null: false t.datetime "updated_at", null: false t.string "decidim_participatory_space_type", null: false + t.text "reported_content" t.index ["decidim_participatory_space_id", "decidim_participatory_space_type"], name: "decidim_moderations_participatory_space" t.index ["decidim_reportable_type", "decidim_reportable_id"], name: "decidim_moderations_reportable", unique: true t.index ["hidden_at"], name: "decidim_moderations_hidden_at" @@ -851,7 +865,6 @@ t.jsonb "description" t.string "logo" t.string "twitter_handler" - t.boolean "show_statistics", default: true t.string "favicon" t.string "instagram_handler" t.string "facebook_handler" @@ -910,12 +923,21 @@ end create_table "decidim_participatory_process_groups", id: :serial, force: :cascade do |t| - t.jsonb "name", null: false + t.jsonb "title", null: false t.jsonb "description", null: false t.string "hero_image" t.integer "decidim_organization_id" t.datetime "created_at", null: false t.datetime "updated_at", null: false + t.string "hashtag" + t.string "group_url" + t.jsonb "developer_group" + t.jsonb "local_area" + t.jsonb "meta_scope" + t.jsonb "target" + t.jsonb "participatory_scope" + t.jsonb "participatory_structure" + t.boolean "promoted", default: false t.index ["decidim_organization_id"], name: "decidim_participatory_process_group_organization" end @@ -979,6 +1001,8 @@ t.bigint "decidim_area_id" t.bigint "decidim_scope_type_id" t.boolean "show_metrics", default: true + t.integer "weight", default: 1, null: false + t.integer "follows_count", default: 0, null: false t.index ["decidim_area_id"], name: "index_decidim_participatory_processes_on_decidim_area_id" t.index ["decidim_organization_id", "slug"], name: "index_unique_process_slug_and_organization", unique: true t.index ["decidim_organization_id"], name: "index_decidim_processes_on_decidim_organization_id" @@ -1036,6 +1060,7 @@ t.datetime "updated_at", null: false t.integer "coauthorships_count", default: 0, null: false t.integer "comments_count", default: 0, null: false + t.integer "follows_count", default: 0, null: false t.index ["body"], name: "decidim_proposals_collaborative_draft_body_search" t.index ["decidim_component_id"], name: "decidim_proposals_collaborative_drafts_on_decidim_component_id" t.index ["decidim_scope_id"], name: "decidim_proposals_collaborative_drafts_on_decidim_scope_id" @@ -1102,6 +1127,7 @@ t.jsonb "title" t.jsonb "body" t.integer "comments_count", default: 0, null: false + t.integer "follows_count", default: 0, null: false t.index "md5((body)::text)", name: "decidim_proposals_proposal_body_search" t.index "md5((title)::text)", name: "decidim_proposals_proposal_title_search" t.index ["created_at"], name: "index_decidim_proposals_proposals_on_created_at" @@ -1128,6 +1154,7 @@ t.text "details" t.datetime "created_at", null: false t.datetime "updated_at", null: false + t.string "locale" t.index ["decidim_moderation_id", "decidim_user_id"], name: "decidim_reports_moderation_user_unique", unique: true t.index ["decidim_moderation_id"], name: "decidim_reports_moderation" t.index ["decidim_user_id"], name: "decidim_reports_user" @@ -1259,6 +1286,7 @@ t.integer "weight" t.boolean "show_in_footer", default: false, null: false t.bigint "topic_id" + t.boolean "allow_public_access", default: false, null: false t.index ["decidim_organization_id"], name: "index_decidim_static_pages_on_decidim_organization_id" t.index ["topic_id"], name: "index_decidim_static_pages_on_topic_id" end @@ -1285,6 +1313,15 @@ t.index ["reset_password_token"], name: "index_decidim_system_admins_on_reset_password_token", unique: true end + create_table "decidim_user_blocks", force: :cascade do |t| + t.bigint "decidim_user_id" + t.integer "blocking_user_id" + t.text "justification" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.index ["decidim_user_id"], name: "index_decidim_user_blocks_on_decidim_user_id" + end + create_table "decidim_user_group_memberships", id: :serial, force: :cascade do |t| t.integer "decidim_user_id", null: false t.integer "decidim_user_group_id", null: false @@ -1298,6 +1335,23 @@ t.index ["role", "decidim_user_group_id"], name: "decidim_group_membership_one_creator_per_group", unique: true, where: "((role)::text = 'creator'::text)" end + create_table "decidim_user_moderations", force: :cascade do |t| + t.bigint "decidim_user_id" + t.integer "report_count", default: 0, null: false + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.index ["decidim_user_id"], name: "index_decidim_user_moderations_on_decidim_user_id" + end + + create_table "decidim_user_reports", force: :cascade do |t| + t.integer "user_moderation_id" + t.integer "user_id", null: false + t.string "reason" + t.text "details" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + end + create_table "decidim_users", id: :serial, force: :cascade do |t| t.string "email", default: "", null: false t.string "encrypted_password", default: "", null: false @@ -1352,6 +1406,11 @@ t.datetime "officialized_at" t.jsonb "officialized_as" t.datetime "admin_terms_accepted_at" + t.boolean "blocked", default: false, null: false + t.datetime "blocked_at" + t.integer "block_id" + t.boolean "email_on_moderations", default: true + t.integer "follows_count", default: 0, null: false t.index ["confirmation_token"], name: "index_decidim_users_on_confirmation_token", unique: true t.index ["decidim_organization_id"], name: "index_decidim_users_on_decidim_organization_id" t.index ["email", "decidim_organization_id"], name: "index_decidim_users_on_email_and_decidim_organization_id", unique: true, where: "((deleted_at IS NULL) AND (managed = false) AND ((type)::text = 'Decidim::User'::text))" @@ -1366,6 +1425,18 @@ t.index ["unlock_token"], name: "index_decidim_users_on_unlock_token", unique: true end + create_table "decidim_verifications_conflicts", force: :cascade do |t| + t.bigint "current_user_id" + t.bigint "managed_user_id" + t.integer "times", default: 0 + t.string "unique_id" + t.boolean "solved", default: false + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.index ["current_user_id"], name: "authorization_current_user" + t.index ["managed_user_id"], name: "authorization_managed_user" + end + create_table "decidim_verifications_csv_data", force: :cascade do |t| t.string "email" t.bigint "decidim_organization_id" @@ -1448,6 +1519,7 @@ add_foreign_key "decidim_budgets_orders", "decidim_budgets_budgets" add_foreign_key "decidim_budgets_projects", "decidim_budgets_budgets" add_foreign_key "decidim_categorizations", "decidim_categories" + add_foreign_key "decidim_debates_debates", "decidim_scopes" add_foreign_key "decidim_identities", "decidim_organizations" add_foreign_key "decidim_newsletters", "decidim_users", column: "author_id" add_foreign_key "decidim_participatory_process_steps", "decidim_participatory_processes" @@ -1458,7 +1530,14 @@ add_foreign_key "decidim_scopes", "decidim_scope_types", column: "scope_type_id" add_foreign_key "decidim_scopes", "decidim_scopes", column: "parent_id" add_foreign_key "decidim_static_pages", "decidim_organizations" + add_foreign_key "decidim_user_blocks", "decidim_users" + add_foreign_key "decidim_user_blocks", "decidim_users", column: "blocking_user_id" + add_foreign_key "decidim_user_moderations", "decidim_users" + add_foreign_key "decidim_user_reports", "decidim_user_moderations", column: "user_moderation_id" + add_foreign_key "decidim_user_reports", "decidim_users", column: "user_id" add_foreign_key "decidim_users", "decidim_organizations" + add_foreign_key "decidim_verifications_conflicts", "decidim_users", column: "current_user_id" + add_foreign_key "decidim_verifications_conflicts", "decidim_users", column: "managed_user_id" add_foreign_key "decidim_verifications_csv_data", "decidim_organizations" add_foreign_key "oauth_access_grants", "decidim_users", column: "resource_owner_id" add_foreign_key "oauth_access_grants", "oauth_applications", column: "application_id" From 75aa0bbda47e50b33991dbfe7f40915c5e49c1cd Mon Sep 17 00:00:00 2001 From: takahashim Date: Sun, 21 Nov 2021 17:29:45 +0900 Subject: [PATCH 05/22] Add locale file(JA) for v0.24.3 --- config/locales/v0243_replaced_ja.yml | 1437 ++++++++++++++++++++++++++ 1 file changed, 1437 insertions(+) create mode 100644 config/locales/v0243_replaced_ja.yml diff --git a/config/locales/v0243_replaced_ja.yml b/config/locales/v0243_replaced_ja.yml new file mode 100644 index 0000000000..4fbf2ea5cd --- /dev/null +++ b/config/locales/v0243_replaced_ja.yml @@ -0,0 +1,1437 @@ +--- +ja: + activemodel: + attributes: + meeting: + online_meeting_url: オンラインミーティングURL + registration_url: 登録URL + type_of_meeting: 種別 + minutes: + audio_url: Audio URL + video_url: Video URL + answer: + choices: 選択項目 + selected_choices: 選択した項目 + questionnaire_question: + max_characters: 文字数制限 (制限がない場合は0にしてください) + conference: + available_slots: 利用可能なスロット + end_date: 終了日 + location: 場所 + main_logo: メインロゴ + objectives: 目的 + registration_terms: 参加規約 + registrations_enabled: 登録可能 + sign_date: 署名日 + signature: 署名 + signature_name: 署名の名前 + start_date: 開始日 + conference_media_link: + date: 日付 + link: リンク + title: タイトル + conference_partner: + link: リンク + logo: ロゴ + name: 名前 + partner_type: パートナータイプ + conference_registration_invite: + email: Eメールアドレス + name: 名前 + registration_type_id: 登録種別 + user_id: ユーザー + conference_registration_type: + description: 説明 + price: 価格 + title: タイトル + conference_speaker: + affiliation: 所属 + avatar: アバター + conference_meeting_ids: 関連するミーティング + personal_url: 個人URL + position: 位置 + short_bio: 略歴 + twitter_handle: Twitterアカウント + user_id: ユーザー + project: + selected: 実装の選択 + voting: + end_time: 投票終了 + start_time: 投票開始 + proposal_answer: + cost: コスト + cost_report: コストレポート + execution_period: 実行期間 + participatory_process: + weight: 順番の位置 + participatory_process_group: + developer_group: プロモーターグループ + group_url: ウェブサイト + hashtag: ハッシュタグ + local_area: 組織エリア + meta_scope: スコープメタデータ + participatory_scope: 決定されること + participatory_structure: 決定方法 + target: 参加者 + title: タイトル + assembly: + weight: 順番の位置 + errors: + models: + answer: + attributes: + add_documents: + needs_to_be_reattached: 再添付が必要 + body: + too_long: 長すぎます + trustee: + attributes: + name: + cant_be_changed: 変更できません + public_key: + cant_be_changed: 変更できません + models: + decidim/resource_endorsed_event: 支持されたリソース + activerecord: + models: + decidim/votings/polling_officer: + other: 投票委員 + decidim/votings/polling_station: + other: 投票所 + decidim/votings/voting: + other: 投票 + errors: + models: + decidim/votings/polling_officer: + attributes: + presided_polling_station: + president_and_manager: 投票委員はすでに投票所の投票管理者/マネージャーです + voting: + different_organization: 投票はユーザーと同じ組織内にある必要があります + decidim/votings/polling_station: + attributes: + polling_station_president: + different_voting: 投票委員は投票所と同じ投票に属さなければなりません + decidim: + admin: + actions: + attachment: + new: 新しい添付ファイル + attachment_collection: + new: 新しい添付ファイルのコレクション + filters: + moderations: + reportable_type_string_eq: + label: タイプ + search_placeholder: + reported_id_string_or_reported_content_cont: 報告可能なIDまたはコンテンツで %{collection} + を検索します。 + name_or_email_or_nickname_or_presided_station_title_or_managed_station_title_cont: "%{collection} + を名前/メールアドレス/ニックネーム/投票所で検索します。" + ? title_or_address_or_manager_name_or_manager_email_or_manager_nickname_or_president_name_or_president_email_or_president_nickname_cont + : "%{collection} をタイトル、住所、委員名/メールアドレス/ニックネームで検索します。" + officers_assigned_eq: + label: 委員 + values: + assigned: 割り当て済み + unassigned: 未割り当て + role_eq: + label: ロール + values: + manager: マネージャー + president: 投票管理者 + unassigned: 未割り当て + menu: + authorization_revocation: + destroy_ok: すべての一致した認証が正常に取り消されました。 + title: 認証の取り消し方法 + authorization_workflows: 認証 + participatory_process_groups_submenu: + info: 情報 + landing_page: ランディングページ + models: + participatory_process_group: + fields: + title: タイトル + titles: + panel: 管理者 + block_user: + new: + action: アカウントをブロックして理由を送信 + description: ユーザーをブロックすると、そのアカウントは利用できなくなります。ユーザーのブロックを解除することを検討する方法に関するガイドラインを判定通知に含めることができます。 + conflicts: + attempts: 試行回数 + managed_user_name: 管理ユーザー + solved: 解決済み + title: 確認の競合 + transfer: + email: Eメールアドレス + error: 参加者から管理参加者への移転中に問題が発生しました。 + name: 名前 + reason: 理由 + success: 現在の移転が正常に完了しました。 + title: 移行 + 'true': はい + user_name: ユーザー + forms: + file_help: + import: + explanation: 'ファイルのガイダンス:' + message_1: CSV、JSON、Excel (.xlsx) ファイルがサポートされています + message_2: CSV ファイルの場合、列間の区切り文字はセミコロン(";") でなければなりません。 + imports: + creators: + proposalcreator: 提案クリエイター + error: インポート中に問題が発生しました + help: + proposalcreator: 'ファイルには、カラム名「title/en」と「body/en」(または、あなたが好む別のロケール、例: 「title/ja」と「body/ja」) + が必要です。また、カラム名「scope/id」と「category/id」にも対応しています。' + import_from_file: ファイルからインポート + invalid_lines: リソース番号 %{invalid_lines} にエラーが見つかりました + new: + file_legend: 解析されるインポート ファイルを追加します。 + moderated_users: + index: + actions: + block: ユーザーをブロック + unblock: ユーザーのブロックを解除 + name: 名前 + reason: 理由 + reports: レポート数 + title: 報告されたユーザー一覧 + report: + reasons: + does_not_belong: 所属していない + offensive: 攻撃的 + tabs: + blocked: ブロック済 + moderations: + reports: + index: + callout_html: コンテンツは、そのアイテムの横にある %{icon} フラグをクリックすることによって、ユーザー(登録済みアカウントを持っている人であれば誰でも)によって通知されたときに、モデレーションパネルに表示されます。 + content_original_language: コンテンツのオリジナル言語 + participatory_space: 参加型スペース + reported_content: 報告されたコンテンツ + see_current: 現状を見る + see_original: オリジナルを見る + title: モデレーションレポート + show: + report_details: 理由の詳細 + report_language: 報告の言語 + report_reason: '理由:' + title: 報告の詳細 + officializations: + block: + error: 参加者のブロック中にエラーが発生しました + success: 参加者が正常にブロックされました + index: + block: ユーザーをブロック + reports: 報告 + unblock: ユーザーのブロックを解除 + unblock: + error: 参加者のブロック解除中にエラーが発生しました + success: 参加者のブロックを解除しました + organization: + form: + url: URL + participatory_space_private_users: + index: + import_via_csv: CSV形式でインポート + consultations: + deprecation_warning: コンサルテーションモジュールは近い将来非推奨になります。Votingsと呼ばれる次世代の暗号を利用した安全なバージョンに取り組んでいます。 + participatory_process_group_landing_page: + edit: + active_content_blocks: アクティブコンテンツブロック + inactive_content_blocks: 非アクティブコンテンツブロック + participatory_process_group_landing_page_content_blocks: + edit: + update: 更新 + components: + meetings: + settings: + global: + registration_code_enabled: 登録コードが有効 + terms_and_conditions_url_for_meeting_creators: ミーティング作成者の利用規約URL + budgets: + settings: + global: + vote_rule_selected_projects_enabled: 'ルールの有効化: 投票するプロジェクトの最小数と最大数' + vote_selected_projects_maximum: 選択するプロジェクトの上限 + vote_selected_projects_minimum: 選択するプロジェクトの下限 + surveys: + settings: + global: + ends_at: 回答受付の終了日時 + ends_at_help: 特定の日付がない場合は空白のままにしてください + starts_at: 回答受付の開始日時 + starts_at_help: 特定の日付がない場合は空白のままにしてください + proposals: + settings: + global: + proposal_edit_time: 提案の編集 + proposal_edit_time_choices: + infinite: いつでも提案を編集することを許可する + limited: 特定の期間内での提案の編集を許可する + events: + reports: + resource_hidden: + email_intro: "%{report_reasons} として報告されたため、管理者が %{resource_type} を削除しました。" + email_outro: 削除されたコンテンツの作成者であるため、この通知を受け取りました。 + email_subject: "%{resource_type} が削除されました" + notification_title: |- + %{resource_type} として報告されたため、管理者が %{report_reasons} を削除しました。
+ %{resource_content} + verifications: + verify_with_managed_user: + notification_title: 参加者 %{resource_title} + が管理参加者 %{managed_user_name} のデータと自分自身を確認しようとしました。 + elections: + trustees: + new_election: + email_intro: "%{resource_title} 選挙の受託者として追加されました。" + email_outro: "%{resource_title} 選挙の受託者に追加されたため、この通知が届きました。" + email_subject: あなたは %{resource_title} 選挙の受託者です.. + notification_title: あなたは %{resource_title} + 選挙の受託者です。 + new_trustee: + email_intro: 管理者が %{resource_name} の受託者としてあなたを追加しました。受託者ゾーンで 公開鍵を作成する必要があります。 + email_outro: "%{resource_name} の受信者として追加されたため、この通知を受信しました。" + email_subject: あなたは %{resource_name} の受託者です。 + notification_title: あなたは %{resource_name} + の受託者です。 + votes: + accepted_votes: + email_intro: '投票が承認されました!投票トークン: %{encrypted_vote_hash} を使用して、投票を ここ + で確認できます。' + email_outro: "%{resource_name} 選挙に投票したため、この通知を受け取りました。" + email_subject: "%{resource_name} への投票が承認されました。" + notification_title: 'あなたの投票が承認されました。 ここであなたの投票トークン: + %{encrypted_vote_hash} を使って投票を確認してください。' + votings: + polling_officers: + polling_station_assigned: + email_intro: You have been assigned as %{role} of the Polling Station + %{polling_station_name} in %{resource_title}. + You can manage the Polling Station from the dedicated Polling + Officer Zone. + email_outro: "%{polling_station_name} の%{role} として割り当てられているため、この通知を受け取りました。" + email_subject: あなたは投票所%{polling_station_name} の %{role} です。 + notification_title: You are %{role} of the Polling Station %{polling_station_name} + in the voting %{resource_title}. + comments: + comment_downvoted: + email_intro: '"%{resource_title}" でのあなたの意見への反対票がありました。現在の合計は、賛成票が %{upvotes} + 件、反対票が %{downvotes} 件です。' + email_outro: このコメントの作成者であるため、この通知を受け取りました。 + email_subject: '"%{resource_title}" のコメントに反対票がありました。' + notification_title: '"%{resource_title}"についてのあなたの コメント + に反対票がありました。現在の合計は、賛成票が %{upvotes} 件、反対票が %{downvotes} 件です。' + comment_upvoted: + email_intro: '"%{resource_title}" でのあなたの意見への賛成票がありました。現在の合計は、賛成票が %{upvotes} + 件、反対票が %{downvotes} 件です。' + email_outro: このコメントの作成者であるため、この通知を受け取りました。 + email_subject: '"%{resource_title}" のコメントに賛成票がありました。' + notification_title: '"%{resource_title}"についてのあなたの コメント + に賛成票がありました。現在の合計は、賛成票が %{upvotes} 件、反対票が %{downvotes} 件です。' + initiatives: + initiative_sent_to_technical_validation: + email_intro: イニシアチブ %{resource_title}" が技術的検証に提出されました。 管理者パネル + で確認してください。 + email_outro: あなたはプラットフォームの管理者であるため、この通知を受け取りました。 + email_subject: イニシアチブ %{resource_title}" は技術的検証に提出されました。 + notification_title: イニシアチブ %{resource_title}" が技術的検証に提出されました。 管理者パネル + で確認してください。 + support_threshold_reached: + email_intro: イニシアチブ %{resource_title} は署名のしきい値に達しました + email_subject: 署名のしきい値に達しました + notification_title: %{resource_title} イニシアチブは署名のしきい値に達しました + meetings: + admin: + exports: + meeting_comments: コメント + meetings: + edit: + title: ミーティングを編集 + form: + available_slots_help: 無制限の場合は0のままにしてください + disclaimer: '免責事項: 外部登録システムを使用する場合、 %{organization} の主催者は、ユーザーが外部サービスに提供したデータについて責任を負いません。' + location_hints_help: '位置情報のヒント:追加情報。 例: 対面ミーティングでの建物のフロア、またはアクセス制限のあるオンラインミーティングでのミーティングパスワード。' + online_meeting_url_help: 'リンク: 参加者があなたのミーティングに直接接続できるようにします' + registration_url_help: 'リンク: 参加者が登録に使用している外部サービスにアクセスできるようにします' + select_a_meeting_type: ミーティング種別を選択してください + select_a_registration_type: 登録種別を選択してください + minutes: + edit: + title: Edit minutes + last_activity: + meeting_updated_at_html: "ミーティングが %{link} に更新されました" + meeting_closes: + edit: + back: 戻る + close: ミーティングを閉じる + title: ミーティングを閉じる + meetings: + filters: + activity: アクティビティ + all: 全て + my_meetings: 私のミーティング + type: 種別 + type_values: + all: 全て + hybrid: ハイブリッド + in_person: 対面 + online: オンライン + form: + available_slots_help: 無制限の場合は0のままにしてください + disclaimer: '免責事項: 外部登録システムを使用する場合、 %{organization} の主催者は、ユーザーが外部サービスに提供したデータについて責任を負いません。' + location_hints_help: '位置情報のヒント:追加情報。 例: 対面ミーティングでの建物のフロア、またはアクセス制限のあるオンラインミーティングでのミーティングパスワード。' + online_meeting_url_help: 'リンク: 参加者があなたのミーティングに直接接続できるようにします' + registration_url_help: 'リンク: 参加者が登録に使用している外部サービスにアクセスできるようにします' + select_a_meeting_type: ミーティング種別を選択してください + select_a_registration_type: 登録種別を選択してください + show: + close_meeting: ミーティングを閉じる + registration_type: + on_different_platform: 異なるプラットフォーム + on_this_platform: このプラットフォーム + registration_disabled: 登録不可 + type_of_meeting: + hybrid: ハイブリッド + in_person: 対面 + online: オンライン + metrics: + download: + csv: ダウンロードデータ(CSV) + blocked_users: + object: ブロックされたユーザー + title: ブロックされたユーザー + reported_users: + object: 報告されたユーザー + title: 報告したユーザー + user_reports: + object: ユーザーの報告 + title: ユーザーの報告 + account: + blocked: このアカウントは利用規約違反によりブロックされています + delete: + alert: この操作は元に戻せません。アカウントを削除すると、ログインできなくなります。 アカウントを削除すると、あなたの貢献が匿名化されます。 + 引き続き新しいアカウントを作成することはできますが、これらの貢献は関連付けられません。 + admin_log: + impersonation_log: + manage: "%{user_name} は %{reason} により %{resource_name} を管理しています。" + organization: + update_id_documents_config: "%{user_name} は IDドキュメント認証設定を更新しました" + participatory_space_private_user: + create_via_csv: "%{user_name} が %{resource_name} をCSV経由で非公開参加者に招待しました" + user: + block: "%{user_name} がユーザー %{resource_name} をブロックしました" + promote: "%{user_name} が %{resource_name} を昇格しました" + transfer: "%{user_name} が参加者 %{resource_name} を移転しました" + unblock: "%{user_name} さんが %{resource_name} さんのブロックを解除しました" + grant_id_documents_offline_verification: オフラインIDドキュメント認証を使用して%{user_name} + が %{resource_name} を確認しました + user_moderation: + unreport: "%{user_name} が %{resource_type} - %{unreported_user_name} の報告を解除しました" + conferences: + partner: + create: "%{user_name} が %{space_name} カンファレンスでパートナー %{resource_name} を作成しました" + delete: "%{user_name} がパートナー %{resource_name} を %{space_name} カンファレンスから削除しました" + update: "%{user_name} が %{space_name} カンファレンスのパートナー %{resource_name} を更新しました" + authorization_handlers: + errors: + duplicate_authorization: 同じデータを持つ参加者はすでに承認されています。管理者があなたの詳細を確認するために連絡します。 + block_user_mailer: + notify: + body_1: あなたのアカウントはブロックされました。 + body_2: '理由: %{justification}' + greetings: ようこそ、
%{organization_name}
%{organization_url} + hello: こんにちは、 + subject: あなたのアカウントは %{organization_name} からブロックされました + content_blocks: + cta: + name: 画像、テキスト、行動喚起 (CTA) ボタン + cta_settings_form: + background_image: 背景画像 + button_text: CTAテキスト + button_url: CTA URL + description: 説明 + highlighted_elements_settings_form: + orders: + label: '要素並べ替えのキー:' + random: ランダム + recent: 新着順 + data_portability: + show: + download_data_description: あなたのアカウントに関連付けられたすべての情報を含むファイルを%{user_email} + に送信します。このメールは.zipファイルとパスワードが添付されています。

ファイルを展開するには、 7-Zip + (Windowsユーザー向け) か Keka (MacOSユーザー向け)が必要です。Linuxをお使いの場合、すでにツールがインストールされているはずです。インストールされていない場合、 + File RollerPeaZip が利用できます。 + devise: + omniauth_registrations: + new: + nickname_help: "%{organization} でのニックネームです。文字、数字、'-' および '_' のみを使用できます。" + registrations: + new: + nickname_help: "%{organization} でのニックネームです。文字、数字、'-' および '_' のみを使用できます。" + sessions: + user: + timed_out: 長時間非アクティブだったため、自動的にサービスからログアウトされました。 引き続きサービスをご利用になる場合、改めてログインしてください。 + export_mailer: + data_portability_export: + click_button: 次のリンクをクリックするとあなたのデータがダウンロードできます。
このファイルは %{date} まで利用できます。
ファイルを開くには + 7-Zip (Windowsユーザー向け), Keka + (MacOSユーザー向け) または PeaZip (Linuxユーザー向け)等が必要です。パスワード:%{password} + follows: + create: + participatory_space: %{resource_name}をフォロー中 + forms: + file_help: + file: + message_2: 画像の場合は、横長画像を使用してください。画像は自動的にトリミングされます。CSV ファイルの場合、列間の区切り文字はカンマ(",") + でなければなりません。 + question_types: + files: ファイル + help: + participatory_spaces: + consultations: + contextual: "

議案は、組織を形成するすべての人に明確な質問を投げかけ、コンサルテーションへの参加を呼びかけ、回答の賛否の議論に火をつけ、注文をつけることができるスペースです。議案の日が来たら、投票をして、その結果を公開することができます。

例: + 議案は組織に影響するどのようなことにも利用できます。例えば、いくつかの代替案から組織の名前やロゴを選び変更したり、より大きな組織の一部になるかどうか、イエスかノーかを決定したり、新しい戦略計画やワーキンググループの結果を検証したり拒否したり、ポジションが最大で + 1、2、3 の委任のままであるべきかどうかを定義したりできます。

\n" + page: "

議案は、組織を形成するすべての人に明確な質問を投げかけ、コンサルテーションへの参加を呼びかけ、回答の賛否の議論に火をつけ、注文をつけることができるスペースです。議案の日が来たら、投票をして、その結果を公開することができます。

例: + 議案は組織に影響するどのようなことにも利用できます。例えば、いくつかの代替案から組織の名前やロゴを選び変更したり、より大きな組織の一部になるかどうか、イエスかノーかを決定したり、新しい戦略計画やワーキンググループの結果を検証したり拒否したり、ポジションが最大で + 1、2、3 の委任のままであるべきかどうかを定義したりできます。

\n" + votings: + contextual: "

A voting is a space that allows you to + ask a clear question to all the people who form an organization, make + a call to participate in the voting, spark and order the debate for or + against a response. When the voting date arrives, you can vote and publish + the results of the votes.

Examples: The votings can be about almost + any aspect that affects an organization: some examples are changing the + name or logo of the organization offering several alternatives, deciding + Yes or No to become part of a larger organization, validating or rejecting + a new strategic plan or the result of a working group, or defining whether + the positions should remain a maximum of 1, 2 or 3 mandates.

\n" + page: "

A voting is a space that allows you to ask a + clear question to all the people who form an organization, make a call + to participate in the voting, spark and order the debate for or against + a response. When the voting date arrives, you can vote and publish the + results of the votes.

Examples: The votings can be about almost + any aspect that affects an organization: some examples are changing the + name or logo of the organization offering several alternatives, deciding + Yes or No to become part of a larger organization, validating or rejecting + a new strategic plan or the result of a working group, or defining whether + the positions should remain a maximum of 1, 2 or 3 mandates.

\n" + title: 投票とは何ですか? + menu: + votings: 投票 + messaging: + conversations: + show: + not_allowed: この参加者はダイレクトメッセージを受け付けません。 + notifications_settings: + show: + administrators: 管理者 + email_on_moderations: モデレーションのため何か報告されるたびにメールを受信したいです。 + profile: + inaccessible_message: このプロファイルは利用規約違反によりアクセスできません + profiles: + show: + send_private_message: プライベートメッセージを送信 + reported_mailer: + report: + content_original_language: コンテンツのオリジナル言語 + id: ID + see_report: 報告を見る + shared: + flag_user_modal: + already_reported: このコンテンツはすでに報告されており、管理者が確認します。 + close: 閉じる + description: ユーザーに不適切なのはどの点ですか? + does_not_belong: 違法な行為、自殺の脅威、個人情報、または %{organization_name} に属していないと思われる何かが含まれています。 + offensive: 人種差別、性差別、中傷、個人攻撃、死の脅威、自殺要求や何かしらの形態のヘイトスピーチが含まれています。 + report: 報告 + spam: 虚偽情報、広告、詐欺やスクリプトボットが含まれています。 + title: 不適切なユーザーを報告 + user_report_mailer: + notify: + body_1: ユーザー %{user} が %{token} によって報告されました + body_2: '理由: %{reason}' + greetings: ようこそ、
%{organization_name}
%{organization_url} + hello: こんにちは、 %{admin} さん。 + subject: "%{organization_name} で新しいユーザーが報告されました" + participatory_processes: + admin: + new_import: + accepted_types: + json: JSON + participatory_process_groups: + form: + metadata: メタデータ + title: 一般情報 + visibility: 公開範囲 + show: + belongs_to_group: このプロセスの所属グループ + debates: + admin: + debates: + form: + debate_type: ディベートタイプ + finite: 期間限定 (開始時刻と終了時刻あり) + open: 無期限 (開始時刻または終了時刻なし) + exports: + comments: コメント + debates: + show: + open: 公開ディベート + last_activity: + debate_updated_at_html: "ディベートが %{link} に更新されました" + conferences: + conference_speaker: + show: + speaking_at: 発表場所 + budgets: + admin: + budgets: + index: + finished_orders: 完了した投票 + pending_orders: 保留中の投票 + users_with_finished_orders: 投票済みのユーザー + users_with_pending_orders: 投票保留中のユーザー + exports: + projects: プロジェクト + proposals_imports: + new: + title: 提案のインポート + projects: + budget_excess: + budget_excess: + description: 予算上限を超えてしまうため、このプロジェクトは追加できません。 追加したい場合、すでに選択済みのプロジェクトを削除すると、改めて選択できるようになります。 + description: 予算上限を超えてしまうため、このプロジェクトは追加できません。 追加したい場合、すでに選択済みのプロジェクトを削除すると、改めて選択できるようになります。 + projects_excess: + description: プロジェクト数の上限を超えてしまうため、このプロジェクトは追加できません。 追加したい場合、すでに選択済みのプロジェクトを削除すると、改めて選択できるようになります。 + title: プロジェクト数の上限を超えました + budget_summary: + minimum_projects_rule: + description: どのプロジェクトに予算を割り当てるべきだと思いますか? 希望するプロジェクトを %{minimum_number} + 件以上選択し、好ましいと思う予算を決めて投票します。 + instruction: "
  • 希望するプロジェクトを %{minimum_number} 件以上選択し、好ましいと思う予算を決めて投票します。
  • " + projects_rule: + description: どのプロジェクトに予算を割り当てるべきだと思いますか? 希望するプロジェクトを最小 %{minimum_number} + 件、最大 %{maximum_number} 件選択し、好ましいと思う予算を決めて投票します。 + instruction: "
  • 希望するプロジェクトを最小 %{minimum_number} 件、最大 %{maximum_number} + 件選択し、好ましいと思う予算を決めて投票します。
  • " + projects_rule_maximum_only: + description: どのプロジェクトに予算を割り当てるべきだと思いますか? 希望するプロジェクトを %{maximum_number} + 件まで選択し、好ましいと思う予算を決めて投票します。 + instruction: "
  • 希望するプロジェクトを %{maximum_number} 件まで選択し、好ましいと思う予算を決めて投票します。
  • " + rules: + title: 予算ルール + total_budget: 予算の合計 + total_projects: 投票の合計 + vote_threshold_percent_rule: + description: どのプロジェクトに予算を割り当てるべきだと思いますか? 希望するプロジェクトに予算を %{minimum_budget} + 以上割り当てて、好ましいと思う予算を決めて投票します。 + instruction: "
  • 希望するプロジェクトに %{minimum_budget} 以上の予算を割り当てて、好ましいと思う予算を決めて投票します。
  • " + project: + you_voted: 投票済 + moderations: + actions: + expand: 展開 + models: + moderation: + fields: + created_at: 作成日 + participatory_space: 参加型スペース + reportable_id: Id + reportable_type: 種別 + report: + fields: + details: 理由の詳細 + locale: 言語 + reason: 理由 + verifications: + csv_census: + admin: + instructions: + title: この組織のCSVセンサス認証を有効にする必要があります + dummy_authorization: + extra_explanation: + user_postal_codes: + other: '参加者は次の郵便番号のいずれかを持つ参加者に制限されています: %{postal_codes}. あなたの郵便番号は %{user_postal_code} + です。' + user_scope: 参加者はスコープ %{scope_name} を持つ参加者に限定されます。あなたのスコープは %{user_scope_name} + です。 + elections: + actions: + manage_answers: 回答の管理 + manage_questions: 質問の管理 + manage_steps: ステップの管理 + admin: + answers: + select: + disable: 回答の選択を解除 + enable: 回答を選択済みとしてマーク + invalid: 回答を選択する際に問題が発生しました + success: 回答が正常に選択されました + unselect: + invalid: 回答の選択解除中に問題が発生しました + success: 回答が正常に選択されました。 + exports: + elections: 選挙 + models: + trustee: + name: 受託者 + proposals_imports: + new: + title: 提案のインポート + steps: + create_election: + errors: + max_selections: 質問が 回答の数に対して正しくありません + minimum_answers: 質問には 少なくとも2つの回答が必要です + minimum_questions: 選挙には 少なくとも1つの質問が必要です。 + published: 選挙はが 公開されていません 。 + time_before: 開始時刻が、選挙開始まで3時間未満 しかありません。 + trustees_number: 参加スペースには 少なくとも %{number} 人の公開鍵を持つ受託者が必要です。 + invalid: この選挙の設定中に問題が発生しました + no_trustees: この参加スペースに設定された受託者はいません + not_used_trustee: "(未使用)" + public_key: + 'false': "公開鍵がありません" + 'true': "公開鍵があります" + requirements: + max_selections: すべての質問は正しい 回答の最大値 を持っています。 + minimum_answers: 各質問には 少なくとも2つの回答を持ちます。 + minimum_questions: 選挙には 少なくとも1つの質問があります。 + published: 選挙を 公開しました 。 + time_before: 選挙開始の 少なくとも %{hours} 時間前 までに準備を完了させます。 + trustees_number: 参加スペースには 少なくとも %{number} 人の公開鍵を持つ受託者がいます。 + submit: 選挙を設定 + success: 選挙は正常に掲示板に送信されました + title: 選挙を設定する + trustees: 選挙受託者 + created: + invalid: キーセレモニーを開始する際に問題が発生しました + submit: キーセレモニーを開始 + success: キーセレモニーの開始リクエストは正常に掲示板に送信されました + title: 選挙の作成 + trustees: 受託者 + key_ceremony: + title: キーセレモニー + trustees: 受託者 + key_ceremony_ended: + errors: + time_before: 選挙を開始する準備ができました。投票期間を開始するには、 開始時刻 ( %{start_time}) の%{hours} + 時間前まで待つ必要があります。 + invalid: 投票期間開始中に問題が発生しました + requirements: + time_before: 選挙はまもなく開始されます。手動で投票期間を開始するか、開始時刻の %{start_time} より前に自動的に開始されます。 + submit: 投票期間を開始 + success: 投票期間の開始リクエストは正常に掲示板に送信されました + title: 開始準備完了 + processing: 処理しています... + results_published: + title: 結果を公開しました + tally: + title: 集計処理 + trustees: 受託者 + tally_ended: + submit: 結果を公開 + title: 計算結果 + vote: + errors: + time_after: 選挙はまだ進行中です。投票期間を終了するには、終了時間(%{end_time})まで待つ必要があります。 + invalid: 投票期間の終了中に問題が発生しました + requirements: + time_after: 選挙は終了しました。投票期間を手動で終了するか、数分で自動的に終了します。 + submit: 投票を終了する + success: 投票期間の終了リクエストは正常に掲示板に送信されました + title: 投票期間 + vote_ended: + invalid: 集計開始中に問題が発生しました + submit: 集計を開始 + success: 集計開始リクエストは正常に掲示板に送信されました + title: 投票期間が終了しました + vote_stats: + no_vote_statistics_yet: まだ投票統計がありません + title: 投票統計 + voters: 投票者 + votes: 投票 + trustees_participatory_spaces: + actions: + disable: 無効 + enable: 検討する + create: + exists: この参加スペースに受託者が存在します + invalid: 受託者の作成中に問題が発生しました + success: 受託者の作成に成功しました + delete: + invalid: 受託者を削除する際に問題が発生しました + success: 受託者を削除しました + form: + select_user: ユーザーを選択 + index: + title: 受託者 + new: + create: 受託者を作成 + title: 新しい受託者 + update: + invalid: 受託者 %{trustee} の更新中に問題が発生しました + success: 受託者 %{trustee} が正常に更新されました + admin_log: + election: + end_vote: "%{user_name} が掲示板で %{resource_name} 選挙の投票期間を終了しました" + setup: "%{user_name} が掲示板に %{resource_name} 選挙を作成しました" + start_key_ceremony: "%{user_name} が掲示板で %{resource_name} 選挙の重要なキーセレモニーを開始しました" + start_tally: "%{user_name} が掲示板で %{resource_name} 選挙の集計を開始しました" + start_vote: "%{user_name} が掲示板の %{resource_name} 選挙の投票期間を開始しました" + elections: + preview: + available_answers: '利用可能な回答:' + description: これらは投票プロセスでの質問内容です。 + title: 選挙の質問 + results: + description: 'これらは、各質問に対する投票結果です:' + selected: 選択済 + title: 選挙結果 + votes: + one: "%{count} 票" + other: "%{count} 票" + zero: "%{count} 票" + show: + action-button: + change-vote: Change your vote + vote: Start voting + vote-again: Vote again + back: 利用可能な選挙 + callout: + already-voted: You have already voted in this election. You can change + your vote or verify it. + vote-rejected: It was not possible to verify your vote. Please cast it + again. + verify: + already-voted: Already voted? + verify-here: Check your vote here. + will-verify: You will be able to verify your vote once the election is + started. + voting_period_status: + ongoing: '有効な投票まで: %{end_time}' + models: + election: + fields: + bb_status: 掲示板の状態 + trustees_participatory_space: + fields: + considered: 考慮された + email: Eメールアドレス + inactive: 非アクティブ + name: 名前 + notification: 通知送信日時 + public_key: 公開鍵 + status: ステータス: + trustee_zone: + elections: + backup_modal: + description: この選挙は、掲示板で作成されています。 それに参加しているすべての受託者がこれらのキーのバックアップコピーを作成し、安全な場所に保存することが非常に重要です。 + その後、処理が続行されます。 + download_election_keys: ダウンロードキー + download_icon: ダウンロードアクションを示すアイコン + title: "%{election} のバックアップ選挙キー" + key_ceremony_steps: + back: 戻る + description: この選挙は、掲示板に作成されています。このプロセスを完了するには、受託者としての参加が必要です。 + keys: + create_election: キーの生成 + key_ceremony: + joint_election_key: キーの生成に参加する + step_1: キーの発行 + list: + status: ステータス + task: タスク + process_warning: プロセスが開始された後は、プロセスが終了するまでこのページを終了しないでください。 すべての受託者が連結され完了されるまで、数分かかることがあります。 + start: 開始 + start_icon: アイコンは、選挙キーの生成を開始するための開始ボタンを示します + status: + completed: 完了 + pending: 保留中 + processing: 処理中 + title: "%{election} の選挙用キーを作成" + restore_modal: + description: 掲示板には、今回の選挙の受託者としての情報が掲載されます。 処理を続行するには、最初に前回のセッションで生成されたバックアップファイルをアップロードします。 + title: "%{election} の選挙用キーを復元" + upload_election_keys: 選挙用キーをアップロード + upload_icon: ダウンロードアクションを示すアイコン + tally_steps: + back: 戻る + description: この選挙の結果は、掲示板上で計算されます。この処理を完了するには、受託者として参加すること必要があります。 + keys: + end_tally: 終了しました + tally: + cast: 集計キャスト + share: 集計を共有 + list: + status: ステータス + task: タスク + process_warning: プロセスが開始されると、プロセスが終了するまでこのページを閉じないでください。 すべての受託者が接続し完了するまで、しばらくかかることがあります。 + start: 開始 + start_icon: アイコンは、選挙キーの生成を開始するためのスタートボタンを示します + status: + completed: 完了 + pending: 保留中 + processing: 処理中 + title: "%{election} の合計" + update: + error: 選挙状況は更新されませんでした。 + success: '選挙の状態: %{status}' + menu: + trustee_zone: Trusteeゾーン + no_bulletin_board: + body: このセクションでは、設定された掲示板が必要です。詳細については管理者にお問い合わせください。 + title: 申し訳ありませんが、掲示板はまだ設定されていません。 + trustees: + show: + elections: + list: + action_required: + 'false': いいえ + name: 操作が必要ですか? + 'true': アクションを実行 + bb_status: ステータス + election: 選挙 + voting_period: 投票期間 + no_elections: あなたが受託者として行動する選挙はありません。 + title: 選挙 + identification_keys: + cancel: キャンセル + generate: 識別キーを生成 + generate_error: 識別キーの生成中にエラーが発生しました。 + generate_legend: あなたは、受託者として選挙に参加するために識別キーのペアを生成する必要があります。 + generate_legend_1: ボタンを押すと、生成された識別キーを含むファイルがダウンロードされます。 + generate_legend_2: ダウンロードしたファイルをクリーンなUSBデバイスにコピーします + generate_legend_3: コンピュータにファイルのコピーがないことを確認してください(例:ダウンロードフォルダとデスクトップフォルダを確認してください)。 + generate_legend_4: 異なる外部デバイスにファイルの別のコピーを作成し、非常に安全な場所に保存します。 + submit: 送信 + submit_legend: 上記のすべての手順に従った後、公開識別キーを Decidim サーバーに送信するプロセスを完了します。 + submit_title: 公開識別キーを送信 + title: 受託者の識別キー + upload: 識別キーをアップロード + upload_error: + invalid_format: アップロードされたファイルには識別キーが含まれていません。 + invalid_key: アップロードされたファイルの識別キーは読み込めません。 + invalid_public_key: アップロードされたファイルの識別キーは、Decidim が保存した公開識別キーと一致しません。 + upload_legend: Decidimはあなたの公開識別キーを持っていますが、お使いのブラウザにはまだありません。識別キーを生成した後に作成したバックアップから、識別キーの入ったファイルをコンピュータにインポートする必要があります。 + not_supported_browser_description: 受託者としての活動に使用できないWebブラウザを使用しているようです。最新バージョンのブラウザを使用するか、または一般的なブラウザを使用して、受託者のタスクを完了できるようにしてください。 + not_supported_browser_title: ブラウザをアップグレードして受託者として行動する + trustee_role_description: あなたは、このプラットフォームで行われる選挙のいくつかで受託者を務めることになっています。 + update: + success: 公開識別キーが正常に保存されました。 + votes: + confirmed: + error: Sorry, there was an error confirming the vote. Please vote again. + verify_link: 確認するには、識別子をコピーして 投票検証ページ に貼り付けます + failed: + header: 投票に失敗しました + lead: 投票は行われませんでした! + text: 問題が発生しました。もう一度やり直してください。 + processing: + header: Processing vote... + text: Your vote has been received and it is being processing. Please wait. + update: + error: 投票ステータスの更新中に問題が発生しました。もう一度投票してください。 + success: Vote status successfully updated + verify: + content: + heading: 投票を確認 + info: この検証器は、暗号化されたテキスト文字列で識別された投票が正しく変換され、投票箱内にあることを確認します。 + error: + header: 投票が見つかりません! + info: 投票コードが %{link} 投票箱に見つかりませんでした。もう一度やり直してください。 + form: + back: Decidimに戻る + submit: チェック + vote_identifier: '識別コード:' + header: + title: 投票を確認 + success: + header: 投票しました! + info: 暗号化されたあなたの投票は %{link} 投票箱にあります + votings: + admin: + content_blocks: + highlighted_votings: + max_results: 表示する要素の最大量 + landing_page: + attachments_and_folders: + name: 投票の添付ファイルとフォルダ + description: + name: 投票の説明 + elections: + name: 投票する選挙 + header: + name: 投票のヘッダー + html_block_1: + name: 投票htmlブロック1 + html_block_2: + name: 投票htmlブロック2 + html_block_3: + name: 投票htmlブロック3 + metrics: + name: 投票メトリクス + polling_stations: + name: 投票ステーション + stats: + name: 投票の統計 + timeline: + name: 投票のタイムライン + index: + not_published: 未公開 + published: 公開済み + landing_page: + content_blocks: + edit: + update: 更新 + edit: + active_content_blocks: アクティブコンテンツブロック + inactive_content_blocks: 非アクティブコンテンツブロック + menu: + votings: 投票 + votings_submenu: + attachment_collections: フォルダ + attachment_files: ファイル + attachments: 添付ファイル + components: コンポーネント + info: インフォメーション + landing_page: ランディングページ + monitoring_committee_members: メンバー + polling_officers: 投票委員 + polling_stations: 投票所 + models: + monitoring_committee_member: + fields: + email: Eメールアドレス + name: 名前 + name: 監視委員会のメンバー + polling_officer: + fields: + email: Eメールアドレス + name: 名前 + polling_station: 投票所 (role) + name: 投票委員 + polling_station: + fields: + address: 住所 + polling_station_managers: マネージャー + polling_station_president: 投票管理者 + title: タイトル + name: 投票所 + voting: + fields: + created_at: 作成日時 + promoted: ハイライト + published: 公開済み + title: タイトル + monitoring_committee_members: + create: + invalid: この監視委員会メンバーの作成中に問題が発生しました + success: 監視委員会のメンバーが正常に作成されました + destroy: + invalid: この監視委員会メンバーの削除中に問題が発生しました + success: 監視委員会のメンバーが正常に削除されました + form: + existing_user: 既存の参加者 + non_user: 新しい参加者を招待 + select_user: 名前、メールアドレス、ニックネームで検索 + user_type: Participant type + index: + title: Monitoring committee + new: + create: Create + title: Create monitoring committee member + polling_officers: + create: + invalid: There was a problem creating this polling officer + success: Polling officer successfully created + destroy: + invalid: この投票担当者を削除する際に問題が発生しました + success: 投票委員を削除しました + form: + existing_user: 既存の参加者 + non_user: 新しい参加者を招待 + select_user: 名前、メールアドレス、ニックネームで検索 + user_type: 参加者の種類 + index: + role_manager: マネージャー + role_president: 投票管理者 + title: 投票委員 + new: + create: 作成 + title: 投票委員を作成 + polling_officers_picker: + choose_polling_officers: 投票委員を選択してください + close: 閉じる + more_polling_officers: あと %{number} 人の投票委員がいます。検索を絞り込んで探しましょう。 + no_polling_officers: 検索条件に一致する投票委員がいないか、または投票委員が存在しません。 + polling_stations: + create: + invalid: There was a problem creating this polling station + success: Polling station successfully created + destroy: + invalid: There was a problem deleting this polling station + success: Polling station successfully deleted + edit: + title: Edit polling station + update: Update polling station + form: + address_help: 'Address: used by Geocoder to find the location' + location_help: 'Location: message directed to the voters implying the + exact place of the polling station' + location_hints_help: 'Location hints: additional info. Example: the floor + of the building where the polling station is located.' + polling_station_managers_help: 'Polling station managers: the officers + that will act as polling station managers. Make sure the officers have + already been created in Polling Officers and that they are not already + assigned to another polling station' + polling_station_president_help: 投票管理者:投票所の代表を務める担当者。 投票委員がすでに投票所に設置されていること、および他の投票所に割り当てられていないことを確認してください + select_president: 投票所の投票管理者として投票委員を選択してください + index: + title: Polling stations + new: + create: Create + title: Create polling station + update: + invalid: There was a problem updating this polling station + success: Polling station successfully updated + titles: + votings: Votings + votings: + actions: + confirm_destroy: Are you sure? + destroy: Destroy + new_voting: New Voting Space + publish: Publish + unpublish: Unpublish + create: + invalid: There was a problem creating this voting + success: Voting successfully created + edit: + add_election_component: You don't have any election configured for this + voting. Please add it in the Components section + assign_missing_officers: 投票管理者またはマネージャーがいない投票所があります。投票所セクションからアサインしてください + update: Update + form: + select_a_voting_type: Please select a voting type + slug_help: 'URL slugs are used to generate the URLs that point to this + voting. Only accepts letters, numbers and dashes, and must start with + a letter. Example: %{url}' + title: Title + voting_type: + hybrid: Hybrid + in_person: In person + online: Online + new: + create: Create + title: New Voting + publish: + success: Voting successfully published + unpublish: + success: Voting successfully unpublished + update: + invalid: There was a problem updating this voting + success: Voting successfully updated + admin_log: + voting: + create: "%{user_name} created the %{resource_name} voting" + publish: "%{user_name} published the %{resource_name} voting" + unpublish: "%{user_name} unpublished the %{resource_name} voting" + content_blocks: + highlighted_votings: + name: Highlighted votings + monitoring_committee_members: + actions: + confirm_destroy: Are you sure? + destroy: Delete + new: New member + title: Actions + pages: + home: + highlighted_votings: + active_votings: Active votings + see_all_votings: See all votings + votings_button_title: Link to the Votings page displaying all the votings + polling_officer_zone: + menu: + polling_officer_zone: Polling Officer zone + polling_officers: + show: + actions: + count_votes: Count the votes in the ballot box + identify_person: Identify and verify a person + polling_officer_role_description: You have been assigned to act as a Polling + Station Officer (President or Manager) in some of the elections celebrated + in this platform. + polling_stations: + list: + address: Address + name: Name + role: Your role + voting: Voting + no_polling_stations: You are not assigned to any Polling Station yet. + title: Polling Stations + polling_officers: + actions: + confirm_destroy: Are you sure? + destroy: Delete + new: New + title: Actions + roles: + manager: Manager + president: 投票管理者 + unassigned: Unassigned + polling_stations: + actions: + confirm_destroy: Are you sure? + destroy: Delete + edit: Edit + new: New + title: Actions + votings: + count: + title: + other: "%{count} 票" + filters: + active: 有効 + all: 全て + finished: 完了 + search: 検索 + state: ステータス + upcoming: 今後の予定 + filters_small_view: + close_modal: 閉じる + filter: フィルター + filter_by: 絞り込み条件 + unfold: 展開する + index: + no_votings: 検索条件に一致する投票はありません。 + only_finished: 現在、予定された投票はありませんが、ここでは記載されている完了した投票を探すことができます。 + title: 投票 + orders: + label: '投票の並べ替え:' + random: ランダム + recent: 新着順 + show: + dates: 日付 + votings_m: + badge_name: + finished: 完了 + ongoing: 進行中 + upcoming: 今後の予定 + footer_button_text: + participate: 参加 + view: 表示 + vote: 投票 + unspecified: 指定されていません + voting_type: + hybrid: ハイブリッド + in_person: 対面 + online: オンライン + voting_types_label: 投票タイプ + proposals: + admin: + exports: + proposal_comments: コメント + participatory_texts: + new_import: + accepted_mime_types: + odt: ODT + document_legend: '2MB未満のドキュメントを追加してください。セクションの深さが3レベルになるまで、各セクションは提案にパースされます。提案書式は次のとおりです: + %{valid_mime_types}' + proposals: + form: + delete_attachment: 添付ファイルを削除 + proposals_imports: + new: + title: 提案をインポート + content_blocks: + highlighted_proposals: + proposals: 提案 + last_activity: + proposal_updated_at_html: " %{link} で提案が更新されました" + proposals: + dynamic_map_instructions: + instructions: 地図上のポイントを移動できます。 + edit: + add_documents: ドキュメント + add_images: ファイル + delete_document: ドキュメントの削除 + delete_image: 画像を削除 + gallery_legend: "(オプション) 提案カードに画像を追加する" + placeholder: + address: インディアナ州 ホームウッドドライブブラウンズバーグ 37, 46112 + preview: + announcement_body: あなたの提案は下書きとして保存されました。サイトに表示するには公開する必要があります。 + announcement_title: 提案はまだ公開されていません + update_position: Update position + participatory_process_groups: + content_blocks: + html_1: + name: 最初の HTML ブロック + html_2: + name: 2番目のHTMLブロック + html_3: + name: 3番目の HTML ブロック + metadata: + developer_group: プロモーター + name: メタデータ + participatory_scope: 決定されること + participatory_structure: 決定方法 + target: 参加者 + participatory_processes: + name: 参加型プロセス + title: + meta_scope: スコープ + name: タイトル、説明、ハッシュタグ + participatory_processes: + other: "%{count} 個のプロセス" + assemblies: + statistics: + followers_count: Followers + headline: Statistics + no_stats: There are no statistics yet. + processes_count: Processes + initiatives: + admin: + content_blocks: + highlighted_initiatives: + order: + default: デフォルト (最近のもの) + label: 'ソートする要素:' + most_recent: 新着順 + initiatives: + edit: + confirm_send_to_technical_validation: 本当によろしいですか? + initiatives_types: + form: + child_scope_threshold_enabled_help: この設定では、対面での署名収集をサポートせず、サブスコープの署名フラグを有効にし、スコープとユーザーを関連付ける承認ハンドラと連携します。オーソリゼーションの設定で、下記のオーソリゼーションを必ず選択してください。これが機能するためには、1つのスコープ + - N個のサブスコープというように、階層的に構成されている必要があります。この設定がどのように機能するかについては、このリンクを参照してください。 + committee_requests: + approve: + success: リクエストが承認されました。 + revoke: + success: リクエストが取り消されました。 + create_initiative: + fill_data: + fill_data_help: "
    • イニシアチブの内容を確認しましょう。タイトルはわかりやすいでしょうか? イニシアチブの目的は明確でしょうか? +
    • 署名の種別を選択する必要があります。対面署名、オンライン署名、または両方の組み合わせのいずれかです。
    • イニシアチブの地理的範囲はどうなりますか?
    " + finish: + callout_text: おめでとうございます!あなたのイニシアチブが問題なく作成されました。 + confirm: イニシアチブを提出し、管理者がレビューして公開することになります。一度公開すると編集できなくなりますが、よろしいですか? + edit_my_initiative: 自分のイニシアチブを編集 + send_my_initiative: 自分のイニシアチブを技術検証に提出 + finish_help: + access_reminder: イニシアチブには、「イニシアチブ」ページの「%{link}」フィルターからアクセスできます。 + publish_helper_text: イニシアチブを公開するためには、必要な情報を記入し、技術検証に提出して管理者に確認してもらう必要があることを覚えておいてください。 + promotal_committee: + individual_help_text: この種類のイニシアチブでは、少なくとも%{committee_size} のメンバー(証人) で構成される推進委員会が必要です。以下のリンクを、この取り組みに参加している他の人々と共有する必要があります。あなたの連絡先がこのリンクを受け取ったら、指示された手順に従う必要があります。 + select_initiative_type: + select_initiative_type_help: イニシアチブとは、一般的な利益を守るために組織が行動を起こすよう、参加者が介入するための手段です。 + どのようなイニシアチブを立ち上げたいですか? + edit: + accept: イニシアチブを承認する + back: 戻る + confirm: 本当によろしいですか? + discard: イニシアチブを破棄する + export_pdf_signatures: 署名の PDF をエクスポート + export_votes: 署名をエクスポート + reject: イニシアチブを拒否する + title: イニシアチブを編集する + update: 更新する + events: + approve_membership_request: + email_intro: "%{author_nickname} は、%{resource_title} イニシアチブの推進委員会に参加するあなたの申請を承認しました。" + email_outro: この通知を受け取ったのは、イニシアチブ %{resource_title} に応募したためです。 + email_subject: "%{author_nickname} が推進委員会への申請を承認しました" + notification_title: %{author_nickname} + は、以下のイニシアチブ %{resource_title} のための推進委員会の一員となるためのあなたの申請を承認しました。 + revoke_membership_request: + email_intro: "%{author_nickname} は、以下のイニシアチブ %{resource_title} の推進委員会に参加する申請を拒否しました。" + email_outro: この通知を受け取ったのは、イニシアチブ %{resource_title} に応募したためです。 + email_subject: "%{author_nickname} が推進委員会への申請を拒否しました" + notification_title: %{author_nickname} + は、以下のイニシアチブ %{resource_title} のための推進委員会の一員となるためのあなたの申請を拒否しました。 + spawn_committee_request_event: + email_intro: "%{applicant_nickname} は、あなたのイニシアチブの推進委員会 %{resource_title} + への参加を希望しました。リクエストを承認または拒否するには、イニシアチブの編集フォームに進んでください。" + email_outro: この通知を受け取ったのは、イニシアチブ %{resource_title} の作成者だからです。 + email_subject: "%{applicant_nickname} があなたのイニシアチブに参加しようとしています" + notification_title: %{applicant_nickname} + があなたのイニシアチブの推進委員会に申請しました %{resource_title}. + 受け入れるか拒否するには ここをクリックしてください。 + form: + add_attachments: ドキュメント + attachment_legend: "(オプション) 添付ファイルを追加" + delete_attachment: 削除 + initiatives: + committee_members: + approve: 承認 + confirm_revoke: 本当によろしいですか? + invite_to_committee_help: このリンクを共有して他の参加者を推進委員会に招待します + no_members_yet: 推進委員会にメンバーがいません。 + revoke: 取り消し + title: 委員会メンバー + print: + address: 住所 + author_title: イニシアチブの作成者 + email: Eメールアドレス + full_name: フルネーム + general_title: イニシアチブの承認申請 + id_number: ID 番号 + initiative: + attachments: 添付ドキュメント(各ドキュメントの名前を以下に記入してください) + description: '説明:' + title: 'タイトル:' + type: イニシアチブの種別 + legal_text: 収集された個人データは、現行の法律に基づき、組織によって機密情報として取り扱われます。 + phone_number: 電話番号 + place_date: 場所、日付 + postal_code: 郵便番号 + print: 印刷 + province: 都道府県/州 + section: '組織から要求された場合、印刷した紙に必要事項を記入して、指定の場所に送信してください:' + signature: 署名 + result: + answer_title: このイニシアチブは回答されました + show: + any_vote_method: このイニシアチブは、オンラインと対面の署名の両方を収集します。 + confirm: イニシアチブを提出し、管理者がレビューして公開することになります。一度公開すると編集できなくなりますが、よろしいですか? + edit: 編集 + offline_method: このイニシアチブは、 In-personal 署名のみを収集します。 + print: イニシアチブを印刷 + send_to_technical_validation: 技術検証に提出する + update: + error: エラーが発生しました + success: イニシアチブが正常に更新されました + forms: + length_validator: + minimum: + other: 少なくとも %{count} 文字 + layouts: + decidim: + timeout_modal: + body: "%{minutes} 分間アクティブではありませんでした。このまま非アクティブ状態を続けると、自動的にログアウトされます。" + continue_session: セッションを続ける + sign_out: ログアウト + title: セッションを続行しますか? + admin: + global_moderations: + title: グローバルモデレーション + votings: + index: + promoted_votings: 強調された投票 + promoted_voting: + more_info: 詳細情報 + vote: 投票 + participatory_processes: + promoted_process_group: + more_info: 詳細情報 From bad78ae4f040ad29ec9fe10189760520151bb3d1 Mon Sep 17 00:00:00 2001 From: takahashim Date: Sun, 21 Nov 2021 19:30:43 +0900 Subject: [PATCH 06/22] Update translations (in a locale file) --- config/locales/v0243_replaced_ja.yml | 219 ++++++++++++--------------- 1 file changed, 94 insertions(+), 125 deletions(-) diff --git a/config/locales/v0243_replaced_ja.yml b/config/locales/v0243_replaced_ja.yml index 4fbf2ea5cd..fd86ae15b9 100644 --- a/config/locales/v0243_replaced_ja.yml +++ b/config/locales/v0243_replaced_ja.yml @@ -362,7 +362,7 @@ ja: select_a_registration_type: 登録種別を選択してください minutes: edit: - title: Edit minutes + title: Edit 議事録を編集 last_activity: meeting_updated_at_html: "ミーティングが %{link} に更新されました" meeting_closes: @@ -502,26 +502,8 @@ ja: 議案は組織に影響するどのようなことにも利用できます。例えば、いくつかの代替案から組織の名前やロゴを選び変更したり、より大きな組織の一部になるかどうか、イエスかノーかを決定したり、新しい戦略計画やワーキンググループの結果を検証したり拒否したり、ポジションが最大で 1、2、3 の委任のままであるべきかどうかを定義したりできます。

    \n" votings: - contextual: "

    A voting is a space that allows you to - ask a clear question to all the people who form an organization, make - a call to participate in the voting, spark and order the debate for or - against a response. When the voting date arrives, you can vote and publish - the results of the votes.

    Examples: The votings can be about almost - any aspect that affects an organization: some examples are changing the - name or logo of the organization offering several alternatives, deciding - Yes or No to become part of a larger organization, validating or rejecting - a new strategic plan or the result of a working group, or defining whether - the positions should remain a maximum of 1, 2 or 3 mandates.

    \n" - page: "

    A voting is a space that allows you to ask a - clear question to all the people who form an organization, make a call - to participate in the voting, spark and order the debate for or against - a response. When the voting date arrives, you can vote and publish the - results of the votes.

    Examples: The votings can be about almost - any aspect that affects an organization: some examples are changing the - name or logo of the organization offering several alternatives, deciding - Yes or No to become part of a larger organization, validating or rejecting - a new strategic plan or the result of a working group, or defining whether - the positions should remain a maximum of 1, 2 or 3 mandates.

    \n" + contextual: "

    投票は、組織を形成するすべての人に明確な質問を投げかけ、投票への参加を呼びかけ、回答の賛否の議論に火をつけ、注文をつけることができるスペースです。投票日が来たら、投票を行い、その結果を公開することができます。

    例: 投票は組織に影響するどのようなことにも利用できます。例えば、いくつかの案から組織の名前やロゴを選んで変更したり、より大きな組織の一部になるかどうかをイエスかノーかで決定したり、新しい戦略計画やワーキンググループの結果の検証や拒否したり、ポジションが最大で 1、2、3 の委任のままであるべきかどうかを決定したりできます。

    \n" + page: "

    投票は、組織を形成するすべての人に明確な質問を投げかけ、投票への参加を呼びかけ、回答の賛否の議論に火をつけ、注文をつけることができるスペースです。投票日が来たら、投票を行い、その結果を公開することができます。

    例: 投票は組織に影響するどのようなことにも利用できます。例えば、いくつかの案から組織の名前やロゴを選んで変更したり、より大きな組織の一部になるかどうかをイエスかノーかで決定したり、新しい戦略計画やワーキンググループの結果の検証や拒否したり、ポジションが最大で 1、2、3 の委任のままであるべきかどうかを決定したりできます。

    \n" title: 投票とは何ですか? menu: votings: 投票 @@ -806,15 +788,12 @@ ja: vote-again: Vote again back: 利用可能な選挙 callout: - already-voted: You have already voted in this election. You can change - your vote or verify it. - vote-rejected: It was not possible to verify your vote. Please cast it - again. + already-voted: すでにこの選挙に投票しました。投票の変更と確認ができます。 + vote-rejected: 投票を確認できませんでした。もう一度お試しください。 verify: - already-voted: Already voted? - verify-here: Check your vote here. - will-verify: You will be able to verify your vote once the election is - started. + already-voted: すでに投票しましたか? + verify-here: 投票を確認してください。 + will-verify: 選挙が開始されると、投票を確認することができます。 voting_period_status: ongoing: '有効な投票まで: %{end_time}' models: @@ -928,18 +907,18 @@ ja: success: 公開識別キーが正常に保存されました。 votes: confirmed: - error: Sorry, there was an error confirming the vote. Please vote again. + error: 申し訳ありませんが、投票の確認中にエラーが発生しました。もう一度投票してください。 verify_link: 確認するには、識別子をコピーして 投票検証ページ に貼り付けます failed: header: 投票に失敗しました lead: 投票は行われませんでした! text: 問題が発生しました。もう一度やり直してください。 processing: - header: Processing vote... - text: Your vote has been received and it is being processing. Please wait. + header: 投票を処理しています... + text: 投票を受け付けました。しばらくお待ちください。 update: error: 投票ステータスの更新中に問題が発生しました。もう一度投票してください。 - success: Vote status successfully updated + success: 投票ステータスを更新しました verify: content: heading: 投票を確認 @@ -1042,16 +1021,16 @@ ja: existing_user: 既存の参加者 non_user: 新しい参加者を招待 select_user: 名前、メールアドレス、ニックネームで検索 - user_type: Participant type + user_type: 参加者の種類 index: - title: Monitoring committee + title: 監視委員会 new: - create: Create - title: Create monitoring committee member + create: 作成 + title: 監視委員会メンバーを作成 polling_officers: create: - invalid: There was a problem creating this polling officer - success: Polling officer successfully created + invalid: この投票委員の作成中に問題が発生しました + success: 投票委員を作成しました destroy: invalid: この投票担当者を削除する際に問題が発生しました success: 投票委員を削除しました @@ -1074,127 +1053,117 @@ ja: no_polling_officers: 検索条件に一致する投票委員がいないか、または投票委員が存在しません。 polling_stations: create: - invalid: There was a problem creating this polling station - success: Polling station successfully created + invalid: 投票所の作成中に問題が発生しました + success: 投票所を作成しました destroy: - invalid: There was a problem deleting this polling station - success: Polling station successfully deleted + invalid: 投票所を削除する際に問題が発生しました + success: 投票所を削除しました edit: - title: Edit polling station - update: Update polling station + title: 投票所を編集 + update: 投票所を更新 form: - address_help: 'Address: used by Geocoder to find the location' - location_help: 'Location: message directed to the voters implying the - exact place of the polling station' - location_hints_help: 'Location hints: additional info. Example: the floor - of the building where the polling station is located.' - polling_station_managers_help: 'Polling station managers: the officers - that will act as polling station managers. Make sure the officers have - already been created in Polling Officers and that they are not already - assigned to another polling station' - polling_station_president_help: 投票管理者:投票所の代表を務める担当者。 投票委員がすでに投票所に設置されていること、および他の投票所に割り当てられていないことを確認してください + address_help: '住所: ジオコーダーが場所を見つけるために使用' + location_help: '場所: 投票所の正確な場所を知らせるための投票者向けメッセージ' + location_hints_help: '場所のヒント: 追加情報。例:投票所がある建物のフロア。' + polling_station_managers_help: '投票所管理者: 投票所の管理を行う担当者。担当者がすでに投票委員として作成されていること、および他の投票所に割り当てられていないことを確認してください' + polling_station_president_help: 投票所責任者:投票所の代表を務める担当者。 投票委員がすでに投票所に設置されていること、および他の投票所に割り当てられていないことを確認してください select_president: 投票所の投票管理者として投票委員を選択してください index: - title: Polling stations + title: 投票所 new: - create: Create - title: Create polling station + create: 作成 + title: 投票所の作成 update: - invalid: There was a problem updating this polling station - success: Polling station successfully updated + invalid: 投票所の更新中に問題が発生しました + success: 投票所を更新しました titles: - votings: Votings + votings: 投票 votings: actions: - confirm_destroy: Are you sure? - destroy: Destroy - new_voting: New Voting Space - publish: Publish - unpublish: Unpublish + confirm_destroy: 本当に削除してよろしいですか? + destroy: 削除 + new_voting: 新しい投票スペース + publish: 公開 + unpublish: 非公開にする create: - invalid: There was a problem creating this voting - success: Voting successfully created + invalid: 投票の作成中に問題が発生しました + success: 投票が正常に作成されました edit: - add_election_component: You don't have any election configured for this - voting. Please add it in the Components section + add_election_component: この投票用に設定された選挙がありません。コンポーネントセクションに追加してください。 assign_missing_officers: 投票管理者またはマネージャーがいない投票所があります。投票所セクションからアサインしてください - update: Update + update: 更新 form: - select_a_voting_type: Please select a voting type - slug_help: 'URL slugs are used to generate the URLs that point to this - voting. Only accepts letters, numbers and dashes, and must start with - a letter. Example: %{url}' - title: Title + select_a_voting_type: 投票方式を選択してください + slug_help: "URLスラグは、この投票を指すURLを生成するために使用されます。 文字、数字、ダッシュのみを受け付け、文字で始める必要があります。例: %{url}" + title: タイトル voting_type: - hybrid: Hybrid - in_person: In person - online: Online + hybrid: ハイブリッド + in_person: 対面 + online: オンライン new: - create: Create - title: New Voting + create: 作成 + title: 新しい投票 publish: - success: Voting successfully published + success: 投票が正常に公開されました unpublish: - success: Voting successfully unpublished + success: 投票を非公開にしました update: - invalid: There was a problem updating this voting - success: Voting successfully updated + invalid: 投票の更新中に問題が発生しました + success: 投票が正常に更新されました admin_log: voting: - create: "%{user_name} created the %{resource_name} voting" - publish: "%{user_name} published the %{resource_name} voting" - unpublish: "%{user_name} unpublished the %{resource_name} voting" + create: "%{user_name} が %{resource_name} の投票を作成しました" + publish: "%{user_name} が %{resource_name} の投票を公開しました" + unpublish: "%{user_name} が %{resource_name} の投票を非公開にしました" content_blocks: highlighted_votings: - name: Highlighted votings + name: 注目の投票 monitoring_committee_members: actions: - confirm_destroy: Are you sure? - destroy: Delete - new: New member - title: Actions + confirm_destroy: 本当に削除してよろしいですか? + destroy: 削除 + new: 新規メンバー + title: アクション pages: home: highlighted_votings: - active_votings: Active votings - see_all_votings: See all votings - votings_button_title: Link to the Votings page displaying all the votings + active_votings: アクティブな投票 + see_all_votings: すべての投票を表示 + votings_button_title: すべての投票を表示する投票ページへのリンク polling_officer_zone: menu: - polling_officer_zone: Polling Officer zone + polling_officer_zone: 投票委員ゾーン polling_officers: show: actions: - count_votes: Count the votes in the ballot box - identify_person: Identify and verify a person - polling_officer_role_description: You have been assigned to act as a Polling - Station Officer (President or Manager) in some of the elections celebrated - in this platform. + count_votes: 投票箱の投票数をカウント + identify_person: 本人の特定と検証を行う + polling_officer_role_description: あなたは、このプラットフォームで行われるいくつかの選挙で、投票所の責任者(長またはマネージャー) として行動するように割り当てられています。 polling_stations: list: - address: Address - name: Name - role: Your role - voting: Voting - no_polling_stations: You are not assigned to any Polling Station yet. - title: Polling Stations + address: 住所 + name: 名前 + role: 役割 + voting: 投票 + no_polling_stations: まだどの投票所にも割り当てられていません。 + title: 投票所 polling_officers: actions: - confirm_destroy: Are you sure? - destroy: Delete - new: New - title: Actions + confirm_destroy: 本当に削除してよろしいですか? + destroy: 削除 + new: 新規作成 + title: アクション roles: - manager: Manager - president: 投票管理者 - unassigned: Unassigned + manager: マネージャー + president: 投票責任者 + unassigned: 未割り当て polling_stations: actions: - confirm_destroy: Are you sure? - destroy: Delete - edit: Edit - new: New - title: Actions + confirm_destroy: 本当に削除してよろしいですか? + destroy: 削除 + edit: 編集 + new: 新規作成 + title: アクション votings: count: title: @@ -1271,7 +1240,7 @@ ja: preview: announcement_body: あなたの提案は下書きとして保存されました。サイトに表示するには公開する必要があります。 announcement_title: 提案はまだ公開されていません - update_position: Update position + update_position: 位置を更新 participatory_process_groups: content_blocks: html_1: @@ -1295,10 +1264,10 @@ ja: other: "%{count} 個のプロセス" assemblies: statistics: - followers_count: Followers - headline: Statistics - no_stats: There are no statistics yet. - processes_count: Processes + followers_count: フォロワー + headline: 統計情報 + no_stats: 統計情報はまだありません。 + processes_count: プロセス initiatives: admin: content_blocks: From 8933394bb15b79b248edc8b804f2f3bd2299a0fa Mon Sep 17 00:00:00 2001 From: takahashim Date: Sun, 21 Nov 2021 19:35:56 +0900 Subject: [PATCH 07/22] Update Gemfile and Gemfile.lock --- Gemfile | 4 ++-- Gemfile.lock | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Gemfile b/Gemfile index bea2787f2a..722b8ef6bf 100644 --- a/Gemfile +++ b/Gemfile @@ -12,10 +12,10 @@ gem "decidim-decidim_awesome", "~> 0.7.0" gem "bootsnap", "~> 1.3" -gem "puma", ">= 4.3.5" +gem "puma", ">= 5.0.0" gem "uglifier", "~> 4.1" -gem "faker", "~> 1.9" +gem "faker", "~> 2.14" gem "wicked_pdf", "~> 1.4" diff --git a/Gemfile.lock b/Gemfile.lock index a262806658..a46d6d8d9e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -417,8 +417,8 @@ GEM factory_bot_rails (4.11.1) factory_bot (~> 4.11.1) railties (>= 3.0.0) - faker (1.9.6) - i18n (>= 0.7) + faker (2.19.0) + i18n (>= 1.6, < 2) faraday (1.8.0) faraday-em_http (~> 1.0) faraday-em_synchrony (~> 1.0) @@ -888,14 +888,14 @@ DEPENDENCIES deface dotenv-rails factory_bot_rails - faker (~> 1.9) + faker (~> 2.14) figaro fog-aws letter_opener_web (~> 1.3) listen (~> 3.1) mimemagic (~> 0.3.10) newrelic_rpm - puma (>= 4.3.5) + puma (>= 5.0.0) rspec-rails rubyzip (>= 1.0.0) sidekiq (= 5.2.7) From 4eebf87b15dff3bd09c6f72c6761ddd1eba74d84 Mon Sep 17 00:00:00 2001 From: takahashim Date: Sun, 21 Nov 2021 21:35:40 +0900 Subject: [PATCH 08/22] Remove old code for Faker 1.x; now we use 2.x --- lib/monkey_patching_faker.rb | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/lib/monkey_patching_faker.rb b/lib/monkey_patching_faker.rb index 6914b760b1..91e7c7fbf6 100644 --- a/lib/monkey_patching_faker.rb +++ b/lib/monkey_patching_faker.rb @@ -2,25 +2,12 @@ # This monkey patch force the output of `Faker::Internet.slug()` to be in English. module FakerInternetEnglishExtension - if Gem::Version.create(Faker::VERSION) < Gem::Version.create("2.0.0") - - def slug(words = nil, glue = nil) - with_locale(:en) do - glue ||= sample(%w(- _)) - (words || Faker::Lorem.words(2).join(" ")).delete(",.").gsub(" ", glue).downcase - end + def slug(words: nil, glue: nil) + super + with_locale(:en) do + glue ||= sample(%w(- _)) + (words || Faker::Lorem.words(number: 2).join(" ")).delete(",.").gsub(" ", glue).downcase end - - else - - def slug(legacy_words = NOT_GIVEN, legacy_glue = NOT_GIVEN, words: nil, glue: nil) - super - with_locale(:en) do - glue ||= sample(%w(- _)) - (words || Faker::Lorem.words(number: 2).join(" ")).delete(",.").gsub(" ", glue).downcase - end - end - end end From 977fc03bf2041ffb143ac5e2667be67366c8aa40 Mon Sep 17 00:00:00 2001 From: takahashim Date: Sun, 21 Nov 2021 21:46:10 +0900 Subject: [PATCH 09/22] Fix `Faker::Lorem.words` for Faker 2.x --- db/seeds.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/seeds.rb b/db/seeds.rb index 9e787595bf..cdf2a7f2e7 100644 --- a/db/seeds.rb +++ b/db/seeds.rb @@ -34,7 +34,7 @@ Decidim::User.find_each do |user| user_extension = { real_name: "#{user.name}_実名", - address: Faker::Lorem.words(4).join(""), + address: Faker::Lorem.words(number: 4).join(""), gender: [0, 1, 2].sample, birth_year: (1980..2010).to_a.sample, occupation: ["会社員", "学生", "公務員", "自営業", "無職", nil].sample From ca218f2dc04833da7de42f64e4cf04ba459c65e3 Mon Sep 17 00:00:00 2001 From: takahashim Date: Sun, 21 Nov 2021 23:03:27 +0900 Subject: [PATCH 10/22] Apply rules of rubocop from Decidim 0.24.3 --- .rubocop.yml | 1265 +----------- .rubocop_rails.yml | 10 + .rubocop_ruby.yml | 1758 +++++++++++++++++ Gemfile | 1 + Gemfile.lock | 4 + .../user_extension_authorization_handler.rb | 4 - config/environments/development.rb | 2 +- config/environments/production.rb | 2 +- config/initializers/carrierwave.rb | 2 +- config/initializers/decidim.rb | 2 +- config/puma.rb | 8 +- .../decidim-user_extension.gemspec | 1 + spec/rails_helper.rb | 2 +- spec/spec_helper.rb | 2 + 14 files changed, 1788 insertions(+), 1275 deletions(-) create mode 100644 .rubocop_ruby.yml diff --git a/.rubocop.yml b/.rubocop.yml index f9af37afd9..870c0b9fff 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,1262 +1,3 @@ -require: rubocop-rspec - -# Common configuration. -AllCops: - Include: - - "**/*.rb" - - "**/*.rake" - - "**/*.gemspec" - - "**/*.ru" - - "**/Gemfile" - - "**/Rakefile" - Exclude: - - "**/vendor/**/*" - - "development_app/**/*" - - "spec/decidim_dummy_app/**/*" - - "node_modules/**/*" - - "**/node_modules/**/*" - - "db/migrate/*" - - "db/schema.rb" - # Default formatter will be used if no -f/--format option is given. - DefaultFormatter: progress - # Cop names are not displayed in offense messages by default. Change behavior - # by overriding DisplayCopNames, or by giving the -D/--display-cop-names - # option. - DisplayCopNames: true - # Style guide URLs are not displayed in offense messages by default. Change - # behavior by overriding DisplayStyleGuide, or by giving the - # -S/--display-style-guide option. - DisplayStyleGuide: false - # Extra details are not displayed in offense messages by default. Change - # behavior by overriding ExtraDetails, or by giving the - # -E/--extra-details option. - ExtraDetails: false - # Additional cops that do not reference a style guide rule may be enabled by - # default. Change behavior by overriding StyleGuideCopsOnly, or by giving - # the --only-guide-cops option. - StyleGuideCopsOnly: false - # All cops except the ones in disabled.yml are enabled by default. Change - # this behavior by overriding DisabledByDefault. When DisabledByDefault is - # true, all cops in the default configuration are disabled, and and only cops - # in user configuration are enabled. This makes cops opt-in instead of - # opt-out. Note that when DisabledByDefault is true, cops in user - # configuration will be enabled even if they don't set the Enabled parameter. - DisabledByDefault: false - # Enables the result cache if true. Can be overridden by the --cache command - # line option. - UseCache: true - # Threshold for how many files can be stored in the result cache before some - # of the files are automatically removed. - MaxFilesInCache: 20000 - # The cache will be stored in "rubocop_cache" under this directory. The name - # "/tmp" is special and will be converted to the system temporary directory, - # which is "/tmp" on Unix-like systems, but could be something else on other - # systems. - CacheRootDirectory: /tmp - # The default cache root directory is /tmp, which on most systems is - # writable by any system user. This means that it is possible for a - # malicious user to anticipate the location of Rubocop's cache directory, - # and create a symlink in its place that could cause Rubocop to overwrite - # unintended files, or read malicious input. If you are certain that your - # cache location is secure from this kind of attack, and wish to use a - # symlinked cache location, set this value to "true". - AllowSymlinksInCacheRootDirectory: true - # What MRI version of the Ruby interpreter is the inspected code intended to - # run on? (If there is more than one, set this to the lowest version.) - # If a value is specified for TargetRubyVersion then it is used. - # Else if .ruby-version exists and it contains an MRI version it is used. - # Otherwise we fallback to the oldest officially supported Ruby version (2.0). - TargetRubyVersion: 2.7 - - RSpec: - Patterns: - - "(?:^|/)spec/" - - "(?:^|/)test/" - -# Indent private/protected/public as deep as method definitions -Layout/AccessModifierIndentation: - EnforcedStyle: indent - SupportedStyles: - - outdent - - indent - # By default, the indentation width from Style/IndentationWidth is used - # But it can be overridden by setting this parameter - IndentationWidth: ~ - -Style/Alias: - EnforcedStyle: prefer_alias - SupportedStyles: - - prefer_alias - - prefer_alias_method - -# Align the elements of a hash literal if they span more than one line. -Layout/AlignHash: - # Alignment of entries using hash rocket as separator. Valid values are: - # - # key - left alignment of keys - # "a" => 2 - # "bb" => 3 - # separator - alignment of hash rockets, keys are right aligned - # "a" => 2 - # "bb" => 3 - # table - left alignment of keys, hash rockets, and values - # "a" => 2 - # "bb" => 3 - EnforcedHashRocketStyle: key - # Alignment of entries using colon as separator. Valid values are: - # - # key - left alignment of keys - # a: 0 - # bb: 1 - # separator - alignment of colons, keys are right aligned - # a: 0 - # bb: 1 - # table - left alignment of keys and values - # a: 0 - # bb: 1 - EnforcedColonStyle: key - # Select whether hashes that are the last argument in a method call should be - # inspected? Valid values are: - # - # always_inspect - Inspect both implicit and explicit hashes. - # Registers an offense for: - # function(a: 1, - # b: 2) - # Registers an offense for: - # function({a: 1, - # b: 2}) - # always_ignore - Ignore both implicit and explicit hashes. - # Accepts: - # function(a: 1, - # b: 2) - # Accepts: - # function({a: 1, - # b: 2}) - # ignore_implicit - Ignore only implicit hashes. - # Accepts: - # function(a: 1, - # b: 2) - # Registers an offense for: - # function({a: 1, - # b: 2}) - # ignore_explicit - Ignore only explicit hashes. - # Accepts: - # function({a: 1, - # b: 2}) - # Registers an offense for: - # function(a: 1, - # b: 2) - EnforcedLastArgumentHashStyle: always_inspect - SupportedLastArgumentHashStyles: - - always_inspect - - always_ignore - - ignore_implicit - - ignore_explicit - -Layout/AlignParameters: - # Alignment of parameters in multi-line method calls. - # - # The `with_first_parameter` style aligns the following lines along the same - # column as the first parameter. - # - # method_call(a, - # b) - # - # The `with_fixed_indentation` style aligns the following lines with one - # level of indentation relative to the start of the line with the method call. - # - # method_call(a, - # b) - EnforcedStyle: with_first_parameter - SupportedStyles: - - with_first_parameter - - with_fixed_indentation - # By default, the indentation width from Style/IndentationWidth is used - # But it can be overridden by setting this parameter - IndentationWidth: ~ - -Style/AndOr: - # Whether `and` and `or` are banned only in conditionals (conditionals) - # or completely (always). - EnforcedStyle: always - SupportedStyles: - - always - - conditionals - -Style/AsciiComments: - Enabled: false - -# Checks if usage of %() or %Q() matches configuration. -Style/BarePercentLiterals: - EnforcedStyle: bare_percent - SupportedStyles: - - percent_q - - bare_percent - -Style/BlockComments: - Exclude: - - "spec/spec_helper.rb" - -Style/BlockDelimiters: - EnforcedStyle: line_count_based - SupportedStyles: - # The `line_count_based` style enforces braces around single line blocks and - # do..end around multi-line blocks. - - line_count_based - # The `semantic` style enforces braces around functional blocks, where the - # primary purpose of the block is to return a value and do..end for - # procedural blocks, where the primary purpose of the block is its - # side-effects. - # - # This looks at the usage of a block's method to determine its type (e.g. is - # the result of a `map` assigned to a variable or passed to another - # method) but exceptions are permitted in the `ProceduralMethods`, - # `FunctionalMethods` and `IgnoredMethods` sections below. - - semantic - # The `braces_for_chaining` style enforces braces around single line blocks - # and do..end around multi-line blocks, except for multi-line blocks whose - # return value is being chained with another method (in which case braces - # are enforced). - - braces_for_chaining - ProceduralMethods: - # Methods that are known to be procedural in nature but look functional from - # their usage, e.g. - # - # time = Benchmark.realtime do - # foo.bar - # end - # - # Here, the return value of the block is discarded but the return value of - # `Benchmark.realtime` is used. - - benchmark - - bm - - bmbm - - create - - each_with_object - - measure - - new - - realtime - - tap - - with_object - FunctionalMethods: - # Methods that are known to be functional in nature but look procedural from - # their usage, e.g. - # - # let(:foo) { Foo.new } - # - # Here, the return value of `Foo.new` is used to define a `foo` helper but - # doesn't appear to be used from the return value of `let`. - - let - - let! - - subject - - watch - IgnoredMethods: - # Methods that can be either procedural or functional and cannot be - # categorised from their usage alone, e.g. - # - # foo = lambda do |x| - # puts "Hello, #{x}" - # end - # - # foo = lambda do |x| - # x * 100 - # end - # - # Here, it is impossible to tell from the return value of `lambda` whether - # the inner block's return value is significant. - - lambda - - proc - - it - -Style/BracesAroundHashParameters: - EnforcedStyle: no_braces - SupportedStyles: - # The `braces` style enforces braces around all method parameters that are - # hashes. - - braces - # The `no_braces` style checks that the last parameter doesn't have braces - # around it. - - no_braces - # The `context_dependent` style checks that the last parameter doesn't have - # braces around it, but requires braces if the second to last parameter is - # also a hash literal. - - context_dependent - -# Indentation of `when`. -Layout/CaseIndentation: - EnforcedStyle: case - SupportedStyles: - - case - - end - IndentOneStep: false - # By default, the indentation width from Style/IndentationWidth is used - # But it can be overridden by setting this parameter - # This only matters if IndentOneStep is true - IndentationWidth: ~ - -Style/ClassAndModuleChildren: - Enabled: false - # Checks the style of children definitions at classes and modules. - # - # Basically there are two different styles: - # - # `nested` - have each child on a separate line - # class Foo - # class Bar - # end - # end - # - # `compact` - combine definitions as much as possible - # class Foo::Bar - # end - # - # The compact style is only forced, for classes / modules with one child. - EnforcedStyle: nested - SupportedStyles: - - nested - - compact - -Style/ClassCheck: - EnforcedStyle: is_a? - SupportedStyles: - - is_a? - - kind_of? - -# Align with the style guide. -Style/CollectionMethods: - # Mapping from undesired method to desired_method - # e.g. to use `detect` over `find`: - # - # CollectionMethods: - # PreferredMethods: - # find: detect - PreferredMethods: - collect: "map" - collect!: "map!" - inject: "reduce" - detect: "find" - find_all: "select" - -# Use ` or %x around command literals. -Style/CommandLiteral: - EnforcedStyle: backticks - # backticks: Always use backticks. - # percent_x: Always use %x. - # mixed: Use backticks on single-line commands, and %x on multi-line commands. - SupportedStyles: - - backticks - - percent_x - - mixed - # If false, the cop will always recommend using %x if one or more backticks - # are found in the command string. - AllowInnerBackticks: false - -# Checks formatting of special comments -Style/CommentAnnotation: - Keywords: - - TODO - - FIXME - - OPTIMIZE - - HACK - - REVIEW - -Style/ConditionalAssignment: - EnforcedStyle: assign_to_condition - SupportedStyles: - - assign_to_condition - - assign_inside_condition - # When configured to `assign_to_condition`, `SingleLineConditionsOnly` - # will only register an offense when all branches of a condition are - # a single line. - # When configured to `assign_inside_condition`, `SingleLineConditionsOnly` - # will only register an offense for assignment to a condition that has - # at least one multiline branch. - SingleLineConditionsOnly: true - -# Checks that you have put a copyright in a comment before any code. -# -# You can override the default Notice in your .rubocop.yml file. -# -# In order to use autocorrect, you must supply a value for the -# AutocorrectNotice key that matches the regexp Notice. A blank -# AutocorrectNotice will cause an error during autocorrect. -# -# Autocorrect will add a copyright notice in a comment at the top -# of the file immediately after any shebang or encoding comments. -# -# Example rubocop.yml: -# -# Style/Copyright: -# Enabled: true -# Notice: 'Copyright (\(c\) )?2015 Yahoo! Inc' -# AutocorrectNotice: "# Copyright (c) 2015 Yahoo! Inc." -# -Style/Copyright: - Notice: '^Copyright (\(c\) )?2[0-9]{3} .+' - AutocorrectNotice: "" - -Style/DocumentationMethod: - RequireForNonPublicMethods: false - -# Multi-line method chaining should be done with leading dots. -Layout/DotPosition: - EnforcedStyle: leading - SupportedStyles: - - leading - - trailing - -# Warn on empty else statements -# empty - warn only on empty else -# nil - warn on else with nil in it -# both - warn on empty else and else with nil in it -Style/EmptyElse: - EnforcedStyle: both - SupportedStyles: - - empty - - nil - - both - -# Use empty lines between defs. -Layout/EmptyLineBetweenDefs: - # If true, this parameter means that single line method definitions don't - # need an empty line between them. - AllowAdjacentOneLineDefs: false - -Layout/EmptyLinesAroundBlockBody: - EnforcedStyle: no_empty_lines - SupportedStyles: - - empty_lines - - no_empty_lines - -Layout/EmptyLinesAroundClassBody: - EnforcedStyle: no_empty_lines - SupportedStyles: - - empty_lines - - no_empty_lines - -Layout/EmptyLinesAroundModuleBody: - EnforcedStyle: no_empty_lines - SupportedStyles: - - empty_lines - - no_empty_lines - -# Checks whether the source file has a utf-8 encoding comment or not -# AutoCorrectEncodingComment must match the regex -# /#.*coding\s?[:=]\s?(?:UTF|utf)-8/ -Style/Encoding: - Enabled: true - -Layout/ExtraSpacing: - # When true, allows most uses of extra spacing if the intent is to align - # things with the previous or next line, not counting empty lines or comment - # lines. - AllowForAlignment: false - # When true, forces the alignment of = in assignments on consecutive lines. - ForceEqualSignAlignment: false - -Naming/FileName: - Exclude: - - "**/Gemfile" - - "**/Rakefile" - - "**/*.gemspec" - # When true, requires that each source file should define a class or module - # with a name which matches the file name (converted to ... case). - # It further expects it to be nested inside modules which match the names - # of subdirectories in its path. - ExpectMatchingDefinition: false - # If non-nil, expect all source file names to match the following regex. - # Only the file name itself is matched, not the entire file path. - # Use anchors as necessary if you want to match the entire name rather than - # just a part of it. - Regex: ~ - # With `IgnoreExecutableScripts` set to `true`, this cop does not - # report offending filenames for executable scripts (i.e. source - # files with a shebang in the first line). - IgnoreExecutableScripts: true - -Layout/IndentFirstArgument: - EnforcedStyle: special_for_inner_method_call_in_parentheses - SupportedStyles: - # The first parameter should always be indented one step more than the - # preceding line. - - consistent - # The first parameter should normally be indented one step more than the - # preceding line, but if it's a parameter for a method call that is itself - # a parameter in a method call, then the inner parameter should be indented - # relative to the inner method. - - special_for_inner_method_call - # Same as special_for_inner_method_call except that the special rule only - # applies if the outer method call encloses its arguments in parentheses. - - special_for_inner_method_call_in_parentheses - # By default, the indentation width from Style/IndentationWidth is used - # But it can be overridden by setting this parameter - IndentationWidth: ~ - -# Checks use of for or each in multiline loops. -Style/For: - EnforcedStyle: each - SupportedStyles: - - for - - each - -# Enforce the method used for string formatting. -Style/FormatString: - EnforcedStyle: format - SupportedStyles: - - format - - sprintf - - percent - -Style/FormatStringToken: - EnforcedStyle: template - -Style/FrozenStringLiteralComment: - EnforcedStyle: always - SupportedStyles: - - never - # `always` will always add the frozen string literal comment to a file - # regardless of the Ruby version or if `freeze` or `<<` are called on a - # string literal. If you run code against multiple versions of Ruby, it is - # possible that this will create errors in Ruby 2.3.0+. - - always - -# Built-in global variables are allowed by default. -Style/GlobalVars: - AllowedVariables: [] - -# `MinBodyLength` defines the number of lines of the a body of an if / unless -# needs to have to trigger this cop -Style/GuardClause: - MinBodyLength: 6 - -Style/HashSyntax: - EnforcedStyle: ruby19 - SupportedStyles: - # checks for 1.9 syntax (e.g. {a: 1}) for all symbol keys - - ruby19 - # checks for hash rocket syntax for all hashes - - hash_rockets - # forbids mixed key syntaxes (e.g. {a: 1, :b => 2}) - - no_mixed_keys - # enforces both ruby19 and no_mixed_keys styles - - ruby19_no_mixed_keys - # Force hashes that have a symbol value to use hash rockets - UseHashRocketsWithSymbolValues: false - # Do not suggest { a?: 1 } over { :a? => 1 } in ruby19 style - PreferHashRocketsForNonAlnumEndingSymbols: false - -Layout/IndentationConsistency: - # The difference between `rails` and `normal` is that the `rails` style - # prescribes that in classes and modules the `protected` and `private` - # modifier keywords shall be indented the same as public methods and that - # protected and private members shall be indented one step more than the - # modifiers. Other than that, both styles mean that entities on the same - # logical depth shall have the same indentation. - EnforcedStyle: normal - SupportedStyles: - - normal - - rails - -Layout/IndentationWidth: - # Number of spaces for each indentation level. - Width: 2 - -# Checks the indentation of the first element in an array literal. -Layout/IndentFirstArrayElement: - # The value `special_inside_parentheses` means that array literals with - # brackets that have their opening bracket on the same line as a surrounding - # opening round parenthesis, shall have their first element indented relative - # to the first position inside the parenthesis. - # - # The value `consistent` means that the indentation of the first element shall - # always be relative to the first position of the line where the opening - # bracket is. - # - # The value `align_brackets` means that the indentation of the first element - # shall always be relative to the position of the opening bracket. - EnforcedStyle: special_inside_parentheses - SupportedStyles: - - special_inside_parentheses - - consistent - - align_brackets - # By default, the indentation width from Style/IndentationWidth is used - # But it can be overridden by setting this parameter - IndentationWidth: ~ - -# Checks the indentation of assignment RHS, when on a different line from LHS -Layout/IndentAssignment: - # By default, the indentation width from Style/IndentationWidth is used - # But it can be overridden by setting this parameter - IndentationWidth: ~ - -# Checks the indentation of the first key in a hash literal. -Layout/IndentFirstHashElement: - # The value `special_inside_parentheses` means that hash literals with braces - # that have their opening brace on the same line as a surrounding opening - # round parenthesis, shall have their first key indented relative to the - # first position inside the parenthesis. - # - # The value `consistent` means that the indentation of the first key shall - # always be relative to the first position of the line where the opening - # brace is. - # - # The value `align_braces` means that the indentation of the first key shall - # always be relative to the position of the opening brace. - EnforcedStyle: special_inside_parentheses - SupportedStyles: - - special_inside_parentheses - - consistent - - align_braces - # By default, the indentation width from Style/IndentationWidth is used - # But it can be overridden by setting this parameter - IndentationWidth: ~ - -Style/Lambda: - EnforcedStyle: line_count_dependent - SupportedStyles: - - line_count_dependent - - lambda - - literal - Exclude: - - "**/types/**/*" - - "**/*_interface.rb" - -Style/LambdaCall: - EnforcedStyle: call - SupportedStyles: - - call - - braces - -Style/Next: - # With `always` all conditions at the end of an iteration needs to be - # replaced by next - with `skip_modifier_ifs` the modifier if like this one - # are ignored: [1, 2].each { |a| return "yes" if a == 1 } - EnforcedStyle: skip_modifier_ifs - # `MinBodyLength` defines the number of lines of the a body of an if / unless - # needs to have to trigger this cop - MinBodyLength: 3 - SupportedStyles: - - skip_modifier_ifs - - always - -Style/NonNilCheck: - # With `IncludeSemanticChanges` set to `true`, this cop reports offenses for - # `!x.nil?` and autocorrects that and `x != nil` to solely `x`, which is - # **usually** OK, but might change behavior. - # - # With `IncludeSemanticChanges` set to `false`, this cop does not report - # offenses for `!x.nil?` and does no changes that might change behavior. - IncludeSemanticChanges: false - -Style/NumericPredicate: - EnforcedStyle: predicate - SupportedStyles: - - predicate - - comparison - -Style/MethodDefParentheses: - EnforcedStyle: require_parentheses - SupportedStyles: - - require_parentheses - - require_no_parentheses - - require_no_parentheses_except_multiline - -Naming/MethodName: - EnforcedStyle: snake_case - SupportedStyles: - - snake_case - - camelCase - -Style/ModuleFunction: - EnforcedStyle: module_function - SupportedStyles: - - module_function - - extend_self - -Layout/MultilineArrayBraceLayout: - EnforcedStyle: symmetrical - SupportedStyles: - # symmetrical: closing brace is positioned in same way as opening brace - # new_line: closing brace is always on a new line - # same_line: closing brace is always on the same line as last element - - symmetrical - - new_line - - same_line - -Layout/MultilineAssignmentLayout: - # The types of assignments which are subject to this rule. - SupportedTypes: - - block - - case - - class - - if - - kwbegin - - module - EnforcedStyle: new_line - SupportedStyles: - # Ensures that the assignment operator and the rhs are on the same line for - # the set of supported types. - - same_line - # Ensures that the assignment operator and the rhs are on separate lines - # for the set of supported types. - - new_line - -Layout/MultilineHashBraceLayout: - EnforcedStyle: symmetrical - SupportedStyles: - # symmetrical: closing brace is positioned in same way as opening brace - # new_line: closing brace is always on a new line - # same_line: closing brace is always on same line as last element - - symmetrical - - new_line - - same_line - -Layout/MultilineMethodCallBraceLayout: - EnforcedStyle: symmetrical - SupportedStyles: - # symmetrical: closing brace is positioned in same way as opening brace - # new_line: closing brace is always on a new line - # same_line: closing brace is always on the same line as last argument - - symmetrical - - new_line - - same_line - -Layout/MultilineMethodCallIndentation: - EnforcedStyle: aligned - SupportedStyles: - - aligned - - indented - - indented_relative_to_receiver - # By default, the indentation width from Style/IndentationWidth is used - # But it can be overridden by setting this parameter - IndentationWidth: ~ - -Layout/MultilineMethodDefinitionBraceLayout: - EnforcedStyle: symmetrical - SupportedStyles: - # symmetrical: closing brace is positioned in same way as opening brace - # new_line: closing brace is always on a new line - # same_line: closing brace is always on the same line as last parameter - - symmetrical - - new_line - - same_line - -Layout/MultilineOperationIndentation: - EnforcedStyle: aligned - SupportedStyles: - - aligned - - indented - # By default, the indentation width from Style/IndentationWidth is used - # But it can be overridden by setting this parameter - IndentationWidth: ~ - -Style/MixinUsage: - Exclude: - - "bin/update" - - "bin/setup" - -Style/NumericLiterals: - MinDigits: 5 - -Style/NumericLiteralPrefix: - EnforcedOctalStyle: zero_with_o - SupportedOctalStyles: - - zero_with_o - - zero_only - -Style/OptionHash: - # A list of parameter names that will be flagged by this cop. - SuspiciousParamNames: - - options - - opts - - args - - params - - parameters - -# Allow safe assignment in conditions. -Style/ParenthesesAroundCondition: - AllowSafeAssignment: true - -Style/PercentLiteralDelimiters: - PreferredDelimiters: - "%": () - "%i": () - "%q": () - "%Q": () - "%r": "{}" - "%s": () - "%w": () - "%W": () - "%x": () - -Style/PercentQLiterals: - EnforcedStyle: lower_case_q - SupportedStyles: - - lower_case_q # Use %q when possible, %Q when necessary - - upper_case_q # Always use %Q - -Naming/PredicateName: - # Predicate name prefixes. - NamePrefix: - - is_ - - has_ - - have_ - # Predicate name prefixes that should be removed. - NamePrefixBlacklist: - - is_ - - have_ - # Predicate names which, despite having a blacklisted prefix, or no ?, - # should still be accepted - NameWhitelist: - - is_a? - # Exclude Rspec specs because there is a strong convetion to write spec - # helpers in the form of `have_something` or `be_something`. - Exclude: - - "**/spec/**/*" - - "**/test/**/*" - -Style/PreferredHashMethods: - Enabled: true - EnforcedStyle: verbose - -Style/DateTime: - Enabled: true - -Style/Documentation: - Enabled: false - -Style/RaiseArgs: - EnforcedStyle: exploded - SupportedStyles: - - compact # raise Exception.new(msg) - - exploded # raise Exception, msg - -Style/RedundantReturn: - # When true allows code like `return x, y`. - AllowMultipleReturnValues: false - -# Use / or %r around regular expressions. -Style/RegexpLiteral: - EnforcedStyle: slashes - # slashes: Always use slashes. - # percent_r: Always use %r. - # mixed: Use slashes on single-line regexes, and %r on multi-line regexes. - SupportedStyles: - - slashes - - percent_r - - mixed - # If false, the cop will always recommend using %r if one or more slashes - # are found in the regexp string. - AllowInnerSlashes: false - -Style/SafeNavigation: - Enabled: false - -Style/Semicolon: - # Allow ; to separate several expressions on the same line. - AllowAsExpressionSeparator: false - -Style/SignalException: - EnforcedStyle: only_raise - SupportedStyles: - - only_raise - - only_fail - - semantic - -Style/SingleLineBlockParams: - Methods: - - reduce: - - a - - e - - inject: - - a - - e - -Style/SingleLineMethods: - AllowIfMethodIsEmpty: true - -Layout/SpaceBeforeFirstArg: - # When true, allows most uses of extra spacing if the intent is to align - # things with the previous or next line, not counting empty lines or comment - # lines. - AllowForAlignment: true - -Style/SpecialGlobalVars: - EnforcedStyle: use_english_names - SupportedStyles: - - use_perl_names - - use_english_names - -Style/StabbyLambdaParentheses: - EnforcedStyle: require_parentheses - SupportedStyles: - - require_parentheses - - require_no_parentheses - -Style/StringLiterals: - EnforcedStyle: double_quotes - SupportedStyles: - - single_quotes - - double_quotes - # If true, strings which span multiple lines using \ for continuation must - # use the same type of quotes on each line. - ConsistentQuotesInMultiline: false - -Style/StringLiteralsInInterpolation: - EnforcedStyle: double_quotes - SupportedStyles: - - single_quotes - - double_quotes - -Style/StringMethods: - # Mapping from undesired method to desired_method - # e.g. to use `to_sym` over `intern`: - # - # StringMethods: - # PreferredMethods: - # intern: to_sym - PreferredMethods: - intern: to_sym - -Layout/SpaceAroundBlockParameters: - EnforcedStyleInsidePipes: no_space - -Layout/SpaceAroundEqualsInParameterDefault: - EnforcedStyle: space - SupportedStyles: - - space - - no_space - -Layout/SpaceAroundOperators: - # When true, allows most uses of extra spacing if the intent is to align - # with an operator on the previous or next line, not counting empty lines - # or comment lines. - AllowForAlignment: true - -Layout/SpaceBeforeBlockBraces: - EnforcedStyle: space - SupportedStyles: - - space - - no_space - -Layout/SpaceInsideBlockBraces: - EnforcedStyle: space - SupportedStyles: - - space - - no_space - # Valid values are: space, no_space - EnforcedStyleForEmptyBraces: no_space - # Space between { and |. Overrides EnforcedStyle if there is a conflict. - SpaceBeforeBlockParameters: true - -Layout/SpaceInsideHashLiteralBraces: - EnforcedStyle: space - EnforcedStyleForEmptyBraces: no_space - SupportedStyles: - - space - - no_space - # "compact" normally requires a space inside hash braces, with the exception - # that successive left braces or right braces are collapsed together - - compact - -Layout/SpaceInsideStringInterpolation: - EnforcedStyle: no_space - SupportedStyles: - - space - - no_space - -Style/AccessModifierDeclarations: - Enabled: false - -Style/SymbolArray: - EnforcedStyle: brackets - SupportedStyles: - - percent - - brackets - -Style/SymbolProc: - # A list of method names to be ignored by the check. - # The names should be fairly unique, otherwise you'll end up ignoring lots of code. - IgnoredMethods: - - respond_to - - define_method - -Style/TernaryParentheses: - EnforcedStyle: require_no_parentheses - SupportedStyles: - - require_parentheses - - require_no_parentheses - AllowSafeAssignment: true - -Layout/TrailingBlankLines: - EnforcedStyle: final_newline - SupportedStyles: - - final_newline - - final_blank_line - -Style/TrailingCommaInArguments: - # If `comma`, the cop requires a comma after the last argument, but only for - # parenthesized method calls where each argument is on its own line. - # If `consistent_comma`, the cop requires a comma after the last argument, - # for all parenthesized method calls with arguments. - EnforcedStyleForMultiline: no_comma - -Style/TrailingCommaInArrayLiteral: - # If `comma`, the cop requires a comma after the last item in an array or - # hash, but only when each item is on its own line. - # If `consistent_comma`, the cop requires a comma after the last item of all - # non-empty array and hash literals. - EnforcedStyleForMultiline: no_comma - -Style/TrailingCommaInHashLiteral: - # If `comma`, the cop requires a comma after the last item in an array or - # hash, but only when each item is on its own line. - # If `consistent_comma`, the cop requires a comma after the last item of all - # non-empty array and hash literals. - EnforcedStyleForMultiline: no_comma - -# TrivialAccessors requires exact name matches and doesn't allow -# predicated methods by default. -Style/TrivialAccessors: - # When set to false the cop will suggest the use of accessor methods - # in situations like: - # - # def name - # @other_name - # end - # - # This way you can uncover "hidden" attributes in your code. - ExactNameMatch: true - AllowPredicates: true - # Allows trivial writers that don't end in an equal sign. e.g. - # - # def on_exception(action) - # @on_exception=action - # end - # on_exception :restart - # - # Commonly used in DSLs - AllowDSLWriters: false - IgnoreClassMethods: false - Whitelist: - - to_ary - - to_a - - to_c - - to_enum - - to_h - - to_hash - - to_i - - to_int - - to_io - - to_open - - to_path - - to_proc - - to_r - - to_regexp - - to_str - - to_s - - to_sym - -Naming/VariableName: - EnforcedStyle: snake_case - SupportedStyles: - - snake_case - - camelCase - -Naming/VariableNumber: - EnforcedStyle: normalcase - SupportedStyles: - - snake_case - - normalcase - - non_integer - -# WordArray enforces how array literals of word-like strings should be expressed. -Style/WordArray: - EnforcedStyle: percent - SupportedStyles: - # percent style: %w(word1 word2) - - percent - # bracket style: ["word1", "word2"] - - brackets - # The MinSize option causes the WordArray rule to be ignored for arrays - # smaller than a certain size. The rule is only applied to arrays - # whose element count is greater than or equal to MinSize. - MinSize: 2 - # The regular expression WordRegex decides what is considered a word. - WordRegex: !ruby/regexp '/\A[\p{Word}\n\t]+\z/' - -##################### Metrics ################################## - -Metrics/AbcSize: - # The ABC size is a calculated magnitude, so this number can be an Integer or - # a Float. - Max: 15 - Enabled: false - -Metrics/BlockNesting: - Max: 3 - -Metrics/ClassLength: - CountComments: false # count full line comments? - Max: 100 - Enabled: false - -Metrics/ModuleLength: - CountComments: false # count full line comments? - Max: 100 - Enabled: false - -# Avoid complex methods. -Metrics/CyclomaticComplexity: - Max: 9 - Exclude: - - "**/*/permissions.rb" - -Metrics/LineLength: - Max: 180 - # To make it possible to copy or click on URIs in the code, we allow lines - # containing a URI to be longer than Max. - AllowHeredoc: true - AllowURI: true - URISchemes: - - http - - https - Exclude: - - "**/spec/**/*" - -Metrics/MethodLength: - CountComments: false # count full line comments? - Max: 15 - Enabled: false - -Metrics/ParameterLists: - Max: 5 - CountKeywordArgs: true - Exclude: - - "decidim-core/lib/decidim/filter_form_builder.rb" - -Metrics/PerceivedComplexity: - Max: 10 - Exclude: - - "**/*/permissions.rb" - -##################### Lint ################################## - -Lint/AmbiguousBlockAssociation: - Enabled: true - Exclude: - - "**/abilities/**/*" - -# Allow safe assignment in conditions. -Lint/AssignmentInCondition: - AllowSafeAssignment: true - -# checks whether the end keywords are aligned properly for `do` `end` blocks. -Layout/BlockAlignment: - # The value `start_of_block` means that the `end` should be aligned with line - # where the `do` keyword appears. - # The value `start_of_line` means it should be aligned with the whole - # expression's starting line. - # The value `either` means both are allowed. - EnforcedStyleAlignWith: either - -# Align ends correctly. -Layout/EndAlignment: - # The value `keyword` means that `end` should be aligned with the matching - # keyword (if, while, etc.). - # The value `variable` means that in assignments, `end` should be aligned - # with the start of the variable on the left hand side of `=`. In all other - # situations, `end` should still be aligned with the keyword. - # The value `start_of_line` means that `end` should be aligned with the start - # of the line which the matching keyword appears on. - EnforcedStyleAlignWith: keyword - AutoCorrect: false - -Layout/DefEndAlignment: - # The value `def` means that `end` should be aligned with the def keyword. - # The value `start_of_line` means that `end` should be aligned with method - # calls like `private`, `public`, etc, if present in front of the `def` - # keyword on the same line. - EnforcedStyleAlignWith: start_of_line - AutoCorrect: false - -Lint/InheritException: - # The default base class in favour of `Exception`. - EnforcedStyle: runtime_error - SupportedStyles: - - runtime_error - - standard_error - -# Checks for unused block arguments -Lint/UnusedBlockArgument: - IgnoreEmptyBlocks: true - AllowUnusedKeywordArguments: false - -# Checks for unused method arguments. -Lint/UnusedMethodArgument: - AllowUnusedKeywordArguments: false - IgnoreEmptyMethods: true - -##################### Performance ############################ - -Metrics/BlockLength: - Enabled: false - -RSpec/BeforeAfterAll: - Enabled: true - -RSpec/ContextWording: - Enabled: true - Prefixes: - - when - - with - - without - - and - -RSpec/DescribeClass: - Exclude: - - spec/gemfiles_spec.rb - - spec/js_bundles_spec.rb - - spec/i18n_spec.rb - - "**/*/spec/**/*_badge_spec.rb" - - decidim-core/spec/lib/global_engines_spec.rb - - "**/tasks/**/*" - -RSpec/EmptyExampleGroup: - Exclude: - - decidim-core/spec/lib/participatory_space_manifest_spec.rb - -RSpec/ExampleLength: - Max: 49 - -RSpec/ExpectInHook: - Enabled: false - -RSpec/IteratedExpectation: - Enabled: true - -RSpec/LetSetup: - Enabled: false - -RSpec/MessageSpies: - Enabled: false - -RSpec/MultipleExpectations: - Enabled: false - -RSpec/NestedGroups: - Max: 7 - -RSpec/NamedSubject: - Enabled: false - -RSpec/VerifiedDoubles: - Enabled: false - -RSpec/LeakyConstantDeclaration: - Enabled: false - -RSpec/DescribedClass: - Enabled: false - -inherit_from: .rubocop_rails.yml +inherit_from: + - .rubocop_ruby.yml + - .rubocop_rails.yml diff --git a/.rubocop_rails.yml b/.rubocop_rails.yml index 19fe38fa92..1d1371e800 100644 --- a/.rubocop_rails.yml +++ b/.rubocop_rails.yml @@ -7,6 +7,9 @@ Rails/ActionFilter: Include: - decidim-*/app/controllers/**/*.rb +Rails/ContentTag: + Enabled: false + Rails/CreateTableWithTimestamps: Enabled: false @@ -60,10 +63,17 @@ Rails/Output: - decidim-core/lib/decidim/component_manifest.rb - decidim-core/lib/decidim/participatory_space_manifest.rb - decidim-system/db/seeds.rb + - decidim-templates/db/seeds.rb Rails/OutputSafety: Enabled: false +Rails/Pluck: + Enabled: false + +Rails/RakeEnvironment: + Enabled: false + Rails/ReadWriteAttribute: Include: - decidim-*/app/models/**/*.rb diff --git a/.rubocop_ruby.yml b/.rubocop_ruby.yml new file mode 100644 index 0000000000..72438d4f83 --- /dev/null +++ b/.rubocop_ruby.yml @@ -0,0 +1,1758 @@ +require: + - rubocop-rspec + - rubocop-faker + +# Common configuration. +AllCops: + Include: + - .simplecov + - "**/*.rb" + - "**/*.rake" + - "**/*.gemspec" + - "**/*.ru" + - "**/Gemfile" + - "**/Rakefile" + Exclude: + - "**/vendor/**/*" + - "development_app/**/*" + - "spec/decidim_dummy_app/**/*" + - "node_modules/**/*" + - "bin/setup" + - "bin/update" + - "db/migrate/*" + - "db/schema.rb" + - "decidim-comments/**/*" + - "tmp/**/*" + # Default formatter will be used if no -f/--format option is given. + DefaultFormatter: progress + # Cop names are not displayed in offense messages by default. Change behavior + # by overriding DisplayCopNames, or by giving the -D/--display-cop-names + # option. + DisplayCopNames: true + # Style guide URLs are not displayed in offense messages by default. Change + # behavior by overriding DisplayStyleGuide, or by giving the + # -S/--display-style-guide option. + DisplayStyleGuide: false + # Extra details are not displayed in offense messages by default. Change + # behavior by overriding ExtraDetails, or by giving the + # -E/--extra-details option. + ExtraDetails: false + NewCops: enable + # Additional cops that do not reference a style guide rule may be enabled by + # default. Change behavior by overriding StyleGuideCopsOnly, or by giving + # the --only-guide-cops option. + StyleGuideCopsOnly: false + # All cops except the ones in disabled.yml are enabled by default. Change + # this behavior by overriding DisabledByDefault. When DisabledByDefault is + # true, all cops in the default configuration are disabled, and and only cops + # in user configuration are enabled. This makes cops opt-in instead of + # opt-out. Note that when DisabledByDefault is true, cops in user + # configuration will be enabled even if they don't set the Enabled parameter. + DisabledByDefault: false + # Enables the result cache if true. Can be overridden by the --cache command + # line option. + UseCache: true + # Threshold for how many files can be stored in the result cache before some + # of the files are automatically removed. + MaxFilesInCache: 20000 + # The cache will be stored in "rubocop_cache" under this directory. The name + # "/tmp" is special and will be converted to the system temporary directory, + # which is "/tmp" on Unix-like systems, but could be something else on other + # systems. + CacheRootDirectory: /tmp + # The default cache root directory is /tmp, which on most systems is + # writable by any system user. This means that it is possible for a + # malicious user to anticipate the location of Rubocop's cache directory, + # and create a symlink in its place that could cause Rubocop to overwrite + # unintended files, or read malicious input. If you are certain that your + # cache location is secure from this kind of attack, and wish to use a + # symlinked cache location, set this value to "true". + AllowSymlinksInCacheRootDirectory: true + # What MRI version of the Ruby interpreter is the inspected code intended to + # run on? (If there is more than one, set this to the lowest version.) + # If a value is specified for TargetRubyVersion then it is used. + # Else if .ruby-version exists and it contains an MRI version it is used. + # Otherwise we fallback to the oldest officially supported Ruby version (2.0). + TargetRubyVersion: 2.7 + + RSpec: + Patterns: + - "(?:^|/)spec/" + - "(?:^|/)test/" + +# Indent private/protected/public as deep as method definitions +Layout/AccessModifierIndentation: + EnforcedStyle: indent + SupportedStyles: + - outdent + - indent + # By default, the indentation width from Style/IndentationWidth is used + # But it can be overridden by setting this parameter + IndentationWidth: ~ + +Style/Alias: + EnforcedStyle: prefer_alias + SupportedStyles: + - prefer_alias + - prefer_alias_method + +# Align the elements of a hash literal if they span more than one line. +Layout/HashAlignment: + # Alignment of entries using hash rocket as separator. Valid values are: + # + # key - left alignment of keys + # "a" => 2 + # "bb" => 3 + # separator - alignment of hash rockets, keys are right aligned + # "a" => 2 + # "bb" => 3 + # table - left alignment of keys, hash rockets, and values + # "a" => 2 + # "bb" => 3 + EnforcedHashRocketStyle: key + # Alignment of entries using colon as separator. Valid values are: + # + # key - left alignment of keys + # a: 0 + # bb: 1 + # separator - alignment of colons, keys are right aligned + # a: 0 + # bb: 1 + # table - left alignment of keys and values + # a: 0 + # bb: 1 + EnforcedColonStyle: key + # Select whether hashes that are the last argument in a method call should be + # inspected? Valid values are: + # + # always_inspect - Inspect both implicit and explicit hashes. + # Registers an offense for: + # function(a: 1, + # b: 2) + # Registers an offense for: + # function({a: 1, + # b: 2}) + # always_ignore - Ignore both implicit and explicit hashes. + # Accepts: + # function(a: 1, + # b: 2) + # Accepts: + # function({a: 1, + # b: 2}) + # ignore_implicit - Ignore only implicit hashes. + # Accepts: + # function(a: 1, + # b: 2) + # Registers an offense for: + # function({a: 1, + # b: 2}) + # ignore_explicit - Ignore only explicit hashes. + # Accepts: + # function({a: 1, + # b: 2}) + # Registers an offense for: + # function(a: 1, + # b: 2) + EnforcedLastArgumentHashStyle: always_inspect + SupportedLastArgumentHashStyles: + - always_inspect + - always_ignore + - ignore_implicit + - ignore_explicit + +Layout/ParameterAlignment: + # Alignment of parameters in multi-line method calls. + # + # The `with_first_parameter` style aligns the following lines along the same + # column as the first parameter. + # + # method_call(a, + # b) + # + # The `with_fixed_indentation` style aligns the following lines with one + # level of indentation relative to the start of the line with the method call. + # + # method_call(a, + # b) + EnforcedStyle: with_first_parameter + SupportedStyles: + - with_first_parameter + - with_fixed_indentation + # By default, the indentation width from Style/IndentationWidth is used + # But it can be overridden by setting this parameter + IndentationWidth: ~ + +Style/AndOr: + # Whether `and` and `or` are banned only in conditionals (conditionals) + # or completely (always). + EnforcedStyle: always + SupportedStyles: + - always + - conditionals + +Style/AsciiComments: + Enabled: false + +# Checks if usage of %() or %Q() matches configuration. +Style/BarePercentLiterals: + EnforcedStyle: bare_percent + SupportedStyles: + - percent_q + - bare_percent + +Style/BlockDelimiters: + EnforcedStyle: line_count_based + SupportedStyles: + # The `line_count_based` style enforces braces around single line blocks and + # do..end around multi-line blocks. + - line_count_based + # The `semantic` style enforces braces around functional blocks, where the + # primary purpose of the block is to return a value and do..end for + # procedural blocks, where the primary purpose of the block is its + # side-effects. + # + # This looks at the usage of a block's method to determine its type (e.g. is + # the result of a `map` assigned to a variable or passed to another + # method) but exceptions are permitted in the `ProceduralMethods`, + # `FunctionalMethods` and `IgnoredMethods` sections below. + - semantic + # The `braces_for_chaining` style enforces braces around single line blocks + # and do..end around multi-line blocks, except for multi-line blocks whose + # return value is being chained with another method (in which case braces + # are enforced). + - braces_for_chaining + ProceduralMethods: + # Methods that are known to be procedural in nature but look functional from + # their usage, e.g. + # + # time = Benchmark.realtime do + # foo.bar + # end + # + # Here, the return value of the block is discarded but the return value of + # `Benchmark.realtime` is used. + - benchmark + - bm + - bmbm + - create + - each_with_object + - measure + - new + - realtime + - tap + - with_object + FunctionalMethods: + # Methods that are known to be functional in nature but look procedural from + # their usage, e.g. + # + # let(:foo) { Foo.new } + # + # Here, the return value of `Foo.new` is used to define a `foo` helper but + # doesn't appear to be used from the return value of `let`. + - let + - let! + - subject + - watch + IgnoredMethods: + # Methods that can be either procedural or functional and cannot be + # categorised from their usage alone, e.g. + # + # foo = lambda do |x| + # puts "Hello, #{x}" + # end + # + # foo = lambda do |x| + # x * 100 + # end + # + # Here, it is impossible to tell from the return value of `lambda` whether + # the inner block's return value is significant. + - lambda + - proc + - it + +Style/ExplicitBlockArgument: + Enabled: false + +Style/HashEachMethods: + Enabled: false + +Style/HashLikeCase: + MinBranchesCount: 5 + +# Indentation of `when`. +Layout/CaseIndentation: + EnforcedStyle: case + SupportedStyles: + - case + - end + IndentOneStep: false + # By default, the indentation width from Style/IndentationWidth is used + # But it can be overridden by setting this parameter + # This only matters if IndentOneStep is true + IndentationWidth: ~ + +Style/ClassAndModuleChildren: + Enabled: false + # Checks the style of children definitions at classes and modules. + # + # Basically there are two different styles: + # + # `nested` - have each child on a separate line + # class Foo + # class Bar + # end + # end + # + # `compact` - combine definitions as much as possible + # class Foo::Bar + # end + # + # The compact style is only forced, for classes / modules with one child. + EnforcedStyle: nested + SupportedStyles: + - nested + - compact + +Style/ClassCheck: + EnforcedStyle: is_a? + SupportedStyles: + - is_a? + - kind_of? + +# Align with the style guide. +Style/CollectionMethods: + # Mapping from undesired method to desired_method + # e.g. to use `detect` over `find`: + # + # CollectionMethods: + # PreferredMethods: + # find: detect + PreferredMethods: + collect: "map" + collect!: "map!" + inject: "reduce" + detect: "find" + find_all: "select" + +# Use ` or %x around command literals. +Style/CommandLiteral: + EnforcedStyle: backticks + # backticks: Always use backticks. + # percent_x: Always use %x. + # mixed: Use backticks on single-line commands, and %x on multi-line commands. + SupportedStyles: + - backticks + - percent_x + - mixed + # If false, the cop will always recommend using %x if one or more backticks + # are found in the command string. + AllowInnerBackticks: false + +# Checks formatting of special comments +Style/CommentAnnotation: + Keywords: + - TODO + - FIXME + - OPTIMIZE + - HACK + - REVIEW + +Style/ConditionalAssignment: + EnforcedStyle: assign_to_condition + SupportedStyles: + - assign_to_condition + - assign_inside_condition + # When configured to `assign_to_condition`, `SingleLineConditionsOnly` + # will only register an offense when all branches of a condition are + # a single line. + # When configured to `assign_inside_condition`, `SingleLineConditionsOnly` + # will only register an offense for assignment to a condition that has + # at least one multiline branch. + SingleLineConditionsOnly: true + +# Checks that you have put a copyright in a comment before any code. +# +# You can override the default Notice in your .rubocop.yml file. +# +# In order to use autocorrect, you must supply a value for the +# AutocorrectNotice key that matches the regexp Notice. A blank +# AutocorrectNotice will cause an error during autocorrect. +# +# Autocorrect will add a copyright notice in a comment at the top +# of the file immediately after any shebang or encoding comments. +# +# Example rubocop.yml: +# +# Style/Copyright: +# Enabled: true +# Notice: 'Copyright (\(c\) )?2015 Yahoo! Inc' +# AutocorrectNotice: "# Copyright (c) 2015 Yahoo! Inc." +# +Style/Copyright: + Notice: '^Copyright (\(c\) )?2[0-9]{3} .+' + AutocorrectNotice: "" + +Style/DocumentationMethod: + RequireForNonPublicMethods: false + +# Multi-line method chaining should be done with leading dots. +Layout/DotPosition: + EnforcedStyle: leading + SupportedStyles: + - leading + - trailing + +# Warn on empty else statements +# empty - warn only on empty else +# nil - warn on else with nil in it +# both - warn on empty else and else with nil in it +Style/EmptyElse: + EnforcedStyle: both + SupportedStyles: + - empty + - nil + - both + +# Use empty lines between defs. +Layout/EmptyLineBetweenDefs: + # If true, this parameter means that single line method definitions don't + # need an empty line between them. + AllowAdjacentOneLineDefs: false + +Layout/EmptyLinesAroundBlockBody: + EnforcedStyle: no_empty_lines + SupportedStyles: + - empty_lines + - no_empty_lines + +Layout/EmptyLinesAroundClassBody: + EnforcedStyle: no_empty_lines + SupportedStyles: + - empty_lines + - no_empty_lines + +Layout/EmptyLinesAroundModuleBody: + EnforcedStyle: no_empty_lines + SupportedStyles: + - empty_lines + - no_empty_lines + +# Checks whether the source file has a utf-8 encoding comment or not +# AutoCorrectEncodingComment must match the regex +# /#.*coding\s?[:=]\s?(?:UTF|utf)-8/ +Style/Encoding: + Enabled: true + +Layout/ExtraSpacing: + # When true, allows most uses of extra spacing if the intent is to align + # things with the previous or next line, not counting empty lines or comment + # lines. + AllowForAlignment: false + # When true, forces the alignment of = in assignments on consecutive lines. + ForceEqualSignAlignment: false + +Naming/FileName: + Exclude: + - "**/Gemfile" + - "**/Rakefile" + - "**/*.gemspec" + # When true, requires that each source file should define a class or module + # with a name which matches the file name (converted to ... case). + # It further expects it to be nested inside modules which match the names + # of subdirectories in its path. + ExpectMatchingDefinition: false + # If non-nil, expect all source file names to match the following regex. + # Only the file name itself is matched, not the entire file path. + # Use anchors as necessary if you want to match the entire name rather than + # just a part of it. + Regex: ~ + # With `IgnoreExecutableScripts` set to `true`, this cop does not + # report offending filenames for executable scripts (i.e. source + # files with a shebang in the first line). + IgnoreExecutableScripts: true + +Layout/FirstArgumentIndentation: + EnforcedStyle: special_for_inner_method_call_in_parentheses + SupportedStyles: + # The first parameter should always be indented one step more than the + # preceding line. + - consistent + # The first parameter should normally be indented one step more than the + # preceding line, but if it's a parameter for a method call that is itself + # a parameter in a method call, then the inner parameter should be indented + # relative to the inner method. + - special_for_inner_method_call + # Same as special_for_inner_method_call except that the special rule only + # applies if the outer method call encloses its arguments in parentheses. + - special_for_inner_method_call_in_parentheses + # By default, the indentation width from Style/IndentationWidth is used + # But it can be overridden by setting this parameter + IndentationWidth: ~ + +# Checks use of for or each in multiline loops. +Style/For: + EnforcedStyle: each + SupportedStyles: + - for + - each + +# Enforce the method used for string formatting. +Style/FormatString: + EnforcedStyle: format + SupportedStyles: + - format + - sprintf + - percent + +Style/FormatStringToken: + EnforcedStyle: template + +Style/FrozenStringLiteralComment: + EnforcedStyle: always + SupportedStyles: + - never + # `always` will always add the frozen string literal comment to a file + # regardless of the Ruby version or if `freeze` or `<<` are called on a + # string literal. If you run code against multiple versions of Ruby, it is + # possible that this will create errors in Ruby 2.3.0+. + - always + +# Built-in global variables are allowed by default. +Style/GlobalVars: + AllowedVariables: [] + +# `MinBodyLength` defines the number of lines of the a body of an if / unless +# needs to have to trigger this cop +Style/GuardClause: + MinBodyLength: 6 + +Style/HashSyntax: + EnforcedStyle: ruby19 + SupportedStyles: + # checks for 1.9 syntax (e.g. {a: 1}) for all symbol keys + - ruby19 + # checks for hash rocket syntax for all hashes + - hash_rockets + # forbids mixed key syntaxes (e.g. {a: 1, :b => 2}) + - no_mixed_keys + # enforces both ruby19 and no_mixed_keys styles + - ruby19_no_mixed_keys + # Force hashes that have a symbol value to use hash rockets + UseHashRocketsWithSymbolValues: false + # Do not suggest { a?: 1 } over { :a? => 1 } in ruby19 style + PreferHashRocketsForNonAlnumEndingSymbols: false + +Layout/IndentationConsistency: + # The difference between `rails` and `normal` is that the `rails` style + # prescribes that in classes and modules the `protected` and `private` + # modifier keywords shall be indented the same as public methods and that + # protected and private members shall be indented one step more than the + # modifiers. Other than that, both styles mean that entities on the same + # logical depth shall have the same indentation. + EnforcedStyle: normal + SupportedStyles: + - normal + - rails + +Layout/IndentationWidth: + # Number of spaces for each indentation level. + Width: 2 + +# Checks the indentation of the first element in an array literal. +Layout/FirstArrayElementIndentation: + # The value `special_inside_parentheses` means that array literals with + # brackets that have their opening bracket on the same line as a surrounding + # opening round parenthesis, shall have their first element indented relative + # to the first position inside the parenthesis. + # + # The value `consistent` means that the indentation of the first element shall + # always be relative to the first position of the line where the opening + # bracket is. + # + # The value `align_brackets` means that the indentation of the first element + # shall always be relative to the position of the opening bracket. + EnforcedStyle: special_inside_parentheses + SupportedStyles: + - special_inside_parentheses + - consistent + - align_brackets + # By default, the indentation width from Style/IndentationWidth is used + # But it can be overridden by setting this parameter + IndentationWidth: ~ + +# Checks the indentation of assignment RHS, when on a different line from LHS +Layout/AssignmentIndentation: + # By default, the indentation width from Style/IndentationWidth is used + # But it can be overridden by setting this parameter + IndentationWidth: ~ + +# Checks the indentation of the first key in a hash literal. +Layout/FirstHashElementIndentation: + # The value `special_inside_parentheses` means that hash literals with braces + # that have their opening brace on the same line as a surrounding opening + # round parenthesis, shall have their first key indented relative to the + # first position inside the parenthesis. + # + # The value `consistent` means that the indentation of the first key shall + # always be relative to the first position of the line where the opening + # brace is. + # + # The value `align_braces` means that the indentation of the first key shall + # always be relative to the position of the opening brace. + EnforcedStyle: special_inside_parentheses + SupportedStyles: + - special_inside_parentheses + - consistent + - align_braces + # By default, the indentation width from Style/IndentationWidth is used + # But it can be overridden by setting this parameter + IndentationWidth: ~ + +Style/Lambda: + EnforcedStyle: line_count_dependent + SupportedStyles: + - line_count_dependent + - lambda + - literal + Exclude: + - "**/types/**/*" + - "**/*_interface.rb" + +Style/LambdaCall: + EnforcedStyle: call + SupportedStyles: + - call + - braces + +Style/Next: + # With `always` all conditions at the end of an iteration needs to be + # replaced by next - with `skip_modifier_ifs` the modifier if like this one + # are ignored: [1, 2].each { |a| return "yes" if a == 1 } + EnforcedStyle: skip_modifier_ifs + # `MinBodyLength` defines the number of lines of the a body of an if / unless + # needs to have to trigger this cop + MinBodyLength: 3 + SupportedStyles: + - skip_modifier_ifs + - always + +Style/NonNilCheck: + # With `IncludeSemanticChanges` set to `true`, this cop reports offenses for + # `!x.nil?` and autocorrects that and `x != nil` to solely `x`, which is + # **usually** OK, but might change behavior. + # + # With `IncludeSemanticChanges` set to `false`, this cop does not report + # offenses for `!x.nil?` and does no changes that might change behavior. + IncludeSemanticChanges: false + +Style/NumericPredicate: + EnforcedStyle: predicate + SupportedStyles: + - predicate + - comparison + +Style/MethodDefParentheses: + EnforcedStyle: require_parentheses + SupportedStyles: + - require_parentheses + - require_no_parentheses + - require_no_parentheses_except_multiline + +Naming/MethodName: + EnforcedStyle: snake_case + SupportedStyles: + - snake_case + - camelCase + +Style/ModuleFunction: + EnforcedStyle: module_function + SupportedStyles: + - module_function + - extend_self + +Layout/MultilineArrayBraceLayout: + EnforcedStyle: symmetrical + SupportedStyles: + # symmetrical: closing brace is positioned in same way as opening brace + # new_line: closing brace is always on a new line + # same_line: closing brace is always on the same line as last element + - symmetrical + - new_line + - same_line + +Layout/MultilineAssignmentLayout: + # The types of assignments which are subject to this rule. + SupportedTypes: + - block + - case + - class + - if + - kwbegin + - module + EnforcedStyle: new_line + SupportedStyles: + # Ensures that the assignment operator and the rhs are on the same line for + # the set of supported types. + - same_line + # Ensures that the assignment operator and the rhs are on separate lines + # for the set of supported types. + - new_line + +Layout/MultilineHashBraceLayout: + EnforcedStyle: symmetrical + SupportedStyles: + # symmetrical: closing brace is positioned in same way as opening brace + # new_line: closing brace is always on a new line + # same_line: closing brace is always on same line as last element + - symmetrical + - new_line + - same_line + +Layout/MultilineMethodCallBraceLayout: + EnforcedStyle: symmetrical + SupportedStyles: + # symmetrical: closing brace is positioned in same way as opening brace + # new_line: closing brace is always on a new line + # same_line: closing brace is always on the same line as last argument + - symmetrical + - new_line + - same_line + +Layout/MultilineMethodCallIndentation: + EnforcedStyle: aligned + SupportedStyles: + - aligned + - indented + - indented_relative_to_receiver + # By default, the indentation width from Style/IndentationWidth is used + # But it can be overridden by setting this parameter + IndentationWidth: ~ + +Layout/MultilineMethodDefinitionBraceLayout: + EnforcedStyle: symmetrical + SupportedStyles: + # symmetrical: closing brace is positioned in same way as opening brace + # new_line: closing brace is always on a new line + # same_line: closing brace is always on the same line as last parameter + - symmetrical + - new_line + - same_line + +Layout/MultilineOperationIndentation: + EnforcedStyle: aligned + SupportedStyles: + - aligned + - indented + # By default, the indentation width from Style/IndentationWidth is used + # But it can be overridden by setting this parameter + IndentationWidth: ~ + +Style/NumericLiterals: + MinDigits: 5 + +Style/NumericLiteralPrefix: + EnforcedOctalStyle: zero_with_o + SupportedOctalStyles: + - zero_with_o + - zero_only + +Style/OptionHash: + # A list of parameter names that will be flagged by this cop. + SuspiciousParamNames: + - options + - opts + - args + - params + - parameters + +# Allow safe assignment in conditions. +Style/ParenthesesAroundCondition: + AllowSafeAssignment: true + +Style/PercentLiteralDelimiters: + PreferredDelimiters: + "%": () + "%i": () + "%q": () + "%Q": () + "%r": "{}" + "%s": () + "%w": () + "%W": () + "%x": () + +Style/PercentQLiterals: + EnforcedStyle: lower_case_q + SupportedStyles: + - lower_case_q # Use %q when possible, %Q when necessary + - upper_case_q # Always use %Q + +Style/SlicingWithRange: + Enabled: false + +Naming/PredicateName: + # Predicate name prefixes. + NamePrefix: + - is_ + - has_ + - have_ + # Predicate name prefixes that should be removed. + ForbiddenPrefixes: + - is_ + - have_ + # Predicate names which, despite having a blacklisted prefix, or no ?, + # should still be accepted + AllowedMethods: + - is_a? + # Exclude Rspec specs because there is a strong convetion to write spec + # helpers in the form of `have_something` or `be_something`. + Exclude: + - "**/spec/**/*" + - "**/test/**/*" + +Style/PreferredHashMethods: + Enabled: true + EnforcedStyle: verbose + +Style/DateTime: + Enabled: true + +Style/Documentation: + Enabled: false + +Style/RaiseArgs: + EnforcedStyle: exploded + SupportedStyles: + - compact # raise Exception.new(msg) + - exploded # raise Exception, msg + +Style/RedundantReturn: + # When true allows code like `return x, y`. + AllowMultipleReturnValues: false + +# Use / or %r around regular expressions. +Style/RegexpLiteral: + EnforcedStyle: slashes + # slashes: Always use slashes. + # percent_r: Always use %r. + # mixed: Use slashes on single-line regexes, and %r on multi-line regexes. + SupportedStyles: + - slashes + - percent_r + - mixed + # If false, the cop will always recommend using %r if one or more slashes + # are found in the regexp string. + AllowInnerSlashes: false + +Style/SafeNavigation: + Enabled: false + +Style/Semicolon: + # Allow ; to separate several expressions on the same line. + AllowAsExpressionSeparator: false + +Style/SignalException: + EnforcedStyle: only_raise + SupportedStyles: + - only_raise + - only_fail + - semantic + +Style/SingleLineBlockParams: + Methods: + - reduce: + - a + - e + - inject: + - a + - e + +Style/SingleLineMethods: + AllowIfMethodIsEmpty: true + +Layout/SpaceBeforeFirstArg: + # When true, allows most uses of extra spacing if the intent is to align + # things with the previous or next line, not counting empty lines or comment + # lines. + AllowForAlignment: true + +Style/SpecialGlobalVars: + EnforcedStyle: use_english_names + SupportedStyles: + - use_perl_names + - use_english_names + +Style/StabbyLambdaParentheses: + EnforcedStyle: require_parentheses + SupportedStyles: + - require_parentheses + - require_no_parentheses + +Style/StringLiterals: + EnforcedStyle: double_quotes + SupportedStyles: + - single_quotes + - double_quotes + # If true, strings which span multiple lines using \ for continuation must + # use the same type of quotes on each line. + ConsistentQuotesInMultiline: false + +Style/StringLiteralsInInterpolation: + EnforcedStyle: double_quotes + SupportedStyles: + - single_quotes + - double_quotes + +Style/StringMethods: + # Mapping from undesired method to desired_method + # e.g. to use `to_sym` over `intern`: + # + # StringMethods: + # PreferredMethods: + # intern: to_sym + PreferredMethods: + intern: to_sym + +Layout/SpaceAroundBlockParameters: + EnforcedStyleInsidePipes: no_space + +Layout/SpaceAroundEqualsInParameterDefault: + EnforcedStyle: space + SupportedStyles: + - space + - no_space + +Layout/SpaceAroundOperators: + # When true, allows most uses of extra spacing if the intent is to align + # with an operator on the previous or next line, not counting empty lines + # or comment lines. + AllowForAlignment: true + +Layout/SpaceBeforeBlockBraces: + EnforcedStyle: space + SupportedStyles: + - space + - no_space + +Layout/SpaceInsideBlockBraces: + EnforcedStyle: space + SupportedStyles: + - space + - no_space + # Valid values are: space, no_space + EnforcedStyleForEmptyBraces: no_space + # Space between { and |. Overrides EnforcedStyle if there is a conflict. + SpaceBeforeBlockParameters: true + +Layout/SpaceInsideHashLiteralBraces: + EnforcedStyle: space + EnforcedStyleForEmptyBraces: no_space + SupportedStyles: + - space + - no_space + # "compact" normally requires a space inside hash braces, with the exception + # that successive left braces or right braces are collapsed together + - compact + +Layout/SpaceInsideStringInterpolation: + EnforcedStyle: no_space + SupportedStyles: + - space + - no_space + +Style/AccessModifierDeclarations: + Enabled: false + +Style/SymbolArray: + EnforcedStyle: brackets + SupportedStyles: + - percent + - brackets + +Style/SymbolProc: + # A list of method names to be ignored by the check. + # The names should be fairly unique, otherwise you'll end up ignoring lots of code. + IgnoredMethods: + - respond_to + - define_method + +Style/TernaryParentheses: + EnforcedStyle: require_no_parentheses + SupportedStyles: + - require_parentheses + - require_no_parentheses + AllowSafeAssignment: true + +Layout/TrailingEmptyLines: + EnforcedStyle: final_newline + SupportedStyles: + - final_newline + - final_blank_line + +Style/TrailingCommaInArguments: + # If `comma`, the cop requires a comma after the last argument, but only for + # parenthesized method calls where each argument is on its own line. + # If `consistent_comma`, the cop requires a comma after the last argument, + # for all parenthesized method calls with arguments. + EnforcedStyleForMultiline: no_comma + +Style/TrailingCommaInArrayLiteral: + # If `comma`, the cop requires a comma after the last item in an array or + # hash, but only when each item is on its own line. + # If `consistent_comma`, the cop requires a comma after the last item of all + # non-empty array and hash literals. + EnforcedStyleForMultiline: no_comma + +Style/TrailingCommaInHashLiteral: + # If `comma`, the cop requires a comma after the last item in an array or + # hash, but only when each item is on its own line. + # If `consistent_comma`, the cop requires a comma after the last item of all + # non-empty array and hash literals. + EnforcedStyleForMultiline: no_comma + +# TrivialAccessors requires exact name matches and doesn't allow +# predicated methods by default. +Style/TrivialAccessors: + # When set to false the cop will suggest the use of accessor methods + # in situations like: + # + # def name + # @other_name + # end + # + # This way you can uncover "hidden" attributes in your code. + ExactNameMatch: true + AllowPredicates: true + # Allows trivial writers that don't end in an equal sign. e.g. + # + # def on_exception(action) + # @on_exception=action + # end + # on_exception :restart + # + # Commonly used in DSLs + AllowDSLWriters: false + IgnoreClassMethods: false + AllowedMethods: + - to_ary + - to_a + - to_c + - to_enum + - to_h + - to_hash + - to_i + - to_int + - to_io + - to_open + - to_path + - to_proc + - to_r + - to_regexp + - to_str + - to_s + - to_sym + +Naming/VariableName: + EnforcedStyle: snake_case + SupportedStyles: + - snake_case + - camelCase + +Naming/VariableNumber: + EnforcedStyle: normalcase + SupportedStyles: + - snake_case + - normalcase + - non_integer + +# WordArray enforces how array literals of word-like strings should be expressed. +Style/WordArray: + EnforcedStyle: percent + SupportedStyles: + # percent style: %w(word1 word2) + - percent + # bracket style: ["word1", "word2"] + - brackets + # The MinSize option causes the WordArray rule to be ignored for arrays + # smaller than a certain size. The rule is only applied to arrays + # whose element count is greater than or equal to MinSize. + MinSize: 2 + # The regular expression WordRegex decides what is considered a word. + WordRegex: !ruby/regexp '/\A[\p{Word}\n\t]+\z/' + +##################### Metrics ################################## + +Metrics/AbcSize: + # The ABC size is a calculated magnitude, so this number can be an Integer or + # a Float. + Max: 15 + Enabled: false + +Metrics/BlockNesting: + Max: 3 + +Metrics/ClassLength: + CountComments: false # count full line comments? + Max: 100 + Enabled: false + +Metrics/ModuleLength: + CountComments: false # count full line comments? + Max: 100 + Enabled: false + +# Avoid complex methods. +Metrics/CyclomaticComplexity: + Max: 9 + Exclude: + - "bin/bundle" + - "decidim-admin/app/queries/decidim/admin/newsletter_recipients.rb" + - "**/*/dummy_authorization_handler.rb" + - "**/*/permissions.rb" + +Metrics/MethodLength: + CountComments: false # count full line comments? + Max: 15 + Enabled: false + +Metrics/ParameterLists: + Max: 5 + CountKeywordArgs: true + Exclude: + - "decidim-core/lib/decidim/filter_form_builder.rb" + +Metrics/PerceivedComplexity: + Max: 10 + Exclude: + - "decidim-admin/app/queries/decidim/admin/newsletter_recipients.rb" + - "**/*/dummy_authorization_handler.rb" + - "**/*/permissions.rb" + +##################### Lint ################################## + +Lint/AmbiguousBlockAssociation: + Enabled: true + Exclude: + - "**/abilities/**/*" + +# Allow safe assignment in conditions. +Lint/AssignmentInCondition: + AllowSafeAssignment: true + +Lint/ConstantDefinitionInBlock: + Enabled: false + +# Call super to initialize state of the parent class. +Lint/MissingSuper: + Enabled: false + +# checks whether the end keywords are aligned properly for `do` `end` blocks. +Layout/BlockAlignment: + # The value `start_of_block` means that the `end` should be aligned with line + # where the `do` keyword appears. + # The value `start_of_line` means it should be aligned with the whole + # expression's starting line. + # The value `either` means both are allowed. + EnforcedStyleAlignWith: either + +# Align ends correctly. +Layout/EndAlignment: + # The value `keyword` means that `end` should be aligned with the matching + # keyword (if, while, etc.). + # The value `variable` means that in assignments, `end` should be aligned + # with the start of the variable on the left hand side of `=`. In all other + # situations, `end` should still be aligned with the keyword. + # The value `start_of_line` means that `end` should be aligned with the start + # of the line which the matching keyword appears on. + EnforcedStyleAlignWith: keyword + AutoCorrect: false + +Layout/DefEndAlignment: + # The value `def` means that `end` should be aligned with the def keyword. + # The value `start_of_line` means that `end` should be aligned with method + # calls like `private`, `public`, etc, if present in front of the `def` + # keyword on the same line. + EnforcedStyleAlignWith: start_of_line + AutoCorrect: false + +Lint/InheritException: + # The default base class in favour of `Exception`. + EnforcedStyle: runtime_error + SupportedStyles: + - runtime_error + - standard_error + +Layout/LineLength: + Max: 180 + # To make it possible to copy or click on URIs in the code, we allow lines + # containing a URI to be longer than Max. + AllowHeredoc: true + AllowURI: true + URISchemes: + - http + - https + Exclude: + - "**/spec/**/*" + +# Checks for unused block arguments +Lint/UnusedBlockArgument: + IgnoreEmptyBlocks: true + AllowUnusedKeywordArguments: false + +# Checks for unused method arguments. +Lint/UnusedMethodArgument: + AllowUnusedKeywordArguments: false + IgnoreEmptyMethods: true + +##################### Performance ############################ + +Metrics/BlockLength: + Enabled: false + +RSpec/BeforeAfterAll: + Enabled: true + +RSpec/ContextWording: + Enabled: true + Prefixes: + - when + - with + - without + - and + +RSpec/DescribeClass: + Exclude: + - spec/gemfiles_spec.rb + - spec/js_bundles_spec.rb + - spec/i18n_spec.rb + - "**/*/spec/**/*_badge_spec.rb" + - decidim-core/spec/lib/global_engines_spec.rb + - "**/tasks/**/*" + +RSpec/EmptyExampleGroup: + Exclude: + - decidim-core/spec/lib/participatory_space_manifest_spec.rb + +RSpec/ExampleLength: + Max: 49 + +RSpec/ExpectInHook: + Enabled: false + +RSpec/IteratedExpectation: + Enabled: true + +RSpec/LetSetup: + Enabled: false + +RSpec/MessageSpies: + Enabled: false + +RSpec/MultipleExpectations: + Enabled: false + +RSpec/MultipleMemoizedHelpers: + Max: 35 + +RSpec/NestedGroups: + Max: 7 + +RSpec/NamedSubject: + Enabled: false + +RSpec/RepeatedExampleGroupDescription: + Enabled: false + +RSpec/RepeatedExampleGroupBody: + Enabled: false +RSpec/VerifiedDoubles: + Enabled: false + +RSpec/LeakyConstantDeclaration: + Enabled: false + +RSpec/DescribedClass: + Enabled: false + +# This is the default configuration file. + +Faker/DeprecatedArguments: + Description: 'Checks that Faker arguments style is based on Faker 2.' + Enabled: true + VersionAdded: '0.1' + Reference: 'https://github.com/faker-ruby/faker/blob/master/CHANGELOG.md#v20-2019-31-07' + ArgumentKeywords: + # + # FakerClassName: + # method_name: + # - keyword_name_for_first_argument + # - keyword_name_for_second_argument + # - keyword_name_for_third_argument + # + Faker::Dune: + quote: + - character + saying: + - source + Faker::Books::Lovecraft: + fhtagn: + - number + sentence: + - word_count + - random_words_to_add + words: + - number + - spaces_allowed + sentences: + - number + paragraph: + - sentence_count + - random_sentences_to_add + paragraphs: + - number + paragraph_by_chars: + - characters + Faker::Address: + city: + - options + street_address: + - include_secondary + zip_code: + - state_abbreviation + country_by_code: + - code + country_name_to_code: + - name + Faker::Alphanumeric: + alpha: + - number + alphanumeric: + - number + Faker::App: + semantic_version: + - major + - minor + - patch + Faker::Avatar: + image: + - slug + - size + - format + - set + - bgset + Faker::Bank: + account_number: + - digits + iban: + - country_code + Faker::Boolean: + boolean: + - true_ratio + Faker::ChileRut: + rut: + - min_rut + - fixed + full_rut: + - min_rut + - fixed + Faker::Code: + isbn: + - base + ean: + - base + nric: + - min_age + - max_age + Faker::Commerce: + promotion_code: + - digits + department: + - max + - fixed_amount + price: + - range + - as_string + Faker::Company: + polish_register_of_national_economy: + - length + brazilian_company_number: + - formatted + Faker::CryptoCoin: + coin_name: + - coin + acronym: + - coin + url_logo: + - coin + Faker::Date: + between: + - from + - to + between_except: + - from + - to + - excepted + forward: + - days + backward: + - days + birthday: + - min_age + - max_age + Faker::Demographic: + height: + - unit + Faker::DrivingLicence: + british_driving_licence: + - last_name + - initials + - gender + - date_of_birth + Faker::File: + dir: + - segment_count + - root + - directory_separator + file_name: + - dir + - name + - ext + - directory_separator + Faker::Fillmurray: + image: + - grayscale + - width + - height + Faker::Finance: + vat_number: + - country + Faker::Hipster: + words: + - number + - supplemental + - spaces_allowed + sentence: + - word_count + - supplemental + - random_words_to_add + sentences: + - number + - supplemental + paragraph: + - sentence_count + - supplemental + - random_sentences_to_add + paragraphs: + - number + - supplemental + paragraph_by_chars: + - characters + - supplemental + Faker::IDNumber: + brazilian_citizen_number: + - formatted + brazilian_id: + - formatted + Faker::Internet: + email: + - name + - separators + free_email: + - name + safe_email: + - name + username: + - specifier + - separators + password: + - min_length + - max_length + - mix_case + - special_characters + domain_name: + - subdomain + fix_umlauts: + - string + mac_address: + - prefix + url: + - host + - path + - scheme + slug: + - words + - glue + user_agent: + - vendor + Faker::Invoice: + amount_between: + - from + - to + creditor_reference: + - ref + reference: + - ref + Faker::Json: + shallow_json: + - width + - options + add_depth_to_json: + - json + - width + - options + Faker::Lorem: + words: + - number + - supplemental + characters: + - number + sentence: + - word_count + - supplemental + - random_words_to_add + sentences: + - number + - supplemental + paragraph: + - sentence_count + - supplemental + - random_sentences_to_add + paragraphs: + - number + - supplemental + paragraph_by_chars: + - number + - supplemental + question: + - word_count + - supplemental + - random_words_to_add + questions: + - number + - supplemental + Faker::LoremFlickr: + image: + - size + - search_terms + - match_all + grayscale_image: + - size + - search_terms + - match_all + pixelated_image: + - size + - search_terms + - match_all + colorized_image: + - size + - color + - search_terms + - match_all + Faker::LoremPixel: + image: + - size + - is_gray + - category + - number + - text + - secure + Faker::Markdown: + sandwich: + - sentences + - repeat + Faker::Measurement: + height: + - amount + length: + - amount + volume: + - amount + weight: + - amount + metric_height: + - amount + metric_length: + - amount + metric_volume: + - amount + metric_weight: + - amount + Faker::Name: + initials: + - number + Faker::NationalHealthService: + check_digit: + - number + Faker::Number: + number: + - digits + leading_zero_number: + - digits + decimal_part: + - digits + decimal: + - l_digits + - r_digits + hexadecimal: + - digits + normal: + - mean + - standard_deviation + between: + - from + - to + within: + - range + positive: + - from + - to + negative: + - from + - to + Faker::Omniauth: + google: + - name + - email + - uid + facebook: + - name + - email + - username + - uid + twitter: + - name + - nickname + - uid + linkedin: + - name + - email + - uid + github: + - name + - email + - uid + Faker::PhoneNumber: + subscriber_number: + - length + Faker::Placeholdit: + image: + - size + - format + - background_color + - text_color + - text + Faker::Relationship: + familial: + - connection + Faker::Source: + hello_world: + - lang + print: + - str + - lang + print_1_to_10: + - lang + Faker::String: + random: + - length + Faker::Stripe: + valid_card: + - card_type + valid_token: + - card_type + invalid_card: + - card_error + ccv: + - card_type + Faker::Time: + between: + - from + - to + - format + between_dates: + - from + - to + - period + - format + forward: + - days + - period + - format + backward: + - days + - period + - format + Faker::Twitter: + user: + - include_status + - include_email + status: + - include_user + - include_photo + status_entities: + - include_photo + Faker::Types: + rb_string: + - words + rb_integer: + - from + - to + rb_hash: + - number + - type + complex_rb_hash: + - number + rb_array: + - len + Faker::Vehicle: + model: + - make_of_model + mileage: + - min + - max + license_plate: + - state_abbreviation + Faker::WorldCup: + group: + - group + roster: + - country + - type + Faker::Dota: + quote: + - hero + Faker::Movies::StarWars: + quote: + - character + Decidim::Faker::Localized: + words: + - number + - supplemental + characters: + - number + sentence: + - word_count + - supplemental + - random_words_to_add + sentences: + - number + - supplemental + paragraph: + - sentence_count + - supplemental + - random_sentences_to_add + paragraphs: + - number + - supplemental + paragraph_by_chars: + - number + - supplemental + question: + - word_count + - supplemental + - random_words_to_add + questions: + - number + - supplemental + diff --git a/Gemfile b/Gemfile index 722b8ef6bf..e35ef0ffb6 100644 --- a/Gemfile +++ b/Gemfile @@ -40,6 +40,7 @@ end group :development do gem "letter_opener_web", "~> 1.3" gem "listen", "~> 3.1" + gem "rubocop-faker" gem "spring", "~> 2.0" gem "spring-watcher-listen", "~> 2.0" gem "web-console", "~> 3.5" diff --git a/Gemfile.lock b/Gemfile.lock index a46d6d8d9e..f2b997d3cd 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -758,6 +758,9 @@ GEM unicode-display_width (>= 1.4.0, < 2.0) rubocop-ast (1.13.0) parser (>= 3.0.1.1) + rubocop-faker (1.1.0) + faker (>= 2.12.0) + rubocop (>= 0.82.0) rubocop-rails (2.9.1) activesupport (>= 4.2.0) rack (>= 1.1) @@ -897,6 +900,7 @@ DEPENDENCIES newrelic_rpm puma (>= 5.0.0) rspec-rails + rubocop-faker rubyzip (>= 1.0.0) sidekiq (= 5.2.7) spring (~> 2.0) diff --git a/app/services/user_extension_authorization_handler.rb b/app/services/user_extension_authorization_handler.rb index 8149fca3d4..aa985894b7 100644 --- a/app/services/user_extension_authorization_handler.rb +++ b/app/services/user_extension_authorization_handler.rb @@ -9,10 +9,6 @@ class UserExtensionAuthorizationHandler < Decidim::AuthorizationHandler validate :check_response - def metadata - super - end - def unique_id nil end diff --git a/config/environments/development.rb b/config/environments/development.rb index 3e3ec5102d..cf0050df11 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -16,7 +16,7 @@ # Enable/disable caching. By default caching is disabled. # Run rails dev:cache to toggle caching. - if Rails.root.join("tmp", "caching-dev.txt").exist? + if Rails.root.join("tmp/caching-dev.txt").exist? config.action_controller.perform_caching = true config.cache_store = :memory_store diff --git a/config/environments/production.rb b/config/environments/production.rb index 714636a64e..718d4c09b7 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -96,7 +96,7 @@ # config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new 'app-name') if ENV["RAILS_LOG_TO_STDOUT"].present? - logger = ActiveSupport::Logger.new(STDOUT) + logger = ActiveSupport::Logger.new($stdout) logger.formatter = config.log_formatter config.logger = ActiveSupport::TaggedLogging.new(logger) end diff --git a/config/initializers/carrierwave.rb b/config/initializers/carrierwave.rb index 41bfb4a2b6..2d6fd1b4b8 100644 --- a/config/initializers/carrierwave.rb +++ b/config/initializers/carrierwave.rb @@ -5,7 +5,7 @@ if Rails.application.secrets.aws_access_key_id.present? require "carrierwave/storage/fog" - CarrierWave::SanitizedFile.sanitize_regexp = /[^[:word:]\.\-\+]/ + CarrierWave::SanitizedFile.sanitize_regexp = /[^[:word:].\-+]/ CarrierWave.configure do |config| config.storage = :fog diff --git a/config/initializers/decidim.rb b/config/initializers/decidim.rb index fbc02f4f88..53e3bf7b27 100644 --- a/config/initializers/decidim.rb +++ b/config/initializers/decidim.rb @@ -233,7 +233,7 @@ Rails.application.config.i18n.default_locale = Decidim.default_locale ## Set default comments limit. It's used in Decidim::Comments component. Default value is 100. -Rails.application.config.default_comments_limit = ENV.fetch("DECIDIM_COMMENTS_LIMIT") { 100 }.to_i +Rails.application.config.default_comments_limit = ENV.fetch("DECIDIM_COMMENTS_LIMIT", 100).to_i # Overwrite Devise.allow_unconfirmed_access_for Devise.allow_unconfirmed_access_for = Decidim.unconfirmed_access_for diff --git a/config/puma.rb b/config/puma.rb index 4b08914227..78638e5e45 100644 --- a/config/puma.rb +++ b/config/puma.rb @@ -6,19 +6,19 @@ # the maximum value specified for Puma. Default is set to 5 threads for minimum # and maximum; this matches the default thread size of Active Record. # -threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 } +threads_count = ENV.fetch("RAILS_MAX_THREADS", 5) threads threads_count, threads_count # Specifies the `port` that Puma will listen on to receive requests; default is 3000. # -port ENV.fetch("PORT") { 3000 } +port ENV.fetch("PORT", 3000) # Specifies the `environment` that Puma will run in. # -environment ENV.fetch("RAILS_ENV") { "development" } +environment ENV.fetch("RAILS_ENV", "development") # Specifies the `pidfile` that Puma will use. -pidfile ENV.fetch("PIDFILE") { "tmp/pids/server.pid" } +pidfile ENV.fetch("PIDFILE", "tmp/pids/server.pid") # Specifies the number of `workers` to boot in clustered mode. # Workers are forked webserver processes. If using threads and workers together diff --git a/decidim-user_extension/decidim-user_extension.gemspec b/decidim-user_extension/decidim-user_extension.gemspec index 11cff9367d..78bab17d94 100644 --- a/decidim-user_extension/decidim-user_extension.gemspec +++ b/decidim-user_extension/decidim-user_extension.gemspec @@ -13,6 +13,7 @@ Gem::Specification.new do |spec| spec.summary = "A exntesional attributes component for decidim's User model." spec.description = "A exntesional attributes component for decidim's User model." spec.license = "AGPL-3.0" + spec.required_ruby_version = ">= 2.7.0" spec.files = Dir[ "{app,config,db,lib}/**/*", diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb index 4e557cee54..50317642b0 100644 --- a/spec/rails_helper.rb +++ b/spec/rails_helper.rb @@ -21,7 +21,7 @@ # directory. Alternatively, in the individual `*_spec.rb` files, manually # require only the support files necessary. # -Dir[Rails.root.join("spec", "support", "**", "*.rb")].each { |f| require f } +Dir[Rails.root.join("spec/support/**/*.rb")].sort.each { |f| require f } # Checks for pending migrations and applies them before tests are run. # If you are not using ActiveRecord, you can remove these lines. diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index b966d47ea5..875e2aaa0b 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -37,6 +37,7 @@ config.raise_errors_for_deprecations! config.example_status_persistence_file_path = ".rspec-failures" +# rubocop:disable Style/BlockComments # The settings below are suggested to provide a good initial experience # with RSpec, but feel free to customize to your heart's content. =begin @@ -86,6 +87,7 @@ # as the one that triggered the failure. Kernel.srand config.seed =end + # rubocop:enable Style/BlockComments config.before do I18n.available_locales = [:en, :es, :ja] From 83f1ed5fbed1e2c6038bb3a52d235506beec6980 Mon Sep 17 00:00:00 2001 From: takahashim Date: Sun, 26 Dec 2021 12:00:57 +0900 Subject: [PATCH 11/22] Update decidim-comments to v0.24.3 --- decidim-comments/.eslintignore | 15 - decidim-comments/.eslintrc.json | 277 - .../javascripts/decidim/comments/bundle.js | 268 - .../comments/comments.component.js.es6 | 292 + .../comments/comments.component.test.js | 581 + .../decidim/comments/comments.js.erb | 2 +- .../decidim/comments/comment/actions.erb | 7 + .../comments/comment/alignment_badge.erb | 4 + .../cells/decidim/comments/comment/author.erb | 1 + .../cells/decidim/comments/comment/show.erb | 40 + .../decidim/comments/comment/utilities.erb | 13 + .../cells/decidim/comments/comment/votes.erb | 25 + .../decidim/comments/comment_card_cell.rb | 22 + .../cells/decidim/comments/comment_cell.rb | 150 +- .../comments/comment_form/comment_as.erb | 10 + .../decidim/comments/comment_form/show.erb | 24 + .../decidim/comments/comment_form_cell.rb | 94 + .../cells/decidim/comments/comment_m/top.erb | 2 +- .../decidim/comments/comment_thread/show.erb | 6 + .../decidim/comments/comment_thread/title.erb | 3 + .../decidim/comments/comment_thread_cell.rb | 30 + .../decidim/comments/comments/add_comment.erb | 30 + .../comments/blocked_comments_warning.erb | 3 + .../comments/comments/order_control.erb | 37 + .../cells/decidim/comments/comments/show.erb | 32 + .../comments/single_comment_warning.erb | 9 + .../user_comments_blocked_warning.erb | 3 + .../cells/decidim/comments/comments_cell.rb | 134 + .../commands/decidim/comments/vote_comment.rb | 44 +- .../comments/application_controller.rb | 16 + .../decidim/comments/comments_controller.rb | 122 + .../decidim/comments/votes_controller.rb | 41 + .../decidim/comments/comment_created_event.rb | 2 +- .../comments/comment_downvoted_event.rb | 8 + .../decidim/comments/comment_upvoted_event.rb | 8 + .../decidim/comments/comment_voted_event.rb | 26 + .../forms/decidim/comments/comment_form.rb | 8 +- .../app/frontend/application/apollo_client.ts | 12 - .../application.component.test.tsx | 23 - .../application/application.component.tsx | 35 - .../application/icon.component.test.tsx | 38 - .../frontend/application/icon.component.tsx | 46 - .../comments/.comment.component.test.tsx.swp | Bin 24576 -> 0 bytes .../add_comment_form.component.test.tsx | 265 - .../comments/add_comment_form.component.tsx | 482 - .../comments/comment.component.test.tsx | 490 - .../frontend/comments/comment.component.tsx | 677 - .../comment_order_selector.component.test.tsx | 29 - .../comment_order_selector.component.tsx | 106 - .../comment_thread.component.test.tsx | 82 - .../comments/comment_thread.component.tsx | 81 - .../comments/comments.component.test.tsx | 152 - .../frontend/comments/comments.component.tsx | 351 - .../down_vote_button.component.test.tsx | 59 - .../comments/down_vote_button.component.tsx | 133 - .../up_vote_button.component.test.tsx | 59 - .../comments/up_vote_button.component.tsx | 133 - .../comments/vote_button.component.tsx | 50 - .../comments/vote_button_component.test.tsx | 64 - decidim-comments/app/frontend/entry.ts | 38 - decidim-comments/app/frontend/entry_test.ts | 6 - ..._comment_form_commentable.fragment.graphql | 4 - .../add_comment_form_session.fragment.graphql | 6 - .../fragments/comment.fragment.graphql | 14 - .../fragments/comment_data.fragment.graphql | 27 - .../fragments/comment_thread.fragment.graphql | 6 - .../down_vote_button.fragment.graphql | 6 - .../fragments/up_vote_button.fragment.graphql | 6 - .../mutations/add_comment.mutation.graphql | 9 - .../mutations/down_vote.mutation.graphql | 9 - .../mutations/up_vote.mutation.graphql | 9 - .../frontend/queries/comments.query.graphql | 26 - .../app/frontend/support/asset_url.ts | 11 - .../support/generate_comments_data.ts | 49 - .../frontend/support/generate_user_data.ts | 14 - .../support/generate_user_group_data.ts | 14 - .../frontend/support/graphql_transformer.js | 32 - .../app/frontend/support/load_translations.ts | 48 - .../app/frontend/support/require_all.ts | 10 - .../frontend/support/resolve_graphql_query.ts | 37 - .../app/frontend/support/schema.ts | 2026 -- .../app/models/decidim/comments/comment.rb | 30 +- .../app/models/decidim/comments/seed.rb | 2 +- .../decidim/comments/permissions.rb | 59 + .../comment_participants_metric_measure.rb | 4 +- .../metrics/comments_metric_manage.rb | 11 +- .../decidim/comments/sorted_comments.rb | 36 +- .../decidim/comments/commentable_interface.rb | 62 - .../comments/commentable_mutation_type.rb | 33 - .../comments/comments/_comment.html.erb | 5 + .../comments/comments/_comments.html.erb | 1 + .../decidim/comments/comments/create.js.erb | 16 + .../decidim/comments/comments/error.js.erb | 1 + .../decidim/comments/comments/index.js.erb | 24 + .../decidim/comments/comments/reload.js.erb | 21 + .../decidim/comments/votes/create.js.erb | 23 + .../views/decidim/comments/votes/error.js.erb | 1 + decidim-comments/config/locales/ar.yml | 2 - decidim-comments/config/locales/ca.yml | 19 +- decidim-comments/config/locales/cs.yml | 23 +- decidim-comments/config/locales/de.yml | 19 +- decidim-comments/config/locales/el.yml | 2 - decidim-comments/config/locales/en.yml | 20 +- decidim-comments/config/locales/es-MX.yml | 19 +- decidim-comments/config/locales/es-PY.yml | 19 +- decidim-comments/config/locales/es.yml | 19 +- decidim-comments/config/locales/eu.yml | 2 - decidim-comments/config/locales/fi-plain.yml | 19 +- decidim-comments/config/locales/fi.yml | 19 +- decidim-comments/config/locales/fr-CA.yml | 19 +- decidim-comments/config/locales/fr.yml | 19 +- decidim-comments/config/locales/gl.yml | 9 +- decidim-comments/config/locales/hu.yml | 2 - decidim-comments/config/locales/id-ID.yml | 2 - decidim-comments/config/locales/is-IS.yml | 1 - decidim-comments/config/locales/it.yml | 6 +- decidim-comments/config/locales/ja-JP.yml | 120 + decidim-comments/config/locales/ja.yml | 9 +- decidim-comments/config/locales/lv.yml | 2 - decidim-comments/config/locales/nl.yml | 2 - decidim-comments/config/locales/no.yml | 2 - decidim-comments/config/locales/pl.yml | 21 +- decidim-comments/config/locales/pt-BR.yml | 2 - decidim-comments/config/locales/pt.yml | 2 - decidim-comments/config/locales/ro-RO.yml | 20 +- decidim-comments/config/locales/ru.yml | 2 - decidim-comments/config/locales/sk.yml | 2 - decidim-comments/config/locales/sv.yml | 19 +- decidim-comments/config/locales/tr-TR.yml | 9 +- decidim-comments/config/locales/uk.yml | 1 - decidim-comments/config/locales/zh-CN.yml | 2 - decidim-comments/decidim-comments.gemspec | 4 +- .../lib/decidim/api/add_comment_type.rb | 13 + .../lib/decidim/api/comment_mutation_type.rb | 22 + .../lib/decidim/api/comment_type.rb | 89 + .../lib/decidim/api/commentable_interface.rb | 50 + .../decidim/api/commentable_mutation_type.rb | 30 + .../decidim/api}/commentable_type.rb | 7 +- decidim-comments/lib/decidim/comments.rb | 4 +- decidim-comments/lib/decidim/comments/api.rb | 12 + .../decidim/comments/api/add_comment_type.rb | 13 - .../comments/api/comment_mutation_type.rb | 20 - .../lib/decidim/comments/api/comment_type.rb | 89 - .../lib/decidim/comments/comments_helper.rb | 70 +- .../lib/decidim/comments/engine.rb | 16 +- .../decidim/comments/mutation_extensions.rb | 44 +- .../lib/decidim/comments/query_extensions.rb | 26 +- decidim-comments/lib/decidim/comments/test.rb | 1 + .../shared_examples/comment_voted_event.rb | 65 + .../lib/decidim/comments/version.rb | 2 +- decidim-comments/package-lock.json | 18753 ---------------- decidim-comments/package.json | 298 - .../decidim/comments/comment_cell_spec.rb | 128 + .../decidim/comments/comment_form_spec.rb | 78 + .../comments/comment_thread_cell_spec.rb | 50 + .../decidim/comments/comments_cell_spec.rb | 105 + .../spec/commands/create_comment_spec.rb | 6 + .../spec/commands/vote_comment_spec.rb | 50 +- .../comments/comments_controller_spec.rb | 189 + .../decidim/comments/votes_controller_spec.rb | 92 + .../comments/comment_downvoted_event_spec.rb | 10 + .../comments/comment_upvoted_event_spec.rb | 10 + .../spec/forms/comment_form_spec.rb | 16 + .../spec/helpers/comments_helper_spec.rb | 51 +- decidim-comments/spec/models/comment_spec.rb | 46 +- .../decidim/comments/permissions_spec.rb | 98 + .../spec/types/comment_mutation_type_spec.rb | 2 +- .../spec/types/comment_type_spec.rb | 2 +- .../types/commentable_mutation_type_spec.rb | 2 +- .../spec/types/commentable_type_spec.rb | 2 +- .../spec/types/mutation_type_spec.rb | 20 +- .../spec/types/query_type_spec.rb | 2 +- decidim-comments/tsconfig.json | 24 - decidim-comments/tslint.json | 13 - decidim-comments/webpack.config.js | 91 - decidim-comments/webpack.d.ts | 6 - 176 files changed, 3634 insertions(+), 26034 deletions(-) delete mode 100644 decidim-comments/.eslintignore delete mode 100644 decidim-comments/.eslintrc.json delete mode 100644 decidim-comments/app/assets/javascripts/decidim/comments/bundle.js create mode 100644 decidim-comments/app/assets/javascripts/decidim/comments/comments.component.js.es6 create mode 100644 decidim-comments/app/assets/javascripts/decidim/comments/comments.component.test.js create mode 100644 decidim-comments/app/cells/decidim/comments/comment/actions.erb create mode 100644 decidim-comments/app/cells/decidim/comments/comment/alignment_badge.erb create mode 100644 decidim-comments/app/cells/decidim/comments/comment/author.erb create mode 100644 decidim-comments/app/cells/decidim/comments/comment/show.erb create mode 100644 decidim-comments/app/cells/decidim/comments/comment/utilities.erb create mode 100644 decidim-comments/app/cells/decidim/comments/comment/votes.erb create mode 100644 decidim-comments/app/cells/decidim/comments/comment_card_cell.rb create mode 100644 decidim-comments/app/cells/decidim/comments/comment_form/comment_as.erb create mode 100644 decidim-comments/app/cells/decidim/comments/comment_form/show.erb create mode 100644 decidim-comments/app/cells/decidim/comments/comment_form_cell.rb create mode 100644 decidim-comments/app/cells/decidim/comments/comment_thread/show.erb create mode 100644 decidim-comments/app/cells/decidim/comments/comment_thread/title.erb create mode 100644 decidim-comments/app/cells/decidim/comments/comment_thread_cell.rb create mode 100644 decidim-comments/app/cells/decidim/comments/comments/add_comment.erb create mode 100644 decidim-comments/app/cells/decidim/comments/comments/blocked_comments_warning.erb create mode 100644 decidim-comments/app/cells/decidim/comments/comments/order_control.erb create mode 100644 decidim-comments/app/cells/decidim/comments/comments/show.erb create mode 100644 decidim-comments/app/cells/decidim/comments/comments/single_comment_warning.erb create mode 100644 decidim-comments/app/cells/decidim/comments/comments/user_comments_blocked_warning.erb create mode 100644 decidim-comments/app/cells/decidim/comments/comments_cell.rb create mode 100644 decidim-comments/app/controllers/decidim/comments/application_controller.rb create mode 100644 decidim-comments/app/controllers/decidim/comments/comments_controller.rb create mode 100644 decidim-comments/app/controllers/decidim/comments/votes_controller.rb create mode 100644 decidim-comments/app/events/decidim/comments/comment_downvoted_event.rb create mode 100644 decidim-comments/app/events/decidim/comments/comment_upvoted_event.rb create mode 100644 decidim-comments/app/events/decidim/comments/comment_voted_event.rb delete mode 100644 decidim-comments/app/frontend/application/apollo_client.ts delete mode 100644 decidim-comments/app/frontend/application/application.component.test.tsx delete mode 100644 decidim-comments/app/frontend/application/application.component.tsx delete mode 100644 decidim-comments/app/frontend/application/icon.component.test.tsx delete mode 100644 decidim-comments/app/frontend/application/icon.component.tsx delete mode 100644 decidim-comments/app/frontend/comments/.comment.component.test.tsx.swp delete mode 100644 decidim-comments/app/frontend/comments/add_comment_form.component.test.tsx delete mode 100644 decidim-comments/app/frontend/comments/add_comment_form.component.tsx delete mode 100644 decidim-comments/app/frontend/comments/comment.component.test.tsx delete mode 100644 decidim-comments/app/frontend/comments/comment.component.tsx delete mode 100644 decidim-comments/app/frontend/comments/comment_order_selector.component.test.tsx delete mode 100644 decidim-comments/app/frontend/comments/comment_order_selector.component.tsx delete mode 100644 decidim-comments/app/frontend/comments/comment_thread.component.test.tsx delete mode 100644 decidim-comments/app/frontend/comments/comment_thread.component.tsx delete mode 100644 decidim-comments/app/frontend/comments/comments.component.test.tsx delete mode 100644 decidim-comments/app/frontend/comments/comments.component.tsx delete mode 100644 decidim-comments/app/frontend/comments/down_vote_button.component.test.tsx delete mode 100644 decidim-comments/app/frontend/comments/down_vote_button.component.tsx delete mode 100644 decidim-comments/app/frontend/comments/up_vote_button.component.test.tsx delete mode 100644 decidim-comments/app/frontend/comments/up_vote_button.component.tsx delete mode 100644 decidim-comments/app/frontend/comments/vote_button.component.tsx delete mode 100644 decidim-comments/app/frontend/comments/vote_button_component.test.tsx delete mode 100644 decidim-comments/app/frontend/entry.ts delete mode 100644 decidim-comments/app/frontend/entry_test.ts delete mode 100644 decidim-comments/app/frontend/fragments/add_comment_form_commentable.fragment.graphql delete mode 100644 decidim-comments/app/frontend/fragments/add_comment_form_session.fragment.graphql delete mode 100644 decidim-comments/app/frontend/fragments/comment.fragment.graphql delete mode 100644 decidim-comments/app/frontend/fragments/comment_data.fragment.graphql delete mode 100644 decidim-comments/app/frontend/fragments/comment_thread.fragment.graphql delete mode 100644 decidim-comments/app/frontend/fragments/down_vote_button.fragment.graphql delete mode 100644 decidim-comments/app/frontend/fragments/up_vote_button.fragment.graphql delete mode 100644 decidim-comments/app/frontend/mutations/add_comment.mutation.graphql delete mode 100644 decidim-comments/app/frontend/mutations/down_vote.mutation.graphql delete mode 100644 decidim-comments/app/frontend/mutations/up_vote.mutation.graphql delete mode 100644 decidim-comments/app/frontend/queries/comments.query.graphql delete mode 100644 decidim-comments/app/frontend/support/asset_url.ts delete mode 100644 decidim-comments/app/frontend/support/generate_comments_data.ts delete mode 100644 decidim-comments/app/frontend/support/generate_user_data.ts delete mode 100644 decidim-comments/app/frontend/support/generate_user_group_data.ts delete mode 100644 decidim-comments/app/frontend/support/graphql_transformer.js delete mode 100644 decidim-comments/app/frontend/support/load_translations.ts delete mode 100644 decidim-comments/app/frontend/support/require_all.ts delete mode 100644 decidim-comments/app/frontend/support/resolve_graphql_query.ts delete mode 100644 decidim-comments/app/frontend/support/schema.ts create mode 100644 decidim-comments/app/permissions/decidim/comments/permissions.rb delete mode 100644 decidim-comments/app/types/decidim/comments/commentable_interface.rb delete mode 100644 decidim-comments/app/types/decidim/comments/commentable_mutation_type.rb create mode 100644 decidim-comments/app/views/decidim/comments/comments/_comment.html.erb create mode 100644 decidim-comments/app/views/decidim/comments/comments/_comments.html.erb create mode 100644 decidim-comments/app/views/decidim/comments/comments/create.js.erb create mode 100644 decidim-comments/app/views/decidim/comments/comments/error.js.erb create mode 100644 decidim-comments/app/views/decidim/comments/comments/index.js.erb create mode 100644 decidim-comments/app/views/decidim/comments/comments/reload.js.erb create mode 100644 decidim-comments/app/views/decidim/comments/votes/create.js.erb create mode 100644 decidim-comments/app/views/decidim/comments/votes/error.js.erb create mode 100644 decidim-comments/config/locales/ja-JP.yml create mode 100644 decidim-comments/lib/decidim/api/add_comment_type.rb create mode 100644 decidim-comments/lib/decidim/api/comment_mutation_type.rb create mode 100644 decidim-comments/lib/decidim/api/comment_type.rb create mode 100644 decidim-comments/lib/decidim/api/commentable_interface.rb create mode 100644 decidim-comments/lib/decidim/api/commentable_mutation_type.rb rename decidim-comments/{app/types/decidim/comments => lib/decidim/api}/commentable_type.rb (52%) create mode 100644 decidim-comments/lib/decidim/comments/api.rb delete mode 100644 decidim-comments/lib/decidim/comments/api/add_comment_type.rb delete mode 100644 decidim-comments/lib/decidim/comments/api/comment_mutation_type.rb delete mode 100644 decidim-comments/lib/decidim/comments/api/comment_type.rb create mode 100644 decidim-comments/lib/decidim/comments/test/shared_examples/comment_voted_event.rb delete mode 100644 decidim-comments/package-lock.json delete mode 100644 decidim-comments/package.json create mode 100644 decidim-comments/spec/cells/decidim/comments/comment_cell_spec.rb create mode 100644 decidim-comments/spec/cells/decidim/comments/comment_form_spec.rb create mode 100644 decidim-comments/spec/cells/decidim/comments/comment_thread_cell_spec.rb create mode 100644 decidim-comments/spec/cells/decidim/comments/comments_cell_spec.rb create mode 100644 decidim-comments/spec/controllers/decidim/comments/comments_controller_spec.rb create mode 100644 decidim-comments/spec/controllers/decidim/comments/votes_controller_spec.rb create mode 100644 decidim-comments/spec/events/decidim/comments/comment_downvoted_event_spec.rb create mode 100644 decidim-comments/spec/events/decidim/comments/comment_upvoted_event_spec.rb create mode 100644 decidim-comments/spec/permissions/decidim/comments/permissions_spec.rb delete mode 100644 decidim-comments/tsconfig.json delete mode 100644 decidim-comments/tslint.json delete mode 100644 decidim-comments/webpack.config.js delete mode 100644 decidim-comments/webpack.d.ts diff --git a/decidim-comments/.eslintignore b/decidim-comments/.eslintignore deleted file mode 100644 index 986691066a..0000000000 --- a/decidim-comments/.eslintignore +++ /dev/null @@ -1,15 +0,0 @@ -**/*{.,-}min.js -decidim-*/vendor/**/*.js -spec/decidim_dummy_app/**/*.js -development_app -node_modules/**/*.{ts,tsx} -bundle.js -karma.conf.js -webpack.config.js -webpack.config.babel.js -entry.test.js -entry.js -*_manifest.js -coverage -decidim-dev/**/*/test/**/*.js -vendor/bundle diff --git a/decidim-comments/.eslintrc.json b/decidim-comments/.eslintrc.json deleted file mode 100644 index 80a8f10ab7..0000000000 --- a/decidim-comments/.eslintrc.json +++ /dev/null @@ -1,277 +0,0 @@ -{ - "env": { - "browser": true, - "es6": true - }, - "extends": ["eslint:recommended", "plugin:react/recommended"], - "parser": "babel-eslint", - "parserOptions": { - "ecmaFeatures": { - "experimentalObjectRestSpread": true, - "jsx": true - }, - "sourceType": "module" - }, - "plugins": [ - "react" - ], - "globals": { - "$": false, - "jQuery": false, - "React": false, - "ReactDOM": false, - "describe": false, - "it": false, - "expect": false, - "beforeEach": false, - "afterEach": false, - "sinon": false, - "GraphQLDocs": false, - "Quill": false, - "SVGInjector": false, - "require": false, - "DecidimAdmin": false, - "L": false - }, - "rules": { - "accessor-pairs": "error", - "array-bracket-spacing": "error", - "array-callback-return": "error", - "arrow-body-style": "off", - "arrow-parens": [ - "error", - "always" - ], - "arrow-spacing": [ - "error", - { - "after": true, - "before": true - } - ], - "block-scoped-var": "error", - "block-spacing": "off", - "callback-return": "error", - "camelcase": "error", - "class-methods-use-this": "off", - "comma-dangle": ["error", "never"], - "comma-spacing": [ - "error", - { - "after": true, - "before": false - } - ], - "comma-style": [ - "error", - "last" - ], - "complexity": "error", - "computed-property-spacing": [ - "error", - "never" - ], - "consistent-return": "error", - "consistent-this": "error", - "curly": "error", - "default-case": "error", - "dot-location": "error", - "dot-notation": "error", - "eol-last": "error", - "eqeqeq": "error", - "func-call-spacing": "error", - "func-name-matching": "error", - "func-names": [ - "error", - "never" - ], - "func-style": "error", - "generator-star-spacing": "error", - "global-require": "error", - "guard-for-in": "error", - "handle-callback-err": "error", - "id-blacklist": "error", - "id-length": "error", - "id-match": "error", - "indent": ["error", 2, { "VariableDeclarator": 2 }], - "init-declarations": "error", - "jsx-quotes": "error", - "key-spacing": "error", - "keyword-spacing": [ - "error", - { - "after": true, - "before": true - } - ], - "line-comment-position": "error", - "linebreak-style": [ - "error", - "unix" - ], - "lines-around-comment": "error", - "lines-around-directive": "error", - "max-depth": "error", - "max-len": "off", - "max-lines": "error", - "max-nested-callbacks": "error", - "max-params": "error", - "max-statements": "off", - "max-statements-per-line": "error", - "multiline-ternary": "error", - "new-cap": "error", - "new-parens": "error", - "newline-after-var": "off", - "newline-before-return": "off", - "newline-per-chained-call": "off", - "no-alert": "error", - "no-array-constructor": "error", - "no-bitwise": "error", - "no-caller": "error", - "no-catch-shadow": "error", - "no-confusing-arrow": "error", - "no-continue": "error", - "no-div-regex": "error", - "no-duplicate-imports": "error", - "no-else-return": "error", - "no-eq-null": "error", - "no-eval": "error", - "no-extend-native": "error", - "no-extra-bind": "error", - "no-extra-label": "error", - "no-extra-parens": "off", - "no-floating-decimal": "error", - "no-implicit-coercion": "error", - "no-implicit-globals": "error", - "no-implied-eval": "error", - "no-inline-comments": "error", - "no-invalid-this": "error", - "no-iterator": "error", - "no-label-var": "error", - "no-labels": "error", - "no-lone-blocks": "error", - "no-lonely-if": "error", - "no-loop-func": "error", - "no-magic-numbers": "off", - "no-mixed-operators": "error", - "no-mixed-requires": "error", - "no-multi-spaces": "off", - "no-multi-str": "error", - "no-multiple-empty-lines": "error", - "no-native-reassign": "error", - "no-negated-condition": "error", - "no-negated-in-lhs": "error", - "no-nested-ternary": "error", - "no-new": "error", - "no-new-func": "error", - "no-new-object": "error", - "no-new-require": "error", - "no-new-wrappers": "error", - "no-octal-escape": "error", - "no-param-reassign": "error", - "no-path-concat": "error", - "no-plusplus": "error", - "no-process-env": "error", - "no-process-exit": "error", - "no-proto": "error", - "no-prototype-builtins": "error", - "no-restricted-globals": "error", - "no-restricted-imports": "error", - "no-restricted-modules": "error", - "no-restricted-properties": "error", - "no-restricted-syntax": "error", - "no-return-assign": "error", - "no-script-url": "error", - "no-self-compare": "error", - "no-sequences": "error", - "no-shadow": "error", - "no-shadow-restricted-names": "error", - "no-spaced-func": "error", - "no-sync": "error", - "no-tabs": "error", - "no-template-curly-in-string": "error", - "no-ternary": "error", - "no-throw-literal": "error", - "no-trailing-spaces": "off", - "no-undef-init": "error", - "no-undefined": "error", - "no-underscore-dangle": "off", - "no-unmodified-loop-condition": "error", - "no-unneeded-ternary": "error", - "no-unused-expressions": "error", - "no-use-before-define": "error", - "no-useless-call": "error", - "no-useless-computed-key": "error", - "no-useless-concat": "error", - "no-useless-constructor": "error", - "no-useless-escape": "error", - "no-useless-rename": "error", - "no-var": "error", - "no-void": "error", - "no-warning-comments": "error", - "no-whitespace-before-property": "error", - "no-with": "error", - "object-curly-newline": "off", - "object-curly-spacing": "off", - "object-property-newline": [ - "error", - { - "allowMultiplePropertiesPerLine": true - } - ], - "object-shorthand": "off", - "one-var": "off", - "one-var-declaration-per-line": "error", - "operator-assignment": "error", - "operator-linebreak": "error", - "padded-blocks": "off", - "prefer-arrow-callback": "off", - "prefer-const": "off", - "prefer-numeric-literals": "error", - "prefer-reflect": "error", - "prefer-rest-params": "error", - "prefer-spread": "error", - "prefer-template": "error", - "quote-props": "off", - "quotes": ["error", "double", { "avoidEscape": true }], - "radix": "error", - "require-jsdoc": "error", - "rest-spread-spacing": "error", - "semi": "off", - "semi-spacing": "error", - "sort-imports": "off", - "sort-keys": "off", - "sort-vars": "error", - "space-before-blocks": "error", - "space-before-function-paren": "off", - "space-in-parens": [ - "error", - "never" - ], - "space-infix-ops": "error", - "space-unary-ops": "error", - "spaced-comment": [ - "error", - "always" - ], - "strict": "error", - "symbol-description": "error", - "template-curly-spacing": "error", - "unicode-bom": [ - "error", - "never" - ], - "valid-jsdoc": "error", - "vars-on-top": "error", - "wrap-iife": "error", - "wrap-regex": "error", - "yield-star-spacing": "error", - "yoda": "error", - "import/no-named-as-default": "off", - "import/no-extraneous-dependencies": "off", - "react/prefer-stateless-function": "off", - "react/jsx-filename-extension": "off", - "react/no-multi-comp": "off", - "react/sort-comp": "off" - } -} diff --git a/decidim-comments/app/assets/javascripts/decidim/comments/bundle.js b/decidim-comments/app/assets/javascripts/decidim/comments/bundle.js deleted file mode 100644 index 7879868f85..0000000000 --- a/decidim-comments/app/assets/javascripts/decidim/comments/bundle.js +++ /dev/null @@ -1,268 +0,0 @@ -!function(e){var t={};function n(a){if(t[a])return t[a].exports;var r=t[a]={i:a,l:!1,exports:{}};return e[a].call(r.exports,r,r.exports,n),r.l=!0,r.exports}n.m=e,n.c=t,n.d=function(e,t,a){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:a})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var a=Object.create(null);if(n.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(a,r,function(t){return e[t]}.bind(null,r));return a},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=220)}([function(e,t,n){(function(e){e.exports=function(){"use strict";var t,a;function r(){return t.apply(null,arguments)}function o(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function i(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function s(e){return void 0===e}function u(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function d(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function l(e,t){var n,a=[];for(n=0;n>>0,a=0;a0)for(n=0;n=0?n?"+":"":"-")+Math.pow(10,Math.max(0,r)).toString().substr(1)+a}var I=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,W=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,R={},q={};function V(e,t,n,a){var r=a;"string"==typeof a&&(r=function(){return this[a]()}),e&&(q[e]=r),t&&(q[t[0]]=function(){return F(r.apply(this,arguments),t[1],t[2])}),n&&(q[n]=function(){return this.localeData().ordinal(r.apply(this,arguments),e)})}function J(e,t){return e.isValid()?(t=Q(t,e.localeData()),R[t]=R[t]||function(e){var t,n,a,r=e.match(I);for(t=0,n=r.length;t=0&&W.test(e);)e=e.replace(W,a),W.lastIndex=0,n-=1;return e}var U=/\d/,K=/\d\d/,B=/\d{3}/,G=/\d{4}/,$=/[+-]?\d{6}/,Z=/\d\d?/,X=/\d\d\d\d?/,ee=/\d\d\d\d\d\d?/,te=/\d{1,3}/,ne=/\d{1,4}/,ae=/[+-]?\d{1,6}/,re=/\d+/,oe=/[+-]?\d+/,ie=/Z|[+-]\d\d:?\d\d/gi,se=/Z|[+-]\d\d(?::?\d\d)?/gi,ue=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,de={};function le(e,t,n){de[e]=H(t)?t:function(e,a){return e&&n?n:t}}function me(e,t){return m(de,e)?de[e](t._strict,t._locale):new RegExp(_e(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,(function(e,t,n,a,r){return t||n||a||r}))))}function _e(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var ce={};function he(e,t){var n,a=t;for("string"==typeof e&&(e=[e]),u(t)&&(a=function(e,n){n[t]=b(e)}),n=0;n68?1900:2e3)};var ve,Me=ke("FullYear",!0);function ke(e,t){return function(n){return null!=n?(be(this,e,n),r.updateOffset(this,t),this):Le(this,e)}}function Le(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function be(e,t,n){e.isValid()&&!isNaN(n)&&("FullYear"===t&&ge(e.year())&&1===e.month()&&29===e.date()?e._d["set"+(e._isUTC?"UTC":"")+t](n,e.month(),Ye(n,e.month())):e._d["set"+(e._isUTC?"UTC":"")+t](n))}function Ye(e,t){if(isNaN(e)||isNaN(t))return NaN;var n,a=(t%(n=12)+n)%n;return e+=(t-a)/12,1===a?ge(e)?29:28:31-a%7%2}ve=Array.prototype.indexOf?Array.prototype.indexOf:function(e){var t;for(t=0;t=0&&isFinite(s.getFullYear())&&s.setFullYear(e),s}function ze(e){var t=new Date(Date.UTC.apply(null,arguments));return e<100&&e>=0&&isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e),t}function Ce(e,t,n){var a=7+t-n;return-(7+ze(e,0,a).getUTCDay()-t)%7+a-1}function Ne(e,t,n,a,r){var o,i,s=1+7*(t-1)+(7+n-a)%7+Ce(e,a,r);return s<=0?i=ye(o=e-1)+s:s>ye(e)?(o=e+1,i=s-ye(e)):(o=e,i=s),{year:o,dayOfYear:i}}function Ae(e,t,n){var a,r,o=Ce(e.year(),t,n),i=Math.floor((e.dayOfYear()-o-1)/7)+1;return i<1?a=i+Fe(r=e.year()-1,t,n):i>Fe(e.year(),t,n)?(a=i-Fe(e.year(),t,n),r=e.year()+1):(r=e.year(),a=i),{week:a,year:r}}function Fe(e,t,n){var a=Ce(e,t,n),r=Ce(e+1,t,n);return(ye(e)-a+r)/7}V("w",["ww",2],"wo","week"),V("W",["WW",2],"Wo","isoWeek"),P("week","w"),P("isoWeek","W"),A("week",5),A("isoWeek",5),le("w",Z),le("ww",Z,K),le("W",Z),le("WW",Z,K),pe(["w","ww","W","WW"],(function(e,t,n,a){t[a.substr(0,1)]=b(e)})),V("d",0,"do","day"),V("dd",0,0,(function(e){return this.localeData().weekdaysMin(this,e)})),V("ddd",0,0,(function(e){return this.localeData().weekdaysShort(this,e)})),V("dddd",0,0,(function(e){return this.localeData().weekdays(this,e)})),V("e",0,0,"weekday"),V("E",0,0,"isoWeekday"),P("day","d"),P("weekday","e"),P("isoWeekday","E"),A("day",11),A("weekday",11),A("isoWeekday",11),le("d",Z),le("e",Z),le("E",Z),le("dd",(function(e,t){return t.weekdaysMinRegex(e)})),le("ddd",(function(e,t){return t.weekdaysShortRegex(e)})),le("dddd",(function(e,t){return t.weekdaysRegex(e)})),pe(["dd","ddd","dddd"],(function(e,t,n,a){var r=n._locale.weekdaysParse(e,a,n._strict);null!=r?t.d=r:h(n).invalidWeekday=e})),pe(["d","e","E"],(function(e,t,n,a){t[a]=b(e)}));var Ie="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),We="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Re="Su_Mo_Tu_We_Th_Fr_Sa".split("_");function qe(e,t,n){var a,r,o,i=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],a=0;a<7;++a)o=c([2e3,1]).day(a),this._minWeekdaysParse[a]=this.weekdaysMin(o,"").toLocaleLowerCase(),this._shortWeekdaysParse[a]=this.weekdaysShort(o,"").toLocaleLowerCase(),this._weekdaysParse[a]=this.weekdays(o,"").toLocaleLowerCase();return n?"dddd"===t?-1!==(r=ve.call(this._weekdaysParse,i))?r:null:"ddd"===t?-1!==(r=ve.call(this._shortWeekdaysParse,i))?r:null:-1!==(r=ve.call(this._minWeekdaysParse,i))?r:null:"dddd"===t?-1!==(r=ve.call(this._weekdaysParse,i))||-1!==(r=ve.call(this._shortWeekdaysParse,i))||-1!==(r=ve.call(this._minWeekdaysParse,i))?r:null:"ddd"===t?-1!==(r=ve.call(this._shortWeekdaysParse,i))||-1!==(r=ve.call(this._weekdaysParse,i))||-1!==(r=ve.call(this._minWeekdaysParse,i))?r:null:-1!==(r=ve.call(this._minWeekdaysParse,i))||-1!==(r=ve.call(this._weekdaysParse,i))||-1!==(r=ve.call(this._shortWeekdaysParse,i))?r:null}var Ve=ue,Je=ue,Qe=ue;function Ue(){function e(e,t){return t.length-e.length}var t,n,a,r,o,i=[],s=[],u=[],d=[];for(t=0;t<7;t++)n=c([2e3,1]).day(t),a=this.weekdaysMin(n,""),r=this.weekdaysShort(n,""),o=this.weekdays(n,""),i.push(a),s.push(r),u.push(o),d.push(a),d.push(r),d.push(o);for(i.sort(e),s.sort(e),u.sort(e),d.sort(e),t=0;t<7;t++)s[t]=_e(s[t]),u[t]=_e(u[t]),d[t]=_e(d[t]);this._weekdaysRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+i.join("|")+")","i")}function Ke(){return this.hours()%12||12}function Be(e,t){V(e,0,0,(function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)}))}function Ge(e,t){return t._meridiemParse}V("H",["HH",2],0,"hour"),V("h",["hh",2],0,Ke),V("k",["kk",2],0,(function(){return this.hours()||24})),V("hmm",0,0,(function(){return""+Ke.apply(this)+F(this.minutes(),2)})),V("hmmss",0,0,(function(){return""+Ke.apply(this)+F(this.minutes(),2)+F(this.seconds(),2)})),V("Hmm",0,0,(function(){return""+this.hours()+F(this.minutes(),2)})),V("Hmmss",0,0,(function(){return""+this.hours()+F(this.minutes(),2)+F(this.seconds(),2)})),Be("a",!0),Be("A",!1),P("hour","h"),A("hour",13),le("a",Ge),le("A",Ge),le("H",Z),le("h",Z),le("k",Z),le("HH",Z,K),le("hh",Z,K),le("kk",Z,K),le("hmm",X),le("hmmss",ee),le("Hmm",X),le("Hmmss",ee),he(["H","HH"],3),he(["k","kk"],(function(e,t,n){var a=b(e);t[3]=24===a?0:a})),he(["a","A"],(function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e})),he(["h","hh"],(function(e,t,n){t[3]=b(e),h(n).bigHour=!0})),he("hmm",(function(e,t,n){var a=e.length-2;t[3]=b(e.substr(0,a)),t[4]=b(e.substr(a)),h(n).bigHour=!0})),he("hmmss",(function(e,t,n){var a=e.length-4,r=e.length-2;t[3]=b(e.substr(0,a)),t[4]=b(e.substr(a,2)),t[5]=b(e.substr(r)),h(n).bigHour=!0})),he("Hmm",(function(e,t,n){var a=e.length-2;t[3]=b(e.substr(0,a)),t[4]=b(e.substr(a))})),he("Hmmss",(function(e,t,n){var a=e.length-4,r=e.length-2;t[3]=b(e.substr(0,a)),t[4]=b(e.substr(a,2)),t[5]=b(e.substr(r))}));var $e,Ze=ke("Hours",!0),Xe={calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},longDateFormat:{LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},invalidDate:"Invalid date",ordinal:"%d",dayOfMonthOrdinalParse:/\d{1,2}/,relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},months:De,monthsShort:Te,week:{dow:0,doy:6},weekdays:Ie,weekdaysMin:Re,weekdaysShort:We,meridiemParse:/[ap]\.?m?\.?/i},et={},tt={};function nt(e){return e?e.toLowerCase().replace("_","-"):e}function at(t){var a=null;if(!et[t]&&void 0!==e&&e&&e.exports)try{a=$e._abbr,n(250)("./"+t),rt(a)}catch(e){}return et[t]}function rt(e,t){var n;return e&&((n=s(t)?it(e):ot(e,t))?$e=n:"undefined"!=typeof console&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),$e._abbr}function ot(e,t){if(null!==t){var n,a=Xe;if(t.abbr=e,null!=et[e])S("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),a=et[e]._config;else if(null!=t.parentLocale)if(null!=et[t.parentLocale])a=et[t.parentLocale]._config;else{if(null==(n=at(t.parentLocale)))return tt[t.parentLocale]||(tt[t.parentLocale]=[]),tt[t.parentLocale].push({name:e,config:t}),null;a=n._config}return et[e]=new O(x(a,t)),tt[e]&&tt[e].forEach((function(e){ot(e.name,e.config)})),rt(e),et[e]}return delete et[e],null}function it(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return $e;if(!o(e)){if(t=at(e))return t;e=[e]}return function(e){for(var t,n,a,r,o=0;o0;){if(a=at(r.slice(0,t).join("-")))return a;if(n&&n.length>=t&&Y(r,n,!0)>=t-1)break;t--}o++}return $e}(e)}function st(e){var t,n=e._a;return n&&-2===h(e).overflow&&(t=n[1]<0||n[1]>11?1:n[2]<1||n[2]>Ye(n[0],n[1])?2:n[3]<0||n[3]>24||24===n[3]&&(0!==n[4]||0!==n[5]||0!==n[6])?3:n[4]<0||n[4]>59?4:n[5]<0||n[5]>59?5:n[6]<0||n[6]>999?6:-1,h(e)._overflowDayOfYear&&(t<0||t>2)&&(t=2),h(e)._overflowWeeks&&-1===t&&(t=7),h(e)._overflowWeekday&&-1===t&&(t=8),h(e).overflow=t),e}function ut(e,t,n){return null!=e?e:null!=t?t:n}function dt(e){var t,n,a,o,i,s=[];if(!e._d){for(a=function(e){var t=new Date(r.now());return e._useUTC?[t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()]:[t.getFullYear(),t.getMonth(),t.getDate()]}(e),e._w&&null==e._a[2]&&null==e._a[1]&&function(e){var t,n,a,r,o,i,s,u;if(null!=(t=e._w).GG||null!=t.W||null!=t.E)o=1,i=4,n=ut(t.GG,e._a[0],Ae(Yt(),1,4).year),a=ut(t.W,1),((r=ut(t.E,1))<1||r>7)&&(u=!0);else{o=e._locale._week.dow,i=e._locale._week.doy;var d=Ae(Yt(),o,i);n=ut(t.gg,e._a[0],d.year),a=ut(t.w,d.week),null!=t.d?((r=t.d)<0||r>6)&&(u=!0):null!=t.e?(r=t.e+o,(t.e<0||t.e>6)&&(u=!0)):r=o}a<1||a>Fe(n,o,i)?h(e)._overflowWeeks=!0:null!=u?h(e)._overflowWeekday=!0:(s=Ne(n,a,r,o,i),e._a[0]=s.year,e._dayOfYear=s.dayOfYear)}(e),null!=e._dayOfYear&&(i=ut(e._a[0],a[0]),(e._dayOfYear>ye(i)||0===e._dayOfYear)&&(h(e)._overflowDayOfYear=!0),n=ze(i,0,e._dayOfYear),e._a[1]=n.getUTCMonth(),e._a[2]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=s[t]=a[t];for(;t<7;t++)e._a[t]=s[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[3]&&0===e._a[4]&&0===e._a[5]&&0===e._a[6]&&(e._nextDay=!0,e._a[3]=0),e._d=(e._useUTC?ze:Pe).apply(null,s),o=e._useUTC?e._d.getUTCDay():e._d.getDay(),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[3]=24),e._w&&void 0!==e._w.d&&e._w.d!==o&&(h(e).weekdayMismatch=!0)}}var lt=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,mt=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,_t=/Z|[+-]\d\d(?::?\d\d)?/,ct=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],ht=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],pt=/^\/?Date\((\-?\d+)/i;function ft(e){var t,n,a,r,o,i,s=e._i,u=lt.exec(s)||mt.exec(s);if(u){for(h(e).iso=!0,t=0,n=ct.length;t0&&h(e).unusedInput.push(i),s=s.slice(s.indexOf(n)+n.length),d+=n.length),q[o]?(n?h(e).empty=!1:h(e).unusedTokens.push(o),fe(o,n,e)):e._strict&&!n&&h(e).unusedTokens.push(o);h(e).charsLeftOver=u-d,s.length>0&&h(e).unusedInput.push(s),e._a[3]<=12&&!0===h(e).bigHour&&e._a[3]>0&&(h(e).bigHour=void 0),h(e).parsedDateParts=e._a.slice(0),h(e).meridiem=e._meridiem,e._a[3]=function(e,t,n){var a;return null==n?t:null!=e.meridiemHour?e.meridiemHour(t,n):null!=e.isPM?((a=e.isPM(n))&&t<12&&(t+=12),a||12!==t||(t=0),t):t}(e._locale,e._a[3],e._meridiem),dt(e),st(e)}else Mt(e);else ft(e)}function Lt(e){var t=e._i,n=e._f;return e._locale=e._locale||it(e._l),null===t||void 0===n&&""===t?f({nullInput:!0}):("string"==typeof t&&(e._i=t=e._locale.preparse(t)),k(t)?new M(st(t)):(d(t)?e._d=t:o(n)?function(e){var t,n,a,r,o;if(0===e._f.length)return h(e).invalidFormat=!0,void(e._d=new Date(NaN));for(r=0;rthis?this:e:f()}));function Tt(e,t){var n,a;if(1===t.length&&o(t[0])&&(t=t[0]),!t.length)return Yt();for(n=t[0],a=1;a(o=Fe(e,a,r))&&(t=o),Xt.call(this,e,t,n,a,r))}function Xt(e,t,n,a,r){var o=Ne(e,t,n,a,r),i=ze(o.year,0,o.dayOfYear);return this.year(i.getUTCFullYear()),this.month(i.getUTCMonth()),this.date(i.getUTCDate()),this}V(0,["gg",2],0,(function(){return this.weekYear()%100})),V(0,["GG",2],0,(function(){return this.isoWeekYear()%100})),$t("gggg","weekYear"),$t("ggggg","weekYear"),$t("GGGG","isoWeekYear"),$t("GGGGG","isoWeekYear"),P("weekYear","gg"),P("isoWeekYear","GG"),A("weekYear",1),A("isoWeekYear",1),le("G",oe),le("g",oe),le("GG",Z,K),le("gg",Z,K),le("GGGG",ne,G),le("gggg",ne,G),le("GGGGG",ae,$),le("ggggg",ae,$),pe(["gggg","ggggg","GGGG","GGGGG"],(function(e,t,n,a){t[a.substr(0,2)]=b(e)})),pe(["gg","GG"],(function(e,t,n,a){t[a]=r.parseTwoDigitYear(e)})),V("Q",0,"Qo","quarter"),P("quarter","Q"),A("quarter",7),le("Q",U),he("Q",(function(e,t){t[1]=3*(b(e)-1)})),V("D",["DD",2],"Do","date"),P("date","D"),A("date",9),le("D",Z),le("DD",Z,K),le("Do",(function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient})),he(["D","DD"],2),he("Do",(function(e,t){t[2]=b(e.match(Z)[0])}));var en=ke("Date",!0);V("DDD",["DDDD",3],"DDDo","dayOfYear"),P("dayOfYear","DDD"),A("dayOfYear",4),le("DDD",te),le("DDDD",B),he(["DDD","DDDD"],(function(e,t,n){n._dayOfYear=b(e)})),V("m",["mm",2],0,"minute"),P("minute","m"),A("minute",14),le("m",Z),le("mm",Z,K),he(["m","mm"],4);var tn=ke("Minutes",!1);V("s",["ss",2],0,"second"),P("second","s"),A("second",15),le("s",Z),le("ss",Z,K),he(["s","ss"],5);var nn,an=ke("Seconds",!1);for(V("S",0,0,(function(){return~~(this.millisecond()/100)})),V(0,["SS",2],0,(function(){return~~(this.millisecond()/10)})),V(0,["SSS",3],0,"millisecond"),V(0,["SSSS",4],0,(function(){return 10*this.millisecond()})),V(0,["SSSSS",5],0,(function(){return 100*this.millisecond()})),V(0,["SSSSSS",6],0,(function(){return 1e3*this.millisecond()})),V(0,["SSSSSSS",7],0,(function(){return 1e4*this.millisecond()})),V(0,["SSSSSSSS",8],0,(function(){return 1e5*this.millisecond()})),V(0,["SSSSSSSSS",9],0,(function(){return 1e6*this.millisecond()})),P("millisecond","ms"),A("millisecond",16),le("S",te,U),le("SS",te,K),le("SSS",te,B),nn="SSSS";nn.length<=9;nn+="S")le(nn,re);function rn(e,t){t[6]=b(1e3*("0."+e))}for(nn="S";nn.length<=9;nn+="S")he(nn,rn);var on=ke("Milliseconds",!1);V("z",0,0,"zoneAbbr"),V("zz",0,0,"zoneName");var sn=M.prototype;function un(e){return e}sn.add=Jt,sn.calendar=function(e,t){var n=e||Yt(),a=zt(n,this).startOf("day"),o=r.calendarFormat(this,a)||"sameElse",i=t&&(H(t[o])?t[o].call(this,n):t[o]);return this.format(i||this.localeData().calendar(o,this,Yt(n)))},sn.clone=function(){return new M(this)},sn.diff=function(e,t,n){var a,r,o;if(!this.isValid())return NaN;if(!(a=zt(e,this)).isValid())return NaN;switch(r=6e4*(a.utcOffset()-this.utcOffset()),t=z(t)){case"year":o=Ut(this,a)/12;break;case"month":o=Ut(this,a);break;case"quarter":o=Ut(this,a)/3;break;case"second":o=(this-a)/1e3;break;case"minute":o=(this-a)/6e4;break;case"hour":o=(this-a)/36e5;break;case"day":o=(this-a-r)/864e5;break;case"week":o=(this-a-r)/6048e5;break;default:o=this-a}return n?o:L(o)},sn.endOf=function(e){return void 0===(e=z(e))||"millisecond"===e?this:("date"===e&&(e="day"),this.startOf(e).add(1,"isoWeek"===e?"week":e).subtract(1,"ms"))},sn.format=function(e){e||(e=this.isUtc()?r.defaultFormatUtc:r.defaultFormat);var t=J(this,e);return this.localeData().postformat(t)},sn.from=function(e,t){return this.isValid()&&(k(e)&&e.isValid()||Yt(e).isValid())?It({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},sn.fromNow=function(e){return this.from(Yt(),e)},sn.to=function(e,t){return this.isValid()&&(k(e)&&e.isValid()||Yt(e).isValid())?It({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()},sn.toNow=function(e){return this.to(Yt(),e)},sn.get=function(e){return H(this[e=z(e)])?this[e]():this},sn.invalidAt=function(){return h(this).overflow},sn.isAfter=function(e,t){var n=k(e)?e:Yt(e);return!(!this.isValid()||!n.isValid())&&("millisecond"===(t=z(s(t)?"millisecond":t))?this.valueOf()>n.valueOf():n.valueOf()9999?J(n,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):H(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+60*this.utcOffset()*1e3).toISOString().replace("Z",J(n,"Z")):J(n,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")},sn.inspect=function(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",t="";this.isLocal()||(e=0===this.utcOffset()?"moment.utc":"moment.parseZone",t="Z");var n="["+e+'("]',a=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",r=t+'[")]';return this.format(n+a+"-MM-DD[T]HH:mm:ss.SSS"+r)},sn.toJSON=function(){return this.isValid()?this.toISOString():null},sn.toString=function(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},sn.unix=function(){return Math.floor(this.valueOf()/1e3)},sn.valueOf=function(){return this._d.valueOf()-6e4*(this._offset||0)},sn.creationData=function(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}},sn.year=Me,sn.isLeapYear=function(){return ge(this.year())},sn.weekYear=function(e){return Zt.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)},sn.isoWeekYear=function(e){return Zt.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)},sn.quarter=sn.quarters=function(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)},sn.month=He,sn.daysInMonth=function(){return Ye(this.year(),this.month())},sn.week=sn.weeks=function(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")},sn.isoWeek=sn.isoWeeks=function(e){var t=Ae(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")},sn.weeksInYear=function(){var e=this.localeData()._week;return Fe(this.year(),e.dow,e.doy)},sn.isoWeeksInYear=function(){return Fe(this.year(),1,4)},sn.date=en,sn.day=sn.days=function(e){if(!this.isValid())return null!=e?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(e=function(e,t){return"string"!=typeof e?e:isNaN(e)?"number"==typeof(e=t.weekdaysParse(e))?e:null:parseInt(e,10)}(e,this.localeData()),this.add(e-t,"d")):t},sn.weekday=function(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")},sn.isoWeekday=function(e){if(!this.isValid())return null!=e?this:NaN;if(null!=e){var t=function(e,t){return"string"==typeof e?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}(e,this.localeData());return this.day(this.day()%7?t:t-7)}return this.day()||7},sn.dayOfYear=function(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d")},sn.hour=sn.hours=Ze,sn.minute=sn.minutes=tn,sn.second=sn.seconds=an,sn.millisecond=sn.milliseconds=on,sn.utcOffset=function(e,t,n){var a,o=this._offset||0;if(!this.isValid())return null!=e?this:NaN;if(null!=e){if("string"==typeof e){if(null===(e=Pt(se,e)))return this}else Math.abs(e)<16&&!n&&(e*=60);return!this._isUTC&&t&&(a=Ct(this)),this._offset=e,this._isUTC=!0,null!=a&&this.add(a,"m"),o!==e&&(!t||this._changeInProgress?Vt(this,It(e-o,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,r.updateOffset(this,!0),this._changeInProgress=null)),this}return this._isUTC?o:Ct(this)},sn.utc=function(e){return this.utcOffset(0,e)},sn.local=function(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(Ct(this),"m")),this},sn.parseZone=function(){if(null!=this._tzm)this.utcOffset(this._tzm,!1,!0);else if("string"==typeof this._i){var e=Pt(ie,this._i);null!=e?this.utcOffset(e):this.utcOffset(0,!0)}return this},sn.hasAlignedHourOffset=function(e){return!!this.isValid()&&(e=e?Yt(e).utcOffset():0,(this.utcOffset()-e)%60==0)},sn.isDST=function(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()},sn.isLocal=function(){return!!this.isValid()&&!this._isUTC},sn.isUtcOffset=function(){return!!this.isValid()&&this._isUTC},sn.isUtc=Nt,sn.isUTC=Nt,sn.zoneAbbr=function(){return this._isUTC?"UTC":""},sn.zoneName=function(){return this._isUTC?"Coordinated Universal Time":""},sn.dates=D("dates accessor is deprecated. Use date instead.",en),sn.months=D("months accessor is deprecated. Use month instead",He),sn.years=D("years accessor is deprecated. Use year instead",Me),sn.zone=D("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",(function(e,t){return null!=e?("string"!=typeof e&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()})),sn.isDSTShifted=D("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",(function(){if(!s(this._isDSTShifted))return this._isDSTShifted;var e={};if(g(e,this),(e=Lt(e))._a){var t=e._isUTC?c(e._a):Yt(e._a);this._isDSTShifted=this.isValid()&&Y(e._a,t.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}));var dn=O.prototype;function ln(e,t,n,a){var r=it(),o=c().set(a,t);return r[n](o,e)}function mn(e,t,n){if(u(e)&&(t=e,e=void 0),e=e||"",null!=t)return ln(e,t,n,"month");var a,r=[];for(a=0;a<12;a++)r[a]=ln(e,a,n,"month");return r}function _n(e,t,n,a){"boolean"==typeof e?(u(t)&&(n=t,t=void 0),t=t||""):(n=t=e,e=!1,u(t)&&(n=t,t=void 0),t=t||"");var r,o=it(),i=e?o._week.dow:0;if(null!=n)return ln(t,(n+i)%7,a,"day");var s=[];for(r=0;r<7;r++)s[r]=ln(t,(r+i)%7,a,"day");return s}dn.calendar=function(e,t,n){var a=this._calendar[e]||this._calendar.sameElse;return H(a)?a.call(t,n):a},dn.longDateFormat=function(e){var t=this._longDateFormat[e],n=this._longDateFormat[e.toUpperCase()];return t||!n?t:(this._longDateFormat[e]=n.replace(/MMMM|MM|DD|dddd/g,(function(e){return e.slice(1)})),this._longDateFormat[e])},dn.invalidDate=function(){return this._invalidDate},dn.ordinal=function(e){return this._ordinal.replace("%d",e)},dn.preparse=un,dn.postformat=un,dn.relativeTime=function(e,t,n,a){var r=this._relativeTime[n];return H(r)?r(e,t,n,a):r.replace(/%d/i,e)},dn.pastFuture=function(e,t){var n=this._relativeTime[e>0?"future":"past"];return H(n)?n(t):n.replace(/%s/i,t)},dn.set=function(e){var t,n;for(n in e)H(t=e[n])?this[n]=t:this["_"+n]=t;this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)},dn.months=function(e,t){return e?o(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||we).test(t)?"format":"standalone"][e.month()]:o(this._months)?this._months:this._months.standalone},dn.monthsShort=function(e,t){return e?o(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[we.test(t)?"format":"standalone"][e.month()]:o(this._monthsShort)?this._monthsShort:this._monthsShort.standalone},dn.monthsParse=function(e,t,n){var a,r,o;if(this._monthsParseExact)return je.call(this,e,t,n);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),a=0;a<12;a++){if(r=c([2e3,a]),n&&!this._longMonthsParse[a]&&(this._longMonthsParse[a]=new RegExp("^"+this.months(r,"").replace(".","")+"$","i"),this._shortMonthsParse[a]=new RegExp("^"+this.monthsShort(r,"").replace(".","")+"$","i")),n||this._monthsParse[a]||(o="^"+this.months(r,"")+"|^"+this.monthsShort(r,""),this._monthsParse[a]=new RegExp(o.replace(".",""),"i")),n&&"MMMM"===t&&this._longMonthsParse[a].test(e))return a;if(n&&"MMM"===t&&this._shortMonthsParse[a].test(e))return a;if(!n&&this._monthsParse[a].test(e))return a}},dn.monthsRegex=function(e){return this._monthsParseExact?(m(this,"_monthsRegex")||Ee.call(this),e?this._monthsStrictRegex:this._monthsRegex):(m(this,"_monthsRegex")||(this._monthsRegex=Oe),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)},dn.monthsShortRegex=function(e){return this._monthsParseExact?(m(this,"_monthsRegex")||Ee.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(m(this,"_monthsShortRegex")||(this._monthsShortRegex=xe),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)},dn.week=function(e){return Ae(e,this._week.dow,this._week.doy).week},dn.firstDayOfYear=function(){return this._week.doy},dn.firstDayOfWeek=function(){return this._week.dow},dn.weekdays=function(e,t){return e?o(this._weekdays)?this._weekdays[e.day()]:this._weekdays[this._weekdays.isFormat.test(t)?"format":"standalone"][e.day()]:o(this._weekdays)?this._weekdays:this._weekdays.standalone},dn.weekdaysMin=function(e){return e?this._weekdaysMin[e.day()]:this._weekdaysMin},dn.weekdaysShort=function(e){return e?this._weekdaysShort[e.day()]:this._weekdaysShort},dn.weekdaysParse=function(e,t,n){var a,r,o;if(this._weekdaysParseExact)return qe.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),a=0;a<7;a++){if(r=c([2e3,1]).day(a),n&&!this._fullWeekdaysParse[a]&&(this._fullWeekdaysParse[a]=new RegExp("^"+this.weekdays(r,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[a]=new RegExp("^"+this.weekdaysShort(r,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[a]=new RegExp("^"+this.weekdaysMin(r,"").replace(".",".?")+"$","i")),this._weekdaysParse[a]||(o="^"+this.weekdays(r,"")+"|^"+this.weekdaysShort(r,"")+"|^"+this.weekdaysMin(r,""),this._weekdaysParse[a]=new RegExp(o.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[a].test(e))return a;if(n&&"ddd"===t&&this._shortWeekdaysParse[a].test(e))return a;if(n&&"dd"===t&&this._minWeekdaysParse[a].test(e))return a;if(!n&&this._weekdaysParse[a].test(e))return a}},dn.weekdaysRegex=function(e){return this._weekdaysParseExact?(m(this,"_weekdaysRegex")||Ue.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(m(this,"_weekdaysRegex")||(this._weekdaysRegex=Ve),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)},dn.weekdaysShortRegex=function(e){return this._weekdaysParseExact?(m(this,"_weekdaysRegex")||Ue.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(m(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=Je),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)},dn.weekdaysMinRegex=function(e){return this._weekdaysParseExact?(m(this,"_weekdaysRegex")||Ue.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(m(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Qe),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)},dn.isPM=function(e){return"p"===(e+"").toLowerCase().charAt(0)},dn.meridiem=function(e,t,n){return e>11?n?"pm":"PM":n?"am":"AM"},rt("en",{dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1===b(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")}}),r.lang=D("moment.lang is deprecated. Use moment.locale instead.",rt),r.langData=D("moment.langData is deprecated. Use moment.localeData instead.",it);var cn=Math.abs;function hn(e,t,n,a){var r=It(t,n);return e._milliseconds+=a*r._milliseconds,e._days+=a*r._days,e._months+=a*r._months,e._bubble()}function pn(e){return e<0?Math.floor(e):Math.ceil(e)}function fn(e){return 4800*e/146097}function yn(e){return 146097*e/4800}function gn(e){return function(){return this.as(e)}}var vn=gn("ms"),Mn=gn("s"),kn=gn("m"),Ln=gn("h"),bn=gn("d"),Yn=gn("w"),wn=gn("M"),Dn=gn("y");function Tn(e){return function(){return this.isValid()?this._data[e]:NaN}}var jn=Tn("milliseconds"),Sn=Tn("seconds"),Hn=Tn("minutes"),xn=Tn("hours"),On=Tn("days"),En=Tn("months"),Pn=Tn("years"),zn=Math.round,Cn={ss:44,s:45,m:45,h:22,d:26,M:11};function Nn(e,t,n,a,r){return r.relativeTime(t||1,!!n,e,a)}var An=Math.abs;function Fn(e){return(e>0)-(e<0)||+e}function In(){if(!this.isValid())return this.localeData().invalidDate();var e,t,n=An(this._milliseconds)/1e3,a=An(this._days),r=An(this._months);e=L(n/60),t=L(e/60),n%=60,e%=60;var o=L(r/12),i=r%=12,s=a,u=t,d=e,l=n?n.toFixed(3).replace(/\.?0+$/,""):"",m=this.asSeconds();if(!m)return"P0D";var _=m<0?"-":"",c=Fn(this._months)!==Fn(m)?"-":"",h=Fn(this._days)!==Fn(m)?"-":"",p=Fn(this._milliseconds)!==Fn(m)?"-":"";return _+"P"+(o?c+o+"Y":"")+(i?c+i+"M":"")+(s?h+s+"D":"")+(u||d||l?"T":"")+(u?p+u+"H":"")+(d?p+d+"M":"")+(l?p+l+"S":"")}var Wn=St.prototype;return Wn.isValid=function(){return this._isValid},Wn.abs=function(){var e=this._data;return this._milliseconds=cn(this._milliseconds),this._days=cn(this._days),this._months=cn(this._months),e.milliseconds=cn(e.milliseconds),e.seconds=cn(e.seconds),e.minutes=cn(e.minutes),e.hours=cn(e.hours),e.months=cn(e.months),e.years=cn(e.years),this},Wn.add=function(e,t){return hn(this,e,t,1)},Wn.subtract=function(e,t){return hn(this,e,t,-1)},Wn.as=function(e){if(!this.isValid())return NaN;var t,n,a=this._milliseconds;if("month"===(e=z(e))||"year"===e)return t=this._days+a/864e5,n=this._months+fn(t),"month"===e?n:n/12;switch(t=this._days+Math.round(yn(this._months)),e){case"week":return t/7+a/6048e5;case"day":return t+a/864e5;case"hour":return 24*t+a/36e5;case"minute":return 1440*t+a/6e4;case"second":return 86400*t+a/1e3;case"millisecond":return Math.floor(864e5*t)+a;default:throw new Error("Unknown unit "+e)}},Wn.asMilliseconds=vn,Wn.asSeconds=Mn,Wn.asMinutes=kn,Wn.asHours=Ln,Wn.asDays=bn,Wn.asWeeks=Yn,Wn.asMonths=wn,Wn.asYears=Dn,Wn.valueOf=function(){return this.isValid()?this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*b(this._months/12):NaN},Wn._bubble=function(){var e,t,n,a,r,o=this._milliseconds,i=this._days,s=this._months,u=this._data;return o>=0&&i>=0&&s>=0||o<=0&&i<=0&&s<=0||(o+=864e5*pn(yn(s)+i),i=0,s=0),u.milliseconds=o%1e3,e=L(o/1e3),u.seconds=e%60,t=L(e/60),u.minutes=t%60,n=L(t/60),u.hours=n%24,i+=L(n/24),r=L(fn(i)),s+=r,i-=pn(yn(r)),a=L(s/12),s%=12,u.days=i,u.months=s,u.years=a,this},Wn.clone=function(){return It(this)},Wn.get=function(e){return e=z(e),this.isValid()?this[e+"s"]():NaN},Wn.milliseconds=jn,Wn.seconds=Sn,Wn.minutes=Hn,Wn.hours=xn,Wn.days=On,Wn.weeks=function(){return L(this.days()/7)},Wn.months=En,Wn.years=Pn,Wn.humanize=function(e){if(!this.isValid())return this.localeData().invalidDate();var t=this.localeData(),n=function(e,t,n){var a=It(e).abs(),r=zn(a.as("s")),o=zn(a.as("m")),i=zn(a.as("h")),s=zn(a.as("d")),u=zn(a.as("M")),d=zn(a.as("y")),l=r<=Cn.ss&&["s",r]||r0,l[4]=n,Nn.apply(null,l)}(this,!e,t);return e&&(n=t.pastFuture(+this,n)),t.postformat(n)},Wn.toISOString=In,Wn.toString=In,Wn.toJSON=In,Wn.locale=Kt,Wn.localeData=Gt,Wn.toIsoString=D("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",In),Wn.lang=Bt,V("X",0,0,"unix"),V("x",0,0,"valueOf"),le("x",oe),le("X",/[+-]?\d+(\.\d{1,3})?/),he("X",(function(e,t,n){n._d=new Date(1e3*parseFloat(e,10))})),he("x",(function(e,t,n){n._d=new Date(b(e))})),r.version="2.21.0",t=Yt,r.fn=sn,r.min=function(){var e=[].slice.call(arguments,0);return Tt("isBefore",e)},r.max=function(){var e=[].slice.call(arguments,0);return Tt("isAfter",e)},r.now=function(){return Date.now?Date.now():+new Date},r.utc=c,r.unix=function(e){return Yt(1e3*e)},r.months=function(e,t){return mn(e,t,"months")},r.isDate=d,r.locale=rt,r.invalid=f,r.duration=It,r.isMoment=k,r.weekdays=function(e,t,n){return _n(e,t,n,"weekdays")},r.parseZone=function(){return Yt.apply(null,arguments).parseZone()},r.localeData=it,r.isDuration=Ht,r.monthsShort=function(e,t){return mn(e,t,"monthsShort")},r.weekdaysMin=function(e,t,n){return _n(e,t,n,"weekdaysMin")},r.defineLocale=ot,r.updateLocale=function(e,t){if(null!=t){var n,a,r=Xe;null!=(a=at(e))&&(r=a._config),t=x(r,t),(n=new O(t)).parentLocale=et[e],et[e]=n,rt(e)}else null!=et[e]&&(null!=et[e].parentLocale?et[e]=et[e].parentLocale:null!=et[e]&&delete et[e]);return et[e]},r.locales=function(){return T(et)},r.weekdaysShort=function(e,t,n){return _n(e,t,n,"weekdaysShort")},r.normalizeUnits=z,r.relativeTimeRounding=function(e){return void 0===e?zn:"function"==typeof e&&(zn=e,!0)},r.relativeTimeThreshold=function(e,t){return void 0!==Cn[e]&&(void 0===t?Cn[e]:(Cn[e]=t,"s"===e&&(Cn.ss=t-1),!0))},r.calendarFormat=function(e,t){var n=e.diff(t,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"},r.prototype=sn,r.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"YYYY-[W]WW",MONTH:"YYYY-MM"},r}()}).call(this,n(20)(e))},function(e,t,n){"use strict";function a(e,t,n,r){if(function(e){return"IntValue"===e.kind}(n)||function(e){return"FloatValue"===e.kind}(n))e[t.value]=Number(n.value);else if(function(e){return"BooleanValue"===e.kind}(n)||function(e){return"StringValue"===e.kind}(n))e[t.value]=n.value;else if(function(e){return"ObjectValue"===e.kind}(n)){var o={};n.fields.map((function(e){return a(o,e.name,e.value,r)})),e[t.value]=o}else if(function(e){return"Variable"===e.kind}(n)){var i=(r||{})[n.name.value];e[t.value]=i}else if(function(e){return"ListValue"===e.kind}(n))e[t.value]=n.values.map((function(e){var n={};return a(n,t,e,r),n[t.value]}));else if(function(e){return"EnumValue"===e.kind}(n))e[t.value]=n.value;else{if(!function(e){return"NullValue"===e.kind}(n))throw new Error('The inline argument "'+t.value+'" of kind "'+n.kind+'" is not supported.\n Use variables instead of inline arguments to overcome this limitation.');e[t.value]=null}}function r(e,t){var n=null;e.directives&&(n={},e.directives.forEach((function(e){n[e.name.value]={},e.arguments&&e.arguments.forEach((function(r){var o=r.name,i=r.value;return a(n[e.name.value],o,i,t)}))})));var r=null;return e.arguments&&e.arguments.length&&(r={},e.arguments.forEach((function(e){var n=e.name,o=e.value;return a(r,n,o,t)}))),i(e.name.value,r,n)}n.d(t,"f",(function(){return h})),n.d(t,"A",(function(){return p})),n.d(t,"p",(function(){return g})),n.d(t,"h",(function(){return M})),n.d(t,"j",(function(){return L})),n.d(t,"k",(function(){return Y})),n.d(t,"l",(function(){return D})),n.d(t,"g",(function(){return T})),n.d(t,"m",(function(){return j})),n.d(t,"i",(function(){return S})),n.d(t,"d",(function(){return H})),n.d(t,"e",(function(){return x})),n.d(t,"a",(function(){return A})),n.d(t,"y",(function(){return W})),n.d(t,"B",(function(){return r})),n.d(t,"n",(function(){return i})),n.d(t,"b",(function(){return s})),n.d(t,"z",(function(){return u})),n.d(t,"r",(function(){return d})),n.d(t,"t",(function(){return l})),n.d(t,"s",(function(){return m})),n.d(t,"C",(function(){return _})),n.d(t,"u",(function(){return c})),n.d(t,"c",(function(){return k})),n.d(t,"v",(function(){return R.b})),n.d(t,"w",(function(){return R.c})),n.d(t,"D",(function(){return q})),n.d(t,"o",(function(){return V})),n.d(t,"q",(function(){return J})),n.d(t,"x",(function(){return Q})),n.d(t,"E",(function(){return K}));var o=["connection","include","skip","client","rest","export"];function i(e,t,n){if(n&&n.connection&&n.connection.key){if(n.connection.filter&&n.connection.filter.length>0){var a=n.connection.filter?n.connection.filter:[];a.sort();var r=t,i={};return a.forEach((function(e){i[e]=r[e]})),n.connection.key+"("+JSON.stringify(i)+")"}return n.connection.key}var s=e;if(t){var u=JSON.stringify(t);s+="("+u+")"}return n&&Object.keys(n).forEach((function(e){-1===o.indexOf(e)&&(n[e]&&Object.keys(n[e]).length?s+="@"+e+"("+JSON.stringify(n[e])+")":s+="@"+e)})),s}function s(e,t){if(e.arguments&&e.arguments.length){var n={};return e.arguments.forEach((function(e){var r=e.name,o=e.value;return a(n,r,o,t)})),n}return null}function u(e){return e.alias?e.alias.value:e.name.value}function d(e){return"Field"===e.kind}function l(e){return"InlineFragment"===e.kind}function m(e){return e&&"id"===e.type}function _(e,t){return void 0===t&&(t=!1),{type:"id",id:e,generated:t}}function c(e){return null!=e&&"object"==typeof e&&"json"===e.type}function h(e,t){if(e.directives&&e.directives.length){var n={};return e.directives.forEach((function(e){n[e.name.value]=s(e,t)})),n}return null}function p(e,t){if(void 0===t&&(t={}),!e.directives)return!0;var n=!0;return e.directives.forEach((function(e){if("skip"===e.name.value||"include"===e.name.value){var a=e.arguments||[],r=e.name.value;if(1!==a.length)throw new Error("Incorrect number of arguments for the @"+r+" directive.");var o=a[0];if(!o.name||"if"!==o.name.value)throw new Error("Invalid argument for the @"+r+" directive.");var i=a[0].value,s=!1;if(i&&"BooleanValue"===i.kind)s=i.value;else{if("Variable"!==i.kind)throw new Error("Argument for the @"+r+" directive must be a variable or a boolean value.");if(void 0===(s=t[i.name.value]))throw new Error("Invalid variable referenced in @"+r+" directive.")}"skip"===r&&(s=!s),s||(n=!1)}})),n}var f=new Map;function y(e){var t=f.get(e);if(t)return t;var n=e.definitions.filter((function(e){return e.selectionSet&&e.selectionSet.selections})).map((function(e){return function e(t){return t.selectionSet&&t.selectionSet.selections.length>0?[t].concat(t.selectionSet.selections.map((function(t){return[t].concat(e(t))})).reduce((function(e,t){return e.concat(t)}),[])):[t]}(e)})).reduce((function(e,t){return e.concat(t)}),[]).filter((function(e){return e.directives&&e.directives.length>0})).map((function(e){return e.directives})).reduce((function(e,t){return e.concat(t)}),[]).map((function(e){return e.name.value}));return f.set(e,n),n}function g(e,t){return y(t).some((function(t){return e.indexOf(t)>-1}))}var v=Object.assign||function(e){for(var t,n=1,a=arguments.length;n1)throw new Error("Ambiguous GraphQL document: contains "+t.length+" operations")}function Y(e){return b(e),e.definitions.filter((function(e){return"OperationDefinition"===e.kind}))[0]}function w(e){var t=Y(e);if(!t)throw new Error("GraphQL document is missing an operation");return t}function D(e){return e.definitions.filter((function(e){return"OperationDefinition"===e.kind&&e.name})).map((function(e){return e.name.value}))[0]||null}function T(e){return e.definitions.filter((function(e){return"FragmentDefinition"===e.kind}))}function j(e){var t=Y(e);if(!t||"query"!==t.operation)throw new Error("Must contain a query definition.");return t}function S(e){var t;b(e);for(var n=0,a=e.definitions;n0}function z(e){return function(t){return e.some((function(e){return!(!e.name||e.name!==t.name.value)||!(!e.test||!e.test(t))}))}}function C(e,t){var n=O(t);return n.definitions.forEach((function(t){!function e(t,n){if(!n.selections)return n;var a=t.some((function(e){return e.remove}));return n.selections=n.selections.map((function(e){if("Field"!==e.kind||!e||!e.directives)return e;var n,r=z(t);return e.directives=e.directives.filter((function(e){var t=!r(e);return n||t||!a||(n=!0),t})),n?null:e})).filter((function(e){return!!e})),n.selections.forEach((function(n){"Field"!==n.kind&&"InlineFragment"!==n.kind||!n.selectionSet||e(t,n.selectionSet)})),n}(e,t.selectionSet)})),P(w(n),H(T(n)))?n:null}var N=new Map;function A(e){b(e);var t=N.get(e);if(t)return t;var n=O(e);return n.definitions.forEach((function(e){var t="OperationDefinition"===e.kind;!function e(t,n){if(void 0===n&&(n=!1),t.selections){if(!n)t.selections.some((function(e){return"Field"===e.kind&&"__typename"===e.name.value}))||t.selections.push(E);t.selections.forEach((function(t){"Field"===t.kind?0!==t.name.value.lastIndexOf("__",0)&&t.selectionSet&&e(t.selectionSet):"InlineFragment"===t.kind&&t.selectionSet&&e(t.selectionSet)}))}}(e.selectionSet,t)})),N.set(e,n),n}var F={test:function(e){var t="connection"===e.name.value;return t&&(e.arguments&&e.arguments.some((function(e){return"key"===e.name.value}))||console.warn("Removing an @connection directive even though it does not have a key. You may want to use the key parameter to specify a store key.")),t}},I=new Map;function W(e){b(e);var t=I.get(e);if(t)return t;var n=C([F],e);return I.set(e,n),n}var R=n(6);function q(e){try{return e()}catch(e){console.error&&console.error(e)}}function V(e){return e.errors&&e.errors.length}function J(e,t){if(e===t)return!0;if(e instanceof Date&&t instanceof Date)return e.getTime()===t.getTime();if(null!=e&&"object"==typeof e&&null!=t&&"object"==typeof t){for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){if(!Object.prototype.hasOwnProperty.call(t,n))return!1;if(!J(e[n],t[n]))return!1}for(var n in t)if(!Object.prototype.hasOwnProperty.call(e,n))return!1;return!0}return!1}function Q(e){return Object(R.a)()||Object(R.c)()?function e(t){return Object.freeze(t),Object.getOwnPropertyNames(t).forEach((function(n){!t.hasOwnProperty(n)||null===t[n]||"object"!=typeof t[n]&&"function"!=typeof t[n]||Object.isFrozen(t[n])||e(t[n])})),t}(e):e}var U=Object.create({});function K(e,t){if(void 0===t&&(t="warn"),!Object(R.b)()&&!U[e])switch(Object(R.c)()||(U[e]=!0),t){case"error":console.error(e);break;default:console.warn(e)}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return v})),n.d(t,"c",(function(){return M})),n.d(t,"d",(function(){return m})),n.d(t,"b",(function(){return r}));var a,r=n(243),o=n(1),i=n(4),s=(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,t){function n(){this.constructor=e}a(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),u=Object.assign||function(e){for(var t,n=1,a=arguments.length;n'),this.client},d.prototype.calculateOptions=function(e,t){void 0===e&&(e=this.props);var n=_(e);if(t&&t.variables&&(t.variables=M({},n.variables,t.variables)),t&&(n=M({},n,t)),n.variables||!p.variables.length)return n;for(var a={},o=0,i=p.variables;o'),n}return j(i,o),i.prototype.getWrappedInstance=function(){return S(n.withRef,"To access the wrapped instance, you need to specify { withRef: true } in the options"),this.wrappedInstance},i.prototype.setWrappedInstance=function(e){this.wrappedInstance=e},i.prototype.render=function(){var a=H({},this.props);return a.client=this.client,n.withRef&&(a.ref=this.setWrappedInstance),t.createElement(e,a)},i.displayName=r,i.WrappedComponent=e,i.contextTypes={client:a.object.isRequired},i}(t.Component);return x(o,e,{})},e.getDataFromTree=function e(t,n,a){void 0===n&&(n={}),void 0===a&&(a=!0);var r=E({rootElement:t,rootContext:n},a);if(!r.length)return Promise.resolve();var o=[],i=r.map((function(t){var n=t.query,a=t.element,r=t.context;return n.then((function(t){return e(a,r,!1)})).catch((function(e){return o.push(e)}))}));return Promise.all(i).then((function(e){if(o.length>0){var t=1===o.length?o[0]:new Error(o.length+" errors were thrown when executing your GraphQL queries.");throw t.queryErrors=o,t}}))},Object.defineProperty(e,"__esModule",{value:!0})}(t,n(3),n(8),n(237))},function(e,t,n){"use strict";function a(e){return function(){return e}}var r=function(){};r.thatReturns=a,r.thatReturnsFalse=a(!1),r.thatReturnsTrue=a(!0),r.thatReturnsNull=a(null),r.thatReturnsThis=function(){return this},r.thatReturnsArgument=function(e){return e},e.exports=r},function(e,t,n){"use strict";e.exports=function(e,t,n,a,r,o,i,s){if(!e){var u;if(void 0===t)u=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var d=[n,a,r,o,i,s],l=0;(u=new Error(t.replace(/%s/g,(function(){return d[l++]})))).name="Invariant Violation"}throw u.framesToPop=1,u}}},function(e,t,n){var a={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"GetComments"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"commentableId"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"commentableType"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"orderBy"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"singleCommentId"}},type:{kind:"NamedType",name:{kind:"Name",value:"String"}}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"locale"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"toggleTranslations"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Boolean"}}}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"limit"}},type:{kind:"NamedType",name:{kind:"Name",value:"Int"}}}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"session"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"user"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"name"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"nickname"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"avatarUrl"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"organizationName"},arguments:[],directives:[]}]}},{kind:"FragmentSpread",name:{kind:"Name",value:"AddCommentFormSession"},directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"commentable"},arguments:[{kind:"Argument",name:{kind:"Name",value:"id"},value:{kind:"Variable",name:{kind:"Name",value:"commentableId"}}},{kind:"Argument",name:{kind:"Name",value:"type"},value:{kind:"Variable",name:{kind:"Name",value:"commentableType"}}},{kind:"Argument",name:{kind:"Name",value:"locale"},value:{kind:"Variable",name:{kind:"Name",value:"locale"}}},{kind:"Argument",name:{kind:"Name",value:"toggleTranslations"},value:{kind:"Variable",name:{kind:"Name",value:"toggleTranslations"}}}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"acceptsNewComments"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"userAllowedToComment"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"commentsHaveAlignment"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"commentsHaveVotes"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"totalCommentsCount"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"comments"},arguments:[{kind:"Argument",name:{kind:"Name",value:"orderBy"},value:{kind:"Variable",name:{kind:"Name",value:"orderBy"}}},{kind:"Argument",name:{kind:"Name",value:"singleCommentId"},value:{kind:"Variable",name:{kind:"Name",value:"singleCommentId"}}},{kind:"Argument",name:{kind:"Name",value:"limit"},value:{kind:"Variable",name:{kind:"Name",value:"limit"}}}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"},arguments:[],directives:[]},{kind:"FragmentSpread",name:{kind:"Name",value:"CommentThread"},directives:[]}]}},{kind:"FragmentSpread",name:{kind:"Name",value:"AddCommentFormCommentable"},directives:[]}]}}]}}],loc:{start:0,end:892}};a.loc.source={body:'#import "../fragments/add_comment_form_session.fragment.graphql"\n#import "../fragments/comment_thread.fragment.graphql"\n#import "../fragments/add_comment_form_commentable.fragment.graphql"\nquery GetComments($commentableId: String!, $commentableType: String!, $orderBy: String, $singleCommentId: String, $locale: String!, $toggleTranslations: Boolean!, $limit: Int) {\n session {\n user {\n name\n nickname\n avatarUrl\n organizationName\n }\n ...AddCommentFormSession\n }\n commentable(id: $commentableId, type: $commentableType, locale: $locale, toggleTranslations: $toggleTranslations) {\n acceptsNewComments\n userAllowedToComment\n commentsHaveAlignment\n commentsHaveVotes\n totalCommentsCount\n comments(orderBy: $orderBy, singleCommentId: $singleCommentId, limit: $limit) {\n id\n ...CommentThread\n }\n ...AddCommentFormCommentable\n }\n}\n',name:"GraphQL request",locationOffset:{line:1,column:1}};var r={};function o(e){return e.filter((function(e){if("FragmentDefinition"!==e.kind)return!0;var t=e.name.value;return!r[t]&&(r[t]=!0,!0)}))}a.definitions=a.definitions.concat(o(n(262).definitions)),a.definitions=a.definitions.concat(o(n(148).definitions)),a.definitions=a.definitions.concat(o(n(263).definitions));var i={};function s(e,t){return e.definitions.find((function(e){return!!e.name&&e.name.value==t}))}a.definitions.forEach((function(e){if(e.name){var t=new Set;!function e(t,n){if("FragmentSpread"===t.kind)n.add(t.name.value);else if("VariableDefinition"===t.kind){var a=t.type;"NamedType"===a.kind&&n.add(a.name.value)}t.selectionSet&&t.selectionSet.selections.forEach((function(t){e(t,n)})),t.variableDefinitions&&t.variableDefinitions.forEach((function(t){e(t,n)})),t.definitions&&t.definitions.forEach((function(t){e(t,n)}))}(e,t),i[e.name.value]=t}})),e.exports=a,e.exports.GetComments=function(e,t){var n=Object.assign({},e),a=s(e,t);n.definitions=[a];for(var r=i[t]||new Set,o=new Set,u=new Set(r);u.size>0;){var d=u;u=new Set,d.forEach((function(e){o.has(e)||(o.add(e),(i[e]||new Set).forEach((function(e){u.add(e)})))}))}return o.forEach((function(t){var a=s(e,t);a&&n.definitions.push(a)})),n}(a,"GetComments")},function(e,t,n){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0});var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r=s(n(247)),o=s(n(0));n(251);var i=s(n(15));function s(e){return e&&e.__esModule?e:{default:e}}t.default={_localeKey:"en",_translationsObject:{},_getTranslations:null,_getLocale:null,_handleMissingTranslation:function(e){return e.split(".").pop()},get _translations(){return this._getTranslations?this._getTranslations():this._translationsObject},set _translations(e){this._translationsObject=e},get _locale(){return this._getLocale?this._getLocale():this._localeKey},set _locale(e){this._localeKey=e},setLocale:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this._locale=e,t&&this.forceComponentsUpdate()},setTranslations:function(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this._translations=e,t&&this.forceComponentsUpdate()},loadTranslations:function(e){console.error("I18n.loadTranslations is deprecated, please use I18n.setTranslations instead"),this.setTranslations(e)},setTranslationsGetter:function(e){if("function"!=typeof e)throw new Error("Translations getter must be a function");this._getTranslations=e},setLocaleGetter:function(e){if("function"!=typeof e)throw new Error("Locale getter must be a function");this._getLocale=e},setHandleMissingTranslation:function(e){if("function"!=typeof e)throw new Error("Handle missing translation must be a function");this._handleMissingTranslation=e},t:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this._translate(e,t)},l:function(e,t){return this._localize(e,t)},_replace:function(e,t){var n=this;if("string"==typeof e){var r=e;return Object.keys(t).forEach((function(e){r=r.split("%{"+e+"}").join(t[e])})),r}if("object"===(void 0===e?"undefined":a(e))){var o={};return Object.keys(e).forEach((function(a){o[a]=n._replace(e[a],t)})),o}return null},_translate:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n="";try{var a=this._translations[this._locale]?this._locale:this._locale.split("-")[0];n=this._fetchTranslation(this._translations,a+"."+e,t.count)}catch(n){return this._handleMissingTranslation(e,t)}return this._replace(n,t)},_localize:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return n.dateFormat?(0,o.default)(t,n.parseFormat,this._locale,Boolean(n.strictParse)).format(this.t(n.dateFormat)):"number"==typeof t?(e.Intl?Intl.NumberFormat&&1===Intl.NumberFormat.supportedLocalesOf(this._locale).length||(Intl.NumberFormat=r.default.NumberFormat):e.Intl=r.default,new Intl.NumberFormat(this._locale,n).format(t)):t},_fetchTranslation:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=t.indexOf(".");if(void 0===e)throw new Error("not found");if(a>-1)return this._fetchTranslation(e[t.substring(0,a)],t.substr(a+1),n);if(null!==n){if(e[t+"_"+n])return e[t+"_"+n];if(1!==n&&e[t+"_plural"])return e[t+"_plural"]}if(e[t])return e[t];throw new Error("not found")},forceComponentsUpdate:function(){i.default.rerenderAll()}}}).call(this,n(7))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a,r=function(){function e(e,t){for(var n=0;n=20?"ste":"de")},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},a=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},r={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},o=function(e){return function(t,n,o,i){var s=a(t),u=r[e][a(t)];return 2===s&&(u=u[n?0:1]),u.replace(/%d/i,t)}},i=["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"];e.defineLocale("ar",{months:i,monthsShort:i,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(e){return"م"===e},meridiem:function(e,t,n){return e<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:o("s"),ss:o("s"),m:o("m"),mm:o("m"),h:o("h"),hh:o("h"),d:o("d"),dd:o("d"),M:o("M"),MM:o("M"),y:o("y"),yy:o("y")},preparse:function(e){return e.replace(/[١٢٣٤٥٦٧٨٩٠]/g,(function(e){return n[e]})).replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,(function(e){return t[e]})).replace(/,/g,"،")},week:{dow:6,doy:12}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("ar-dz",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"أح_إث_ثلا_أر_خم_جم_سب".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("ar-kw",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:12}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},n=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},a={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},r=function(e){return function(t,r,o,i){var s=n(t),u=a[e][n(t)];return 2===s&&(u=u[r?0:1]),u.replace(/%d/i,t)}},o=["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"];e.defineLocale("ar-ly",{months:o,monthsShort:o,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(e){return"م"===e},meridiem:function(e,t,n){return e<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:r("s"),ss:r("s"),m:r("m"),mm:r("m"),h:r("h"),hh:r("h"),d:r("d"),dd:r("d"),M:r("M"),MM:r("M"),y:r("y"),yy:r("y")},preparse:function(e){return e.replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,(function(e){return t[e]})).replace(/,/g,"،")},week:{dow:6,doy:12}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("ar-ma",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:6,doy:12}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},n={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"};e.defineLocale("ar-sa",{months:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(e){return"م"===e},meridiem:function(e,t,n){return e<12?"ص":"م"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},preparse:function(e){return e.replace(/[١٢٣٤٥٦٧٨٩٠]/g,(function(e){return n[e]})).replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,(function(e){return t[e]})).replace(/,/g,"،")},week:{dow:0,doy:6}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("ar-tn",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-üncü",4:"-üncü",100:"-üncü",6:"-ncı",9:"-uncu",10:"-uncu",30:"-uncu",60:"-ıncı",90:"-ıncı"};e.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə".split("_"),weekdaysShort:"Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən".split("_"),weekdaysMin:"Bz_BE_ÇA_Çə_CA_Cü_Şə".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[gələn həftə] dddd [saat] LT",lastDay:"[dünən] LT",lastWeek:"[keçən həftə] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s əvvəl",s:"birneçə saniyyə",ss:"%d saniyə",m:"bir dəqiqə",mm:"%d dəqiqə",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gecə|səhər|gündüz|axşam/,isPM:function(e){return/^(gündüz|axşam)$/.test(e)},meridiem:function(e,t,n){return e<4?"gecə":e<12?"səhər":e<17?"gündüz":"axşam"},dayOfMonthOrdinalParse:/\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,ordinal:function(e){if(0===e)return e+"-ıncı";var n=e%10;return e+(t[n]||t[e%100-n]||t[e>=100?100:null])},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";function t(e,t,n){var a,r;return"m"===n?t?"хвіліна":"хвіліну":"h"===n?t?"гадзіна":"гадзіну":e+" "+(a=+e,r={ss:t?"секунда_секунды_секунд":"секунду_секунды_секунд",mm:t?"хвіліна_хвіліны_хвілін":"хвіліну_хвіліны_хвілін",hh:t?"гадзіна_гадзіны_гадзін":"гадзіну_гадзіны_гадзін",dd:"дзень_дні_дзён",MM:"месяц_месяцы_месяцаў",yy:"год_гады_гадоў"}[n].split("_"),a%10==1&&a%100!=11?r[0]:a%10>=2&&a%10<=4&&(a%100<10||a%100>=20)?r[1]:r[2])}e.defineLocale("be",{months:{format:"студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня".split("_"),standalone:"студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань".split("_")},monthsShort:"студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж".split("_"),weekdays:{format:"нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу".split("_"),standalone:"нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота".split("_"),isFormat:/\[ ?[Вв] ?(?:мінулую|наступную)? ?\] ?dddd/},weekdaysShort:"нд_пн_ат_ср_чц_пт_сб".split("_"),weekdaysMin:"нд_пн_ат_ср_чц_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сёння ў] LT",nextDay:"[Заўтра ў] LT",lastDay:"[Учора ў] LT",nextWeek:function(){return"[У] dddd [ў] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[У мінулую] dddd [ў] LT";case 1:case 2:case 4:return"[У мінулы] dddd [ў] LT"}},sameElse:"L"},relativeTime:{future:"праз %s",past:"%s таму",s:"некалькі секунд",m:t,mm:t,h:t,hh:t,d:"дзень",dd:t,M:"месяц",MM:t,y:"год",yy:t},meridiemParse:/ночы|раніцы|дня|вечара/,isPM:function(e){return/^(дня|вечара)$/.test(e)},meridiem:function(e,t,n){return e<4?"ночы":e<12?"раніцы":e<17?"дня":"вечара"},dayOfMonthOrdinalParse:/\d{1,2}-(і|ы|га)/,ordinal:function(e,t){switch(t){case"M":case"d":case"DDD":case"w":case"W":return e%10!=2&&e%10!=3||e%100==12||e%100==13?e+"-ы":e+"-і";case"D":return e+"-га";default:return e}},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("bg",{months:"януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември".split("_"),monthsShort:"янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек".split("_"),weekdays:"неделя_понеделник_вторник_сряда_четвъртък_петък_събота".split("_"),weekdaysShort:"нед_пон_вто_сря_чет_пет_съб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Днес в] LT",nextDay:"[Утре в] LT",nextWeek:"dddd [в] LT",lastDay:"[Вчера в] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[В изминалата] dddd [в] LT";case 1:case 2:case 4:case 5:return"[В изминалия] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"след %s",past:"преди %s",s:"няколко секунди",ss:"%d секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дни",M:"месец",MM:"%d месеца",y:"година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(e){var t=e%10,n=e%100;return 0===e?e+"-ев":0===n?e+"-ен":n>10&&n<20?e+"-ти":1===t?e+"-ви":2===t?e+"-ри":7===t||8===t?e+"-ми":e+"-ти"},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("bm",{months:"Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo".split("_"),monthsShort:"Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des".split("_"),weekdays:"Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri".split("_"),weekdaysShort:"Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib".split("_"),weekdaysMin:"Ka_Nt_Ta_Ar_Al_Ju_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"MMMM [tile] D [san] YYYY",LLL:"MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm",LLLL:"dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm"},calendar:{sameDay:"[Bi lɛrɛ] LT",nextDay:"[Sini lɛrɛ] LT",nextWeek:"dddd [don lɛrɛ] LT",lastDay:"[Kunu lɛrɛ] LT",lastWeek:"dddd [tɛmɛnen lɛrɛ] LT",sameElse:"L"},relativeTime:{future:"%s kɔnɔ",past:"a bɛ %s bɔ",s:"sanga dama dama",ss:"sekondi %d",m:"miniti kelen",mm:"miniti %d",h:"lɛrɛ kelen",hh:"lɛrɛ %d",d:"tile kelen",dd:"tile %d",M:"kalo kelen",MM:"kalo %d",y:"san kelen",yy:"san %d"},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={1:"১",2:"২",3:"৩",4:"৪",5:"৫",6:"৬",7:"৭",8:"৮",9:"৯",0:"০"},n={"১":"1","২":"2","৩":"3","৪":"4","৫":"5","৬":"6","৭":"7","৮":"8","৯":"9","০":"0"};e.defineLocale("bn",{months:"জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর".split("_"),monthsShort:"জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে".split("_"),weekdays:"রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার".split("_"),weekdaysShort:"রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি".split("_"),weekdaysMin:"রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি".split("_"),longDateFormat:{LT:"A h:mm সময়",LTS:"A h:mm:ss সময়",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm সময়",LLLL:"dddd, D MMMM YYYY, A h:mm সময়"},calendar:{sameDay:"[আজ] LT",nextDay:"[আগামীকাল] LT",nextWeek:"dddd, LT",lastDay:"[গতকাল] LT",lastWeek:"[গত] dddd, LT",sameElse:"L"},relativeTime:{future:"%s পরে",past:"%s আগে",s:"কয়েক সেকেন্ড",ss:"%d সেকেন্ড",m:"এক মিনিট",mm:"%d মিনিট",h:"এক ঘন্টা",hh:"%d ঘন্টা",d:"এক দিন",dd:"%d দিন",M:"এক মাস",MM:"%d মাস",y:"এক বছর",yy:"%d বছর"},preparse:function(e){return e.replace(/[১২৩৪৫৬৭৮৯০]/g,(function(e){return n[e]}))},postformat:function(e){return e.replace(/\d/g,(function(e){return t[e]}))},meridiemParse:/রাত|সকাল|দুপুর|বিকাল|রাত/,meridiemHour:function(e,t){return 12===e&&(e=0),"রাত"===t&&e>=4||"দুপুর"===t&&e<5||"বিকাল"===t?e+12:e},meridiem:function(e,t,n){return e<4?"রাত":e<10?"সকাল":e<17?"দুপুর":e<20?"বিকাল":"রাত"},week:{dow:0,doy:6}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={1:"༡",2:"༢",3:"༣",4:"༤",5:"༥",6:"༦",7:"༧",8:"༨",9:"༩",0:"༠"},n={"༡":"1","༢":"2","༣":"3","༤":"4","༥":"5","༦":"6","༧":"7","༨":"8","༩":"9","༠":"0"};e.defineLocale("bo",{months:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),monthsShort:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),weekdays:"གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་".split("_"),weekdaysShort:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),weekdaysMin:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[དི་རིང] LT",nextDay:"[སང་ཉིན] LT",nextWeek:"[བདུན་ཕྲག་རྗེས་མ], LT",lastDay:"[ཁ་སང] LT",lastWeek:"[བདུན་ཕྲག་མཐའ་མ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ལ་",past:"%s སྔན་ལ",s:"ལམ་སང",ss:"%d སྐར་ཆ།",m:"སྐར་མ་གཅིག",mm:"%d སྐར་མ",h:"ཆུ་ཚོད་གཅིག",hh:"%d ཆུ་ཚོད",d:"ཉིན་གཅིག",dd:"%d ཉིན་",M:"ཟླ་བ་གཅིག",MM:"%d ཟླ་བ",y:"ལོ་གཅིག",yy:"%d ལོ"},preparse:function(e){return e.replace(/[༡༢༣༤༥༦༧༨༩༠]/g,(function(e){return n[e]}))},postformat:function(e){return e.replace(/\d/g,(function(e){return t[e]}))},meridiemParse:/མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,meridiemHour:function(e,t){return 12===e&&(e=0),"མཚན་མོ"===t&&e>=4||"ཉིན་གུང"===t&&e<5||"དགོང་དག"===t?e+12:e},meridiem:function(e,t,n){return e<4?"མཚན་མོ":e<10?"ཞོགས་ཀས":e<17?"ཉིན་གུང":e<20?"དགོང་དག":"མཚན་མོ"},week:{dow:0,doy:6}})}(n(0))},function(e,t,n){!function(e){"use strict";function t(e,t,n){return e+" "+function(e,t){return 2===t?function(e){var t={m:"v",b:"v",d:"z"};return void 0===t[e.charAt(0)]?e:t[e.charAt(0)]+e.substring(1)}(e):e}({mm:"munutenn",MM:"miz",dd:"devezh"}[n],e)}e.defineLocale("br",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h[e]mm A",LTS:"h[e]mm:ss A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY h[e]mm A",LLLL:"dddd, D [a viz] MMMM YYYY h[e]mm A"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s 'zo",s:"un nebeud segondennoù",ss:"%d eilenn",m:"ur vunutenn",mm:t,h:"un eur",hh:"%d eur",d:"un devezh",dd:t,M:"ur miz",MM:t,y:"ur bloaz",yy:function(e){switch(function e(t){return t>9?e(t%10):t}(e)){case 1:case 3:case 4:case 5:case 9:return e+" bloaz";default:return e+" vloaz"}}},dayOfMonthOrdinalParse:/\d{1,2}(añ|vet)/,ordinal:function(e){return e+(1===e?"añ":"vet")},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";function t(e,t,n){var a=e+" ";switch(n){case"ss":return a+=1===e?"sekunda":2===e||3===e||4===e?"sekunde":"sekundi";case"m":return t?"jedna minuta":"jedne minute";case"mm":return a+=1===e?"minuta":2===e||3===e||4===e?"minute":"minuta";case"h":return t?"jedan sat":"jednog sata";case"hh":return a+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return a+=1===e?"dan":"dana";case"MM":return a+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return a+=1===e?"godina":2===e||3===e||4===e?"godine":"godina"}}e.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:t,m:t,mm:t,h:t,hh:t,d:"dan",dd:t,M:"mjesec",MM:t,y:"godinu",yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("ca",{months:{standalone:"gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),format:"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dt_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a les] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a les] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[demà a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"d'aquí %s",past:"fa %s",s:"uns segons",ss:"%d segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|è|a)/,ordinal:function(e,t){var n=1===e?"r":2===e?"n":3===e?"r":4===e?"t":"è";return"w"!==t&&"W"!==t||(n="a"),e+n},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t="leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"),n="led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_");function a(e){return e>1&&e<5&&1!=~~(e/10)}function r(e,t,n,r){var o=e+" ";switch(n){case"s":return t||r?"pár sekund":"pár sekundami";case"ss":return t||r?o+(a(e)?"sekundy":"sekund"):o+"sekundami";case"m":return t?"minuta":r?"minutu":"minutou";case"mm":return t||r?o+(a(e)?"minuty":"minut"):o+"minutami";case"h":return t?"hodina":r?"hodinu":"hodinou";case"hh":return t||r?o+(a(e)?"hodiny":"hodin"):o+"hodinami";case"d":return t||r?"den":"dnem";case"dd":return t||r?o+(a(e)?"dny":"dní"):o+"dny";case"M":return t||r?"měsíc":"měsícem";case"MM":return t||r?o+(a(e)?"měsíce":"měsíců"):o+"měsíci";case"y":return t||r?"rok":"rokem";case"yy":return t||r?o+(a(e)?"roky":"let"):o+"lety"}}e.defineLocale("cs",{months:t,monthsShort:n,monthsParse:function(e,t){var n,a=[];for(n=0;n<12;n++)a[n]=new RegExp("^"+e[n]+"$|^"+t[n]+"$","i");return a}(t,n),shortMonthsParse:function(e){var t,n=[];for(t=0;t<12;t++)n[t]=new RegExp("^"+e[t]+"$","i");return n}(n),longMonthsParse:function(e){var t,n=[];for(t=0;t<12;t++)n[t]=new RegExp("^"+e[t]+"$","i");return n}(t),weekdays:"neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"),weekdaysShort:"ne_po_út_st_čt_pá_so".split("_"),weekdaysMin:"ne_po_út_st_čt_pá_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[zítra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v neděli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve středu v] LT";case 4:return"[ve čtvrtek v] LT";case 5:return"[v pátek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[včera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou neděli v] LT";case 1:case 2:return"[minulé] dddd [v] LT";case 3:return"[minulou středu v] LT";case 4:case 5:return"[minulý] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"před %s",s:r,ss:r,m:r,mm:r,h:r,hh:r,d:r,dd:r,M:r,MM:r,y:r,yy:r},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("cv",{months:"кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав".split("_"),monthsShort:"кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш".split("_"),weekdays:"вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун".split("_"),weekdaysShort:"выр_тун_ытл_юн_кӗҫ_эрн_шӑм".split("_"),weekdaysMin:"вр_тн_ыт_юн_кҫ_эр_шм".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]",LLL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm",LLLL:"dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm"},calendar:{sameDay:"[Паян] LT [сехетре]",nextDay:"[Ыран] LT [сехетре]",lastDay:"[Ӗнер] LT [сехетре]",nextWeek:"[Ҫитес] dddd LT [сехетре]",lastWeek:"[Иртнӗ] dddd LT [сехетре]",sameElse:"L"},relativeTime:{future:function(e){return e+(/сехет$/i.exec(e)?"рен":/ҫул$/i.exec(e)?"тан":"ран")},past:"%s каялла",s:"пӗр-ик ҫеккунт",ss:"%d ҫеккунт",m:"пӗр минут",mm:"%d минут",h:"пӗр сехет",hh:"%d сехет",d:"пӗр кун",dd:"%d кун",M:"пӗр уйӑх",MM:"%d уйӑх",y:"пӗр ҫул",yy:"%d ҫул"},dayOfMonthOrdinalParse:/\d{1,2}-мӗш/,ordinal:"%d-мӗш",week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn ôl",s:"ychydig eiliadau",ss:"%d eiliad",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},dayOfMonthOrdinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(e){var t="";return e>20?t=40===e||50===e||60===e||80===e||100===e?"fed":"ain":e>0&&(t=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"][e]),e+t},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tir_ons_tor_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"på dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[i] dddd[s kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"få sekunder",ss:"%d sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en måned",MM:"%d måneder",y:"et år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";function t(e,t,n,a){var r={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return t?r[n][0]:r[n][1]}e.defineLocale("de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:t,mm:"%d Minuten",h:t,hh:"%d Stunden",d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";function t(e,t,n,a){var r={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return t?r[n][0]:r[n][1]}e.defineLocale("de-at",{months:"Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:t,mm:"%d Minuten",h:t,hh:"%d Stunden",d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";function t(e,t,n,a){var r={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return t?r[n][0]:r[n][1]}e.defineLocale("de-ch",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:t,mm:"%d Minuten",h:t,hh:"%d Stunden",d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t=["ޖެނުއަރީ","ފެބްރުއަރީ","މާރިޗު","އޭޕްރީލު","މޭ","ޖޫން","ޖުލައި","އޯގަސްޓު","ސެޕްޓެމްބަރު","އޮކްޓޯބަރު","ނޮވެމްބަރު","ޑިސެމްބަރު"],n=["އާދިއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"];e.defineLocale("dv",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:"އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/މކ|މފ/,isPM:function(e){return"މފ"===e},meridiem:function(e,t,n){return e<12?"މކ":"މފ"},calendar:{sameDay:"[މިއަދު] LT",nextDay:"[މާދަމާ] LT",nextWeek:"dddd LT",lastDay:"[އިއްޔެ] LT",lastWeek:"[ފާއިތުވި] dddd LT",sameElse:"L"},relativeTime:{future:"ތެރޭގައި %s",past:"ކުރިން %s",s:"ސިކުންތުކޮޅެއް",ss:"d% ސިކުންތު",m:"މިނިޓެއް",mm:"މިނިޓު %d",h:"ގަޑިއިރެއް",hh:"ގަޑިއިރު %d",d:"ދުވަހެއް",dd:"ދުވަސް %d",M:"މަހެއް",MM:"މަސް %d",y:"އަހަރެއް",yy:"އަހަރު %d"},preparse:function(e){return e.replace(/،/g,",")},postformat:function(e){return e.replace(/,/g,"،")},week:{dow:7,doy:12}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("el",{monthsNominativeEl:"Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"),monthsGenitiveEl:"Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου".split("_"),months:function(e,t){return e?"string"==typeof t&&/D/.test(t.substring(0,t.indexOf("MMMM")))?this._monthsGenitiveEl[e.month()]:this._monthsNominativeEl[e.month()]:this._monthsNominativeEl},monthsShort:"Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ".split("_"),weekdays:"Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο".split("_"),weekdaysShort:"Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ".split("_"),weekdaysMin:"Κυ_Δε_Τρ_Τε_Πε_Πα_Σα".split("_"),meridiem:function(e,t,n){return e>11?n?"μμ":"ΜΜ":n?"πμ":"ΠΜ"},isPM:function(e){return"μ"===(e+"").toLowerCase()[0]},meridiemParse:/[ΠΜ]\.?Μ?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[Σήμερα {}] LT",nextDay:"[Αύριο {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[Χθες {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[το προηγούμενο] dddd [{}] LT";default:return"[την προηγούμενη] dddd [{}] LT"}},sameElse:"L"},calendar:function(e,t){var n,a=this._calendarEl[e],r=t&&t.hours();return((n=a)instanceof Function||"[object Function]"===Object.prototype.toString.call(n))&&(a=a.apply(t)),a.replace("{}",r%12==1?"στη":"στις")},relativeTime:{future:"σε %s",past:"%s πριν",s:"λίγα δευτερόλεπτα",ss:"%d δευτερόλεπτα",m:"ένα λεπτό",mm:"%d λεπτά",h:"μία ώρα",hh:"%d ώρες",d:"μία μέρα",dd:"%d μέρες",M:"ένας μήνας",MM:"%d μήνες",y:"ένας χρόνος",yy:"%d χρόνια"},dayOfMonthOrdinalParse:/\d{1,2}η/,ordinal:"%dη",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10;return e+(1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10;return e+(1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10;return e+(1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10;return e+(1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("en-il",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10;return e+(1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10;return e+(1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec".split("_"),weekdays:"dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato".split("_"),weekdaysShort:"dim_lun_mard_merk_ĵaŭ_ven_sab".split("_"),weekdaysMin:"di_lu_ma_me_ĵa_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D[-a de] MMMM, YYYY",LLL:"D[-a de] MMMM, YYYY HH:mm",LLLL:"dddd, [la] D[-a de] MMMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(e){return"p"===e.charAt(0).toLowerCase()},meridiem:function(e,t,n){return e>11?n?"p.t.m.":"P.T.M.":n?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodiaŭ je] LT",nextDay:"[Morgaŭ je] LT",nextWeek:"dddd [je] LT",lastDay:"[Hieraŭ je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"antaŭ %s",s:"sekundoj",ss:"%d sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";var t="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),a=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],r=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;e.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?n[e.month()]:t[e.month()]:t},monthsRegex:r,monthsShortRegex:r,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),a=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],r=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;e.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?n[e.month()]:t[e.month()]:t},monthsRegex:r,monthsShortRegex:r,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),n="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_");e.defineLocale("es-us",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?n[e.month()]:t[e.month()]:t},monthsParseExact:!0,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"MM/DD/YYYY",LL:"MMMM [de] D [de] YYYY",LLL:"MMMM [de] D [de] YYYY h:mm A",LLLL:"dddd, MMMM [de] D [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:0,doy:6}})}(n(0))},function(e,t,n){!function(e){"use strict";function t(e,t,n,a){var r={s:["mõne sekundi","mõni sekund","paar sekundit"],ss:[e+"sekundi",e+"sekundit"],m:["ühe minuti","üks minut"],mm:[e+" minuti",e+" minutit"],h:["ühe tunni","tund aega","üks tund"],hh:[e+" tunni",e+" tundi"],d:["ühe päeva","üks päev"],M:["kuu aja","kuu aega","üks kuu"],MM:[e+" kuu",e+" kuud"],y:["ühe aasta","aasta","üks aasta"],yy:[e+" aasta",e+" aastat"]};return t?r[n][2]?r[n][2]:r[n][1]:a?r[n][0]:r[n][1]}e.defineLocale("et",{months:"jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[Täna,] LT",nextDay:"[Homme,] LT",nextWeek:"[Järgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s pärast",past:"%s tagasi",s:t,ss:t,m:t,mm:t,h:t,hh:t,d:t,dd:"%d päeva",M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",ss:"%d segundo",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={1:"۱",2:"۲",3:"۳",4:"۴",5:"۵",6:"۶",7:"۷",8:"۸",9:"۹",0:"۰"},n={"۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","۰":"0"};e.defineLocale("fa",{months:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),monthsShort:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),weekdays:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysShort:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysMin:"ی_د_س_چ_پ_ج_ش".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/قبل از ظهر|بعد از ظهر/,isPM:function(e){return/بعد از ظهر/.test(e)},meridiem:function(e,t,n){return e<12?"قبل از ظهر":"بعد از ظهر"},calendar:{sameDay:"[امروز ساعت] LT",nextDay:"[فردا ساعت] LT",nextWeek:"dddd [ساعت] LT",lastDay:"[دیروز ساعت] LT",lastWeek:"dddd [پیش] [ساعت] LT",sameElse:"L"},relativeTime:{future:"در %s",past:"%s پیش",s:"چند ثانیه",ss:"ثانیه d%",m:"یک دقیقه",mm:"%d دقیقه",h:"یک ساعت",hh:"%d ساعت",d:"یک روز",dd:"%d روز",M:"یک ماه",MM:"%d ماه",y:"یک سال",yy:"%d سال"},preparse:function(e){return e.replace(/[۰-۹]/g,(function(e){return n[e]})).replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,(function(e){return t[e]})).replace(/,/g,"،")},dayOfMonthOrdinalParse:/\d{1,2}م/,ordinal:"%dم",week:{dow:6,doy:12}})}(n(0))},function(e,t,n){!function(e){"use strict";var t="nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" "),n=["nolla","yhden","kahden","kolmen","neljän","viiden","kuuden",t[7],t[8],t[9]];function a(e,a,r,o){var i="";switch(r){case"s":return o?"muutaman sekunnin":"muutama sekunti";case"ss":return o?"sekunnin":"sekuntia";case"m":return o?"minuutin":"minuutti";case"mm":i=o?"minuutin":"minuuttia";break;case"h":return o?"tunnin":"tunti";case"hh":i=o?"tunnin":"tuntia";break;case"d":return o?"päivän":"päivä";case"dd":i=o?"päivän":"päivää";break;case"M":return o?"kuukauden":"kuukausi";case"MM":i=o?"kuukauden":"kuukautta";break;case"y":return o?"vuoden":"vuosi";case"yy":i=o?"vuoden":"vuotta"}return i=function(e,a){return e<10?a?n[e]:t[e]:e}(e,o)+" "+i}e.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[tänään] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s päästä",past:"%s sitten",s:a,ss:a,m:a,mm:a,h:a,hh:a,d:a,dd:a,M:a,MM:a,y:a,yy:a},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("fo",{months:"januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur".split("_"),weekdaysShort:"sun_mán_týs_mik_hós_frí_ley".split("_"),weekdaysMin:"su_má_tý_mi_hó_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[Í dag kl.] LT",nextDay:"[Í morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[Í gjár kl.] LT",lastWeek:"[síðstu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s síðani",s:"fá sekund",ss:"%d sekundir",m:"ein minutt",mm:"%d minuttir",h:"ein tími",hh:"%d tímar",d:"ein dagur",dd:"%d dagar",M:"ein mánaði",MM:"%d mánaðir",y:"eitt ár",yy:"%d ár"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("fr",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(e,t){switch(t){case"D":return e+(1===e?"er":"");default:case"M":case"Q":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("fr-ca",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,t){switch(t){default:case"M":case"Q":case"D":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("fr-ch",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,t){switch(t){default:case"M":case"Q":case"D":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t="jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_"),n="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_");e.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?n[e.month()]:t[e.month()]:t},monthsParseExact:!0,weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[ôfrûne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",ss:"%d sekonden",m:"ien minút",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("gd",{months:["Am Faoilleach","An Gearran","Am Màrt","An Giblean","An Cèitean","An t-Ògmhios","An t-Iuchar","An Lùnastal","An t-Sultain","An Dàmhair","An t-Samhain","An Dùbhlachd"],monthsShort:["Faoi","Gear","Màrt","Gibl","Cèit","Ògmh","Iuch","Lùn","Sult","Dàmh","Samh","Dùbh"],monthsParseExact:!0,weekdays:["Didòmhnaich","Diluain","Dimàirt","Diciadain","Diardaoin","Dihaoine","Disathairne"],weekdaysShort:["Did","Dil","Dim","Dic","Dia","Dih","Dis"],weekdaysMin:["Dò","Lu","Mà","Ci","Ar","Ha","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-màireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-dè aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",ss:"%d diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"mìos",MM:"%d mìosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(e){return e+(1===e?"d":e%10==2?"na":"mh")},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_mércores_xoves_venres_sábado".split("_"),weekdaysShort:"dom._lun._mar._mér._xov._ven._sáb.".split("_"),weekdaysMin:"do_lu_ma_mé_xo_ve_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"ás":"á")+"] LT"},nextDay:function(){return"[mañá "+(1!==this.hours()?"ás":"á")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"ás":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"á":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"ás":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(e){return 0===e.indexOf("un")?"n"+e:"en "+e},past:"hai %s",s:"uns segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";function t(e,t,n,a){var r={s:["thodde secondanim","thodde second"],ss:[e+" secondanim",e+" second"],m:["eka mintan","ek minute"],mm:[e+" mintanim",e+" mintam"],h:["eka horan","ek hor"],hh:[e+" horanim",e+" hor"],d:["eka disan","ek dis"],dd:[e+" disanim",e+" dis"],M:["eka mhoinean","ek mhoino"],MM:[e+" mhoineanim",e+" mhoine"],y:["eka vorsan","ek voros"],yy:[e+" vorsanim",e+" vorsam"]};return t?r[n][0]:r[n][1]}e.defineLocale("gom-latn",{months:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son'var".split("_"),weekdaysShort:"Ait._Som._Mon._Bud._Bre._Suk._Son.".split("_"),weekdaysMin:"Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [vazta]",LTS:"A h:mm:ss [vazta]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [vazta]",LLLL:"dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Ieta to] dddd[,] LT",lastDay:"[Kal] LT",lastWeek:"[Fatlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s adim",s:t,ss:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(e,t){switch(t){case"D":return e+"er";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return e}},week:{dow:1,doy:4},meridiemParse:/rati|sokalli|donparam|sanje/,meridiemHour:function(e,t){return 12===e&&(e=0),"rati"===t?e<4?e:e+12:"sokalli"===t?e:"donparam"===t?e>12?e:e+12:"sanje"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"rati":e<12?"sokalli":e<16?"donparam":e<20?"sanje":"rati"}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={1:"૧",2:"૨",3:"૩",4:"૪",5:"૫",6:"૬",7:"૭",8:"૮",9:"૯",0:"૦"},n={"૧":"1","૨":"2","૩":"3","૪":"4","૫":"5","૬":"6","૭":"7","૮":"8","૯":"9","૦":"0"};e.defineLocale("gu",{months:"જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર".split("_"),monthsShort:"જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.".split("_"),monthsParseExact:!0,weekdays:"રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર".split("_"),weekdaysShort:"રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ".split("_"),weekdaysMin:"ર_સો_મં_બુ_ગુ_શુ_શ".split("_"),longDateFormat:{LT:"A h:mm વાગ્યે",LTS:"A h:mm:ss વાગ્યે",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm વાગ્યે",LLLL:"dddd, D MMMM YYYY, A h:mm વાગ્યે"},calendar:{sameDay:"[આજ] LT",nextDay:"[કાલે] LT",nextWeek:"dddd, LT",lastDay:"[ગઇકાલે] LT",lastWeek:"[પાછલા] dddd, LT",sameElse:"L"},relativeTime:{future:"%s મા",past:"%s પેહલા",s:"અમુક પળો",ss:"%d સેકંડ",m:"એક મિનિટ",mm:"%d મિનિટ",h:"એક કલાક",hh:"%d કલાક",d:"એક દિવસ",dd:"%d દિવસ",M:"એક મહિનો",MM:"%d મહિનો",y:"એક વર્ષ",yy:"%d વર્ષ"},preparse:function(e){return e.replace(/[૧૨૩૪૫૬૭૮૯૦]/g,(function(e){return n[e]}))},postformat:function(e){return e.replace(/\d/g,(function(e){return t[e]}))},meridiemParse:/રાત|બપોર|સવાર|સાંજ/,meridiemHour:function(e,t){return 12===e&&(e=0),"રાત"===t?e<4?e:e+12:"સવાર"===t?e:"બપોર"===t?e>=10?e:e+12:"સાંજ"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"રાત":e<10?"સવાર":e<17?"બપોર":e<20?"સાંજ":"રાત"},week:{dow:0,doy:6}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("he",{months:"ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר".split("_"),monthsShort:"ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳".split("_"),weekdays:"ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת".split("_"),weekdaysShort:"א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳".split("_"),weekdaysMin:"א_ב_ג_ד_ה_ו_ש".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [ב]MMMM YYYY",LLL:"D [ב]MMMM YYYY HH:mm",LLLL:"dddd, D [ב]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[היום ב־]LT",nextDay:"[מחר ב־]LT",nextWeek:"dddd [בשעה] LT",lastDay:"[אתמול ב־]LT",lastWeek:"[ביום] dddd [האחרון בשעה] LT",sameElse:"L"},relativeTime:{future:"בעוד %s",past:"לפני %s",s:"מספר שניות",ss:"%d שניות",m:"דקה",mm:"%d דקות",h:"שעה",hh:function(e){return 2===e?"שעתיים":e+" שעות"},d:"יום",dd:function(e){return 2===e?"יומיים":e+" ימים"},M:"חודש",MM:function(e){return 2===e?"חודשיים":e+" חודשים"},y:"שנה",yy:function(e){return 2===e?"שנתיים":e%10==0&&10!==e?e+" שנה":e+" שנים"}},meridiemParse:/אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,isPM:function(e){return/^(אחה"צ|אחרי הצהריים|בערב)$/.test(e)},meridiem:function(e,t,n){return e<5?"לפנות בוקר":e<10?"בבוקר":e<12?n?'לפנה"צ':"לפני הצהריים":e<18?n?'אחה"צ':"אחרי הצהריים":"בערב"}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};e.defineLocale("hi",{months:"जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर".split("_"),monthsShort:"जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm बजे",LTS:"A h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm बजे",LLLL:"dddd, D MMMM YYYY, A h:mm बजे"},calendar:{sameDay:"[आज] LT",nextDay:"[कल] LT",nextWeek:"dddd, LT",lastDay:"[कल] LT",lastWeek:"[पिछले] dddd, LT",sameElse:"L"},relativeTime:{future:"%s में",past:"%s पहले",s:"कुछ ही क्षण",ss:"%d सेकंड",m:"एक मिनट",mm:"%d मिनट",h:"एक घंटा",hh:"%d घंटे",d:"एक दिन",dd:"%d दिन",M:"एक महीने",MM:"%d महीने",y:"एक वर्ष",yy:"%d वर्ष"},preparse:function(e){return e.replace(/[१२३४५६७८९०]/g,(function(e){return n[e]}))},postformat:function(e){return e.replace(/\d/g,(function(e){return t[e]}))},meridiemParse:/रात|सुबह|दोपहर|शाम/,meridiemHour:function(e,t){return 12===e&&(e=0),"रात"===t?e<4?e:e+12:"सुबह"===t?e:"दोपहर"===t?e>=10?e:e+12:"शाम"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"रात":e<10?"सुबह":e<17?"दोपहर":e<20?"शाम":"रात"},week:{dow:0,doy:6}})}(n(0))},function(e,t,n){!function(e){"use strict";function t(e,t,n){var a=e+" ";switch(n){case"ss":return a+=1===e?"sekunda":2===e||3===e||4===e?"sekunde":"sekundi";case"m":return t?"jedna minuta":"jedne minute";case"mm":return a+=1===e?"minuta":2===e||3===e||4===e?"minute":"minuta";case"h":return t?"jedan sat":"jednog sata";case"hh":return a+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return a+=1===e?"dan":"dana";case"MM":return a+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return a+=1===e?"godina":2===e||3===e||4===e?"godine":"godina"}}e.defineLocale("hr",{months:{format:"siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:t,m:t,mm:t,h:t,hh:t,d:"dan",dd:t,M:"mjesec",MM:t,y:"godinu",yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";var t="vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton".split(" ");function n(e,t,n,a){var r=e;switch(n){case"s":return a||t?"néhány másodperc":"néhány másodperce";case"ss":return r+(a||t)?" másodperc":" másodperce";case"m":return"egy"+(a||t?" perc":" perce");case"mm":return r+(a||t?" perc":" perce");case"h":return"egy"+(a||t?" óra":" órája");case"hh":return r+(a||t?" óra":" órája");case"d":return"egy"+(a||t?" nap":" napja");case"dd":return r+(a||t?" nap":" napja");case"M":return"egy"+(a||t?" hónap":" hónapja");case"MM":return r+(a||t?" hónap":" hónapja");case"y":return"egy"+(a||t?" év":" éve");case"yy":return r+(a||t?" év":" éve")}return""}function a(e){return(e?"":"[múlt] ")+"["+t[this.day()]+"] LT[-kor]"}e.defineLocale("hu",{months:"január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"),monthsShort:"jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec".split("_"),weekdays:"vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat".split("_"),weekdaysShort:"vas_hét_kedd_sze_csüt_pén_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(e){return"u"===e.charAt(1).toLowerCase()},meridiem:function(e,t,n){return e<12?!0===n?"de":"DE":!0===n?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return a.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return a.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s múlva",past:"%s",s:n,ss:n,m:n,mm:n,h:n,hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("hy-am",{months:{format:"հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի".split("_"),standalone:"հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր".split("_")},monthsShort:"հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ".split("_"),weekdays:"կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ".split("_"),weekdaysShort:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),weekdaysMin:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY թ.",LLL:"D MMMM YYYY թ., HH:mm",LLLL:"dddd, D MMMM YYYY թ., HH:mm"},calendar:{sameDay:"[այսօր] LT",nextDay:"[վաղը] LT",lastDay:"[երեկ] LT",nextWeek:function(){return"dddd [օրը ժամը] LT"},lastWeek:function(){return"[անցած] dddd [օրը ժամը] LT"},sameElse:"L"},relativeTime:{future:"%s հետո",past:"%s առաջ",s:"մի քանի վայրկյան",ss:"%d վայրկյան",m:"րոպե",mm:"%d րոպե",h:"ժամ",hh:"%d ժամ",d:"օր",dd:"%d օր",M:"ամիս",MM:"%d ամիս",y:"տարի",yy:"%d տարի"},meridiemParse:/գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,isPM:function(e){return/^(ցերեկվա|երեկոյան)$/.test(e)},meridiem:function(e){return e<4?"գիշերվա":e<12?"առավոտվա":e<17?"ցերեկվա":"երեկոյան"},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(ին|րդ)/,ordinal:function(e,t){switch(t){case"DDD":case"w":case"W":case"DDDo":return 1===e?e+"-ին":e+"-րդ";default:return e}},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(e,t){return 12===e&&(e=0),"pagi"===t?e:"siang"===t?e>=11?e:e+12:"sore"===t||"malam"===t?e+12:void 0},meridiem:function(e,t,n){return e<11?"pagi":e<15?"siang":e<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",ss:"%d detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";function t(e){return e%100==11||e%10!=1}function n(e,n,a,r){var o=e+" ";switch(a){case"s":return n||r?"nokkrar sekúndur":"nokkrum sekúndum";case"ss":return t(e)?o+(n||r?"sekúndur":"sekúndum"):o+"sekúnda";case"m":return n?"mínúta":"mínútu";case"mm":return t(e)?o+(n||r?"mínútur":"mínútum"):n?o+"mínúta":o+"mínútu";case"hh":return t(e)?o+(n||r?"klukkustundir":"klukkustundum"):o+"klukkustund";case"d":return n?"dagur":r?"dag":"degi";case"dd":return t(e)?n?o+"dagar":o+(r?"daga":"dögum"):n?o+"dagur":o+(r?"dag":"degi");case"M":return n?"mánuður":r?"mánuð":"mánuði";case"MM":return t(e)?n?o+"mánuðir":o+(r?"mánuði":"mánuðum"):n?o+"mánuður":o+(r?"mánuð":"mánuði");case"y":return n||r?"ár":"ári";case"yy":return t(e)?o+(n||r?"ár":"árum"):o+(n||r?"ár":"ári")}}e.defineLocale("is",{months:"janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember".split("_"),monthsShort:"jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des".split("_"),weekdays:"sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur".split("_"),weekdaysShort:"sun_mán_þri_mið_fim_fös_lau".split("_"),weekdaysMin:"Su_Má_Þr_Mi_Fi_Fö_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[í dag kl.] LT",nextDay:"[á morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[í gær kl.] LT",lastWeek:"[síðasta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s síðan",s:n,ss:n,m:n,mm:n,h:"klukkustund",hh:n,d:n,dd:n,M:n,MM:n,y:n,yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(e){return(/^[0-9].+$/.test(e)?"tra":"in")+" "+e},past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("ja",{months:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"),weekdaysShort:"日_月_火_水_木_金_土".split("_"),weekdaysMin:"日_月_火_水_木_金_土".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日 HH:mm dddd",l:"YYYY/MM/DD",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日 HH:mm dddd"},meridiemParse:/午前|午後/i,isPM:function(e){return"午後"===e},meridiem:function(e,t,n){return e<12?"午前":"午後"},calendar:{sameDay:"[今日] LT",nextDay:"[明日] LT",nextWeek:"[来週]dddd LT",lastDay:"[昨日] LT",lastWeek:"[前週]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}日/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"日";default:return e}},relativeTime:{future:"%s後",past:"%s前",s:"数秒",ss:"%d秒",m:"1分",mm:"%d分",h:"1時間",hh:"%d時間",d:"1日",dd:"%d日",M:"1ヶ月",MM:"%dヶ月",y:"1年",yy:"%d年"}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(e,t){return 12===e&&(e=0),"enjing"===t?e:"siyang"===t?e>=11?e:e+12:"sonten"===t||"ndalu"===t?e+12:void 0},meridiem:function(e,t,n){return e<11?"enjing":e<15?"siyang":e<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",ss:"%d detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("ka",{months:{standalone:"იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი".split("_"),format:"იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს".split("_")},monthsShort:"იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ".split("_"),weekdays:{standalone:"კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი".split("_"),format:"კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს".split("_"),isFormat:/(წინა|შემდეგ)/},weekdaysShort:"კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ".split("_"),weekdaysMin:"კვ_ორ_სა_ოთ_ხუ_პა_შა".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[დღეს] LT[-ზე]",nextDay:"[ხვალ] LT[-ზე]",lastDay:"[გუშინ] LT[-ზე]",nextWeek:"[შემდეგ] dddd LT[-ზე]",lastWeek:"[წინა] dddd LT-ზე",sameElse:"L"},relativeTime:{future:function(e){return/(წამი|წუთი|საათი|წელი)/.test(e)?e.replace(/ი$/,"ში"):e+"ში"},past:function(e){return/(წამი|წუთი|საათი|დღე|თვე)/.test(e)?e.replace(/(ი|ე)$/,"ის უკან"):/წელი/.test(e)?e.replace(/წელი$/,"წლის უკან"):void 0},s:"რამდენიმე წამი",ss:"%d წამი",m:"წუთი",mm:"%d წუთი",h:"საათი",hh:"%d საათი",d:"დღე",dd:"%d დღე",M:"თვე",MM:"%d თვე",y:"წელი",yy:"%d წელი"},dayOfMonthOrdinalParse:/0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,ordinal:function(e){return 0===e?e:1===e?e+"-ლი":e<20||e<=100&&e%20==0||e%100==0?"მე-"+e:e+"-ე"},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={0:"-ші",1:"-ші",2:"-ші",3:"-ші",4:"-ші",5:"-ші",6:"-шы",7:"-ші",8:"-ші",9:"-шы",10:"-шы",20:"-шы",30:"-шы",40:"-шы",50:"-ші",60:"-шы",70:"-ші",80:"-ші",90:"-шы",100:"-ші"};e.defineLocale("kk",{months:"қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан".split("_"),monthsShort:"қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел".split("_"),weekdays:"жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі".split("_"),weekdaysShort:"жек_дүй_сей_сәр_бей_жұм_сен".split("_"),weekdaysMin:"жк_дй_сй_ср_бй_жм_сн".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгін сағат] LT",nextDay:"[Ертең сағат] LT",nextWeek:"dddd [сағат] LT",lastDay:"[Кеше сағат] LT",lastWeek:"[Өткен аптаның] dddd [сағат] LT",sameElse:"L"},relativeTime:{future:"%s ішінде",past:"%s бұрын",s:"бірнеше секунд",ss:"%d секунд",m:"бір минут",mm:"%d минут",h:"бір сағат",hh:"%d сағат",d:"бір күн",dd:"%d күн",M:"бір ай",MM:"%d ай",y:"бір жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(ші|шы)/,ordinal:function(e){return e+(t[e]||t[e%10]||t[e>=100?100:null])},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("km",{months:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),monthsShort:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),weekdays:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysShort:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysMin:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[ថ្ងៃនេះ ម៉ោង] LT",nextDay:"[ស្អែក ម៉ោង] LT",nextWeek:"dddd [ម៉ោង] LT",lastDay:"[ម្សិលមិញ ម៉ោង] LT",lastWeek:"dddd [សប្តាហ៍មុន] [ម៉ោង] LT",sameElse:"L"},relativeTime:{future:"%sទៀត",past:"%sមុន",s:"ប៉ុន្មានវិនាទី",ss:"%d វិនាទី",m:"មួយនាទី",mm:"%d នាទី",h:"មួយម៉ោង",hh:"%d ម៉ោង",d:"មួយថ្ងៃ",dd:"%d ថ្ងៃ",M:"មួយខែ",MM:"%d ខែ",y:"មួយឆ្នាំ",yy:"%d ឆ្នាំ"},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={1:"೧",2:"೨",3:"೩",4:"೪",5:"೫",6:"೬",7:"೭",8:"೮",9:"೯",0:"೦"},n={"೧":"1","೨":"2","೩":"3","೪":"4","೫":"5","೬":"6","೭":"7","೮":"8","೯":"9","೦":"0"};e.defineLocale("kn",{months:"ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್".split("_"),monthsShort:"ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ".split("_"),monthsParseExact:!0,weekdays:"ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ".split("_"),weekdaysShort:"ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ".split("_"),weekdaysMin:"ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[ಇಂದು] LT",nextDay:"[ನಾಳೆ] LT",nextWeek:"dddd, LT",lastDay:"[ನಿನ್ನೆ] LT",lastWeek:"[ಕೊನೆಯ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ನಂತರ",past:"%s ಹಿಂದೆ",s:"ಕೆಲವು ಕ್ಷಣಗಳು",ss:"%d ಸೆಕೆಂಡುಗಳು",m:"ಒಂದು ನಿಮಿಷ",mm:"%d ನಿಮಿಷ",h:"ಒಂದು ಗಂಟೆ",hh:"%d ಗಂಟೆ",d:"ಒಂದು ದಿನ",dd:"%d ದಿನ",M:"ಒಂದು ತಿಂಗಳು",MM:"%d ತಿಂಗಳು",y:"ಒಂದು ವರ್ಷ",yy:"%d ವರ್ಷ"},preparse:function(e){return e.replace(/[೧೨೩೪೫೬೭೮೯೦]/g,(function(e){return n[e]}))},postformat:function(e){return e.replace(/\d/g,(function(e){return t[e]}))},meridiemParse:/ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,meridiemHour:function(e,t){return 12===e&&(e=0),"ರಾತ್ರಿ"===t?e<4?e:e+12:"ಬೆಳಿಗ್ಗೆ"===t?e:"ಮಧ್ಯಾಹ್ನ"===t?e>=10?e:e+12:"ಸಂಜೆ"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"ರಾತ್ರಿ":e<10?"ಬೆಳಿಗ್ಗೆ":e<17?"ಮಧ್ಯಾಹ್ನ":e<20?"ಸಂಜೆ":"ರಾತ್ರಿ"},dayOfMonthOrdinalParse:/\d{1,2}(ನೇ)/,ordinal:function(e){return e+"ನೇ"},week:{dow:0,doy:6}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("ko",{months:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),monthsShort:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),weekdays:"일요일_월요일_화요일_수요일_목요일_금요일_토요일".split("_"),weekdaysShort:"일_월_화_수_목_금_토".split("_"),weekdaysMin:"일_월_화_수_목_금_토".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY년 MMMM D일",LLL:"YYYY년 MMMM D일 A h:mm",LLLL:"YYYY년 MMMM D일 dddd A h:mm",l:"YYYY.MM.DD.",ll:"YYYY년 MMMM D일",lll:"YYYY년 MMMM D일 A h:mm",llll:"YYYY년 MMMM D일 dddd A h:mm"},calendar:{sameDay:"오늘 LT",nextDay:"내일 LT",nextWeek:"dddd LT",lastDay:"어제 LT",lastWeek:"지난주 dddd LT",sameElse:"L"},relativeTime:{future:"%s 후",past:"%s 전",s:"몇 초",ss:"%d초",m:"1분",mm:"%d분",h:"한 시간",hh:"%d시간",d:"하루",dd:"%d일",M:"한 달",MM:"%d달",y:"일 년",yy:"%d년"},dayOfMonthOrdinalParse:/\d{1,2}(일|월|주)/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"일";case"M":return e+"월";case"w":case"W":return e+"주";default:return e}},meridiemParse:/오전|오후/,isPM:function(e){return"오후"===e},meridiem:function(e,t,n){return e<12?"오전":"오후"}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={0:"-чү",1:"-чи",2:"-чи",3:"-чү",4:"-чү",5:"-чи",6:"-чы",7:"-чи",8:"-чи",9:"-чу",10:"-чу",20:"-чы",30:"-чу",40:"-чы",50:"-чү",60:"-чы",70:"-чи",80:"-чи",90:"-чу",100:"-чү"};e.defineLocale("ky",{months:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"),monthsShort:"янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек".split("_"),weekdays:"Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби".split("_"),weekdaysShort:"Жек_Дүй_Шей_Шар_Бей_Жум_Ише".split("_"),weekdaysMin:"Жк_Дй_Шй_Шр_Бй_Жм_Иш".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгүн саат] LT",nextDay:"[Эртең саат] LT",nextWeek:"dddd [саат] LT",lastDay:"[Кече саат] LT",lastWeek:"[Өткен аптанын] dddd [күнү] [саат] LT",sameElse:"L"},relativeTime:{future:"%s ичинде",past:"%s мурун",s:"бирнече секунд",ss:"%d секунд",m:"бир мүнөт",mm:"%d мүнөт",h:"бир саат",hh:"%d саат",d:"бир күн",dd:"%d күн",M:"бир ай",MM:"%d ай",y:"бир жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(чи|чы|чү|чу)/,ordinal:function(e){return e+(t[e]||t[e%10]||t[e>=100?100:null])},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";function t(e,t,n,a){var r={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return t?r[n][0]:r[n][1]}function n(e){if(e=parseInt(e,10),isNaN(e))return!1;if(e<0)return!0;if(e<10)return 4<=e&&e<=7;if(e<100){var t=e%10;return n(0===t?e/10:t)}if(e<1e4){for(;e>=10;)e/=10;return n(e)}return n(e/=1e3)}e.defineLocale("lb",{months:"Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._Mé._Dë._Më._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mé_Dë_Më_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[Gëschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:function(e){return n(e.substr(0,e.indexOf(" ")))?"a "+e:"an "+e},past:function(e){return n(e.substr(0,e.indexOf(" ")))?"viru "+e:"virun "+e},s:"e puer Sekonnen",ss:"%d Sekonnen",m:t,mm:"%d Minutten",h:t,hh:"%d Stonnen",d:t,dd:"%d Deeg",M:t,MM:"%d Méint",y:t,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("lo",{months:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),monthsShort:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),weekdays:"ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysShort:"ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysMin:"ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"ວັນdddd D MMMM YYYY HH:mm"},meridiemParse:/ຕອນເຊົ້າ|ຕອນແລງ/,isPM:function(e){return"ຕອນແລງ"===e},meridiem:function(e,t,n){return e<12?"ຕອນເຊົ້າ":"ຕອນແລງ"},calendar:{sameDay:"[ມື້ນີ້ເວລາ] LT",nextDay:"[ມື້ອື່ນເວລາ] LT",nextWeek:"[ວັນ]dddd[ໜ້າເວລາ] LT",lastDay:"[ມື້ວານນີ້ເວລາ] LT",lastWeek:"[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT",sameElse:"L"},relativeTime:{future:"ອີກ %s",past:"%sຜ່ານມາ",s:"ບໍ່ເທົ່າໃດວິນາທີ",ss:"%d ວິນາທີ",m:"1 ນາທີ",mm:"%d ນາທີ",h:"1 ຊົ່ວໂມງ",hh:"%d ຊົ່ວໂມງ",d:"1 ມື້",dd:"%d ມື້",M:"1 ເດືອນ",MM:"%d ເດືອນ",y:"1 ປີ",yy:"%d ປີ"},dayOfMonthOrdinalParse:/(ທີ່)\d{1,2}/,ordinal:function(e){return"ທີ່"+e}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={ss:"sekundė_sekundžių_sekundes",m:"minutė_minutės_minutę",mm:"minutės_minučių_minutes",h:"valanda_valandos_valandą",hh:"valandos_valandų_valandas",d:"diena_dienos_dieną",dd:"dienos_dienų_dienas",M:"mėnuo_mėnesio_mėnesį",MM:"mėnesiai_mėnesių_mėnesius",y:"metai_metų_metus",yy:"metai_metų_metus"};function n(e,t,n,a){return t?r(n)[0]:a?r(n)[1]:r(n)[2]}function a(e){return e%10==0||e>10&&e<20}function r(e){return t[e].split("_")}function o(e,t,o,i){var s=e+" ";return 1===e?s+n(0,t,o[0],i):t?s+(a(e)?r(o)[1]:r(o)[0]):i?s+r(o)[1]:s+(a(e)?r(o)[1]:r(o)[2])}e.defineLocale("lt",{months:{format:"sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_Šeš".split("_"),weekdaysMin:"S_P_A_T_K_Pn_Š".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[Šiandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Praėjusį] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prieš %s",s:function(e,t,n,a){return t?"kelios sekundės":a?"kelių sekundžių":"kelias sekundes"},ss:o,m:n,mm:o,h:n,hh:o,d:n,dd:o,M:n,MM:o,y:n,yy:o},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(e){return e+"-oji"},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={ss:"sekundes_sekundēm_sekunde_sekundes".split("_"),m:"minūtes_minūtēm_minūte_minūtes".split("_"),mm:"minūtes_minūtēm_minūte_minūtes".split("_"),h:"stundas_stundām_stunda_stundas".split("_"),hh:"stundas_stundām_stunda_stundas".split("_"),d:"dienas_dienām_diena_dienas".split("_"),dd:"dienas_dienām_diena_dienas".split("_"),M:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),MM:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")};function n(e,t,n){return n?t%10==1&&t%100!=11?e[2]:e[3]:t%10==1&&t%100!=11?e[0]:e[1]}function a(e,a,r){return e+" "+n(t[r],e,a)}function r(e,a,r){return n(t[r],e,a)}e.defineLocale("lv",{months:"janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec".split("_"),weekdays:"svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[Šodien pulksten] LT",nextDay:"[Rīt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pagājušā] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"pēc %s",past:"pirms %s",s:function(e,t){return t?"dažas sekundes":"dažām sekundēm"},ss:a,m:r,mm:a,h:r,hh:a,d:r,dd:a,M:r,MM:a,y:r,yy:a},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={words:{ss:["sekund","sekunda","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(e,t){return 1===e?t[0]:e>=2&&e<=4?t[1]:t[2]},translate:function(e,n,a){var r=t.words[a];return 1===a.length?n?r[0]:r[1]:e+" "+t.correctGrammaticalCase(e,r)}};e.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){return["[prošle] [nedjelje] [u] LT","[prošlog] [ponedjeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srijede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",ss:t.translate,m:t.translate,mm:t.translate,h:t.translate,hh:t.translate,d:"dan",dd:t.translate,M:"mjesec",MM:t.translate,y:"godinu",yy:t.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("mi",{months:"Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei".split("_"),weekdaysShort:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),weekdaysMin:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te hēkona ruarua",ss:"%d hēkona",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("mk",{months:"јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември".split("_"),monthsShort:"јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек".split("_"),weekdays:"недела_понеделник_вторник_среда_четврток_петок_сабота".split("_"),weekdaysShort:"нед_пон_вто_сре_чет_пет_саб".split("_"),weekdaysMin:"нe_пo_вт_ср_че_пе_сa".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Денес во] LT",nextDay:"[Утре во] LT",nextWeek:"[Во] dddd [во] LT",lastDay:"[Вчера во] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[Изминатата] dddd [во] LT";case 1:case 2:case 4:case 5:return"[Изминатиот] dddd [во] LT"}},sameElse:"L"},relativeTime:{future:"после %s",past:"пред %s",s:"неколку секунди",ss:"%d секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дена",M:"месец",MM:"%d месеци",y:"година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(e){var t=e%10,n=e%100;return 0===e?e+"-ев":0===n?e+"-ен":n>10&&n<20?e+"-ти":1===t?e+"-ви":2===t?e+"-ри":7===t||8===t?e+"-ми":e+"-ти"},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("ml",{months:"ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ".split("_"),monthsShort:"ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.".split("_"),monthsParseExact:!0,weekdays:"ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച".split("_"),weekdaysShort:"ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി".split("_"),weekdaysMin:"ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ".split("_"),longDateFormat:{LT:"A h:mm -നു",LTS:"A h:mm:ss -നു",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -നു",LLLL:"dddd, D MMMM YYYY, A h:mm -നു"},calendar:{sameDay:"[ഇന്ന്] LT",nextDay:"[നാളെ] LT",nextWeek:"dddd, LT",lastDay:"[ഇന്നലെ] LT",lastWeek:"[കഴിഞ്ഞ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s കഴിഞ്ഞ്",past:"%s മുൻപ്",s:"അൽപ നിമിഷങ്ങൾ",ss:"%d സെക്കൻഡ്",m:"ഒരു മിനിറ്റ്",mm:"%d മിനിറ്റ്",h:"ഒരു മണിക്കൂർ",hh:"%d മണിക്കൂർ",d:"ഒരു ദിവസം",dd:"%d ദിവസം",M:"ഒരു മാസം",MM:"%d മാസം",y:"ഒരു വർഷം",yy:"%d വർഷം"},meridiemParse:/രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,meridiemHour:function(e,t){return 12===e&&(e=0),"രാത്രി"===t&&e>=4||"ഉച്ച കഴിഞ്ഞ്"===t||"വൈകുന്നേരം"===t?e+12:e},meridiem:function(e,t,n){return e<4?"രാത്രി":e<12?"രാവിലെ":e<17?"ഉച്ച കഴിഞ്ഞ്":e<20?"വൈകുന്നേരം":"രാത്രി"}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};function a(e,t,n,a){var r="";if(t)switch(n){case"s":r="काही सेकंद";break;case"ss":r="%d सेकंद";break;case"m":r="एक मिनिट";break;case"mm":r="%d मिनिटे";break;case"h":r="एक तास";break;case"hh":r="%d तास";break;case"d":r="एक दिवस";break;case"dd":r="%d दिवस";break;case"M":r="एक महिना";break;case"MM":r="%d महिने";break;case"y":r="एक वर्ष";break;case"yy":r="%d वर्षे"}else switch(n){case"s":r="काही सेकंदां";break;case"ss":r="%d सेकंदां";break;case"m":r="एका मिनिटा";break;case"mm":r="%d मिनिटां";break;case"h":r="एका तासा";break;case"hh":r="%d तासां";break;case"d":r="एका दिवसा";break;case"dd":r="%d दिवसां";break;case"M":r="एका महिन्या";break;case"MM":r="%d महिन्यां";break;case"y":r="एका वर्षा";break;case"yy":r="%d वर्षां"}return r.replace(/%d/i,e)}e.defineLocale("mr",{months:"जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर".split("_"),monthsShort:"जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm वाजता",LTS:"A h:mm:ss वाजता",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm वाजता",LLLL:"dddd, D MMMM YYYY, A h:mm वाजता"},calendar:{sameDay:"[आज] LT",nextDay:"[उद्या] LT",nextWeek:"dddd, LT",lastDay:"[काल] LT",lastWeek:"[मागील] dddd, LT",sameElse:"L"},relativeTime:{future:"%sमध्ये",past:"%sपूर्वी",s:a,ss:a,m:a,mm:a,h:a,hh:a,d:a,dd:a,M:a,MM:a,y:a,yy:a},preparse:function(e){return e.replace(/[१२३४५६७८९०]/g,(function(e){return n[e]}))},postformat:function(e){return e.replace(/\d/g,(function(e){return t[e]}))},meridiemParse:/रात्री|सकाळी|दुपारी|सायंकाळी/,meridiemHour:function(e,t){return 12===e&&(e=0),"रात्री"===t?e<4?e:e+12:"सकाळी"===t?e:"दुपारी"===t?e>=10?e:e+12:"सायंकाळी"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"रात्री":e<10?"सकाळी":e<17?"दुपारी":e<20?"सायंकाळी":"रात्री"},week:{dow:0,doy:6}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,t){return 12===e&&(e=0),"pagi"===t?e:"tengahari"===t?e>=11?e:e+12:"petang"===t||"malam"===t?e+12:void 0},meridiem:function(e,t,n){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,t){return 12===e&&(e=0),"pagi"===t?e:"tengahari"===t?e>=11?e:e+12:"petang"===t||"malam"===t?e+12:void 0},meridiem:function(e,t,n){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("mt",{months:"Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru".split("_"),monthsShort:"Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ".split("_"),weekdays:"Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt".split("_"),weekdaysShort:"Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib".split("_"),weekdaysMin:"Ħa_Tn_Tl_Er_Ħa_Ġi_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Illum fil-]LT",nextDay:"[Għada fil-]LT",nextWeek:"dddd [fil-]LT",lastDay:"[Il-bieraħ fil-]LT",lastWeek:"dddd [li għadda] [fil-]LT",sameElse:"L"},relativeTime:{future:"f’ %s",past:"%s ilu",s:"ftit sekondi",ss:"%d sekondi",m:"minuta",mm:"%d minuti",h:"siegħa",hh:"%d siegħat",d:"ġurnata",dd:"%d ġranet",M:"xahar",MM:"%d xhur",y:"sena",yy:"%d sni"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={1:"၁",2:"၂",3:"၃",4:"၄",5:"၅",6:"၆",7:"၇",8:"၈",9:"၉",0:"၀"},n={"၁":"1","၂":"2","၃":"3","၄":"4","၅":"5","၆":"6","၇":"7","၈":"8","၉":"9","၀":"0"};e.defineLocale("my",{months:"ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ".split("_"),monthsShort:"ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ".split("_"),weekdays:"တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ".split("_"),weekdaysShort:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),weekdaysMin:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ယနေ.] LT [မှာ]",nextDay:"[မနက်ဖြန်] LT [မှာ]",nextWeek:"dddd LT [မှာ]",lastDay:"[မနေ.က] LT [မှာ]",lastWeek:"[ပြီးခဲ့သော] dddd LT [မှာ]",sameElse:"L"},relativeTime:{future:"လာမည့် %s မှာ",past:"လွန်ခဲ့သော %s က",s:"စက္ကန်.အနည်းငယ်",ss:"%d စက္ကန့်",m:"တစ်မိနစ်",mm:"%d မိနစ်",h:"တစ်နာရီ",hh:"%d နာရီ",d:"တစ်ရက်",dd:"%d ရက်",M:"တစ်လ",MM:"%d လ",y:"တစ်နှစ်",yy:"%d နှစ်"},preparse:function(e){return e.replace(/[၁၂၃၄၅၆၇၈၉၀]/g,(function(e){return n[e]}))},postformat:function(e){return e.replace(/\d/g,(function(e){return t[e]}))},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"sø._ma._ti._on._to._fr._lø.".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",ss:"%d sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en måned",MM:"%d måneder",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},n={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};e.defineLocale("ne",{months:"जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर".split("_"),monthsShort:"जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.".split("_"),monthsParseExact:!0,weekdays:"आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार".split("_"),weekdaysShort:"आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.".split("_"),weekdaysMin:"आ._सो._मं._बु._बि._शु._श.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"Aको h:mm बजे",LTS:"Aको h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, Aको h:mm बजे",LLLL:"dddd, D MMMM YYYY, Aको h:mm बजे"},preparse:function(e){return e.replace(/[१२३४५६७८९०]/g,(function(e){return n[e]}))},postformat:function(e){return e.replace(/\d/g,(function(e){return t[e]}))},meridiemParse:/राति|बिहान|दिउँसो|साँझ/,meridiemHour:function(e,t){return 12===e&&(e=0),"राति"===t?e<4?e:e+12:"बिहान"===t?e:"दिउँसो"===t?e>=10?e:e+12:"साँझ"===t?e+12:void 0},meridiem:function(e,t,n){return e<3?"राति":e<12?"बिहान":e<16?"दिउँसो":e<20?"साँझ":"राति"},calendar:{sameDay:"[आज] LT",nextDay:"[भोलि] LT",nextWeek:"[आउँदो] dddd[,] LT",lastDay:"[हिजो] LT",lastWeek:"[गएको] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%sमा",past:"%s अगाडि",s:"केही क्षण",ss:"%d सेकेण्ड",m:"एक मिनेट",mm:"%d मिनेट",h:"एक घण्टा",hh:"%d घण्टा",d:"एक दिन",dd:"%d दिन",M:"एक महिना",MM:"%d महिना",y:"एक बर्ष",yy:"%d बर्ष"},week:{dow:0,doy:6}})}(n(0))},function(e,t,n){!function(e){"use strict";var t="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),a=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],r=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;e.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?n[e.month()]:t[e.month()]:t},monthsRegex:r,monthsShortRegex:r,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),n="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),a=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],r=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;e.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,a){return e?/-MMM-/.test(a)?n[e.month()]:t[e.month()]:t},monthsRegex:r,monthsShortRegex:r,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:a,longMonthsParse:a,shortMonthsParse:a,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_mån_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_må_ty_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I går klokka] LT",lastWeek:"[Føregåande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",ss:"%d sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",M:"ein månad",MM:"%d månader",y:"eit år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={1:"੧",2:"੨",3:"੩",4:"੪",5:"੫",6:"੬",7:"੭",8:"੮",9:"੯",0:"੦"},n={"੧":"1","੨":"2","੩":"3","੪":"4","੫":"5","੬":"6","੭":"7","੮":"8","੯":"9","੦":"0"};e.defineLocale("pa-in",{months:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),monthsShort:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),weekdays:"ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ".split("_"),weekdaysShort:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),weekdaysMin:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),longDateFormat:{LT:"A h:mm ਵਜੇ",LTS:"A h:mm:ss ਵਜੇ",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm ਵਜੇ",LLLL:"dddd, D MMMM YYYY, A h:mm ਵਜੇ"},calendar:{sameDay:"[ਅਜ] LT",nextDay:"[ਕਲ] LT",nextWeek:"dddd, LT",lastDay:"[ਕਲ] LT",lastWeek:"[ਪਿਛਲੇ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ਵਿੱਚ",past:"%s ਪਿਛਲੇ",s:"ਕੁਝ ਸਕਿੰਟ",ss:"%d ਸਕਿੰਟ",m:"ਇਕ ਮਿੰਟ",mm:"%d ਮਿੰਟ",h:"ਇੱਕ ਘੰਟਾ",hh:"%d ਘੰਟੇ",d:"ਇੱਕ ਦਿਨ",dd:"%d ਦਿਨ",M:"ਇੱਕ ਮਹੀਨਾ",MM:"%d ਮਹੀਨੇ",y:"ਇੱਕ ਸਾਲ",yy:"%d ਸਾਲ"},preparse:function(e){return e.replace(/[੧੨੩੪੫੬੭੮੯੦]/g,(function(e){return n[e]}))},postformat:function(e){return e.replace(/\d/g,(function(e){return t[e]}))},meridiemParse:/ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,meridiemHour:function(e,t){return 12===e&&(e=0),"ਰਾਤ"===t?e<4?e:e+12:"ਸਵੇਰ"===t?e:"ਦੁਪਹਿਰ"===t?e>=10?e:e+12:"ਸ਼ਾਮ"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"ਰਾਤ":e<10?"ਸਵੇਰ":e<17?"ਦੁਪਹਿਰ":e<20?"ਸ਼ਾਮ":"ਰਾਤ"},week:{dow:0,doy:6}})}(n(0))},function(e,t,n){!function(e){"use strict";var t="styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),n="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_");function a(e){return e%10<5&&e%10>1&&~~(e/10)%10!=1}function r(e,t,n){var r=e+" ";switch(n){case"ss":return r+(a(e)?"sekundy":"sekund");case"m":return t?"minuta":"minutę";case"mm":return r+(a(e)?"minuty":"minut");case"h":return t?"godzina":"godzinę";case"hh":return r+(a(e)?"godziny":"godzin");case"MM":return r+(a(e)?"miesiące":"miesięcy");case"yy":return r+(a(e)?"lata":"lat")}}e.defineLocale("pl",{months:function(e,a){return e?""===a?"("+n[e.month()]+"|"+t[e.month()]+")":/D MMMM/.test(a)?n[e.month()]:t[e.month()]:t},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),weekdays:"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_śr_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dziś o] LT",nextDay:"[Jutro o] LT",nextWeek:function(){switch(this.day()){case 0:return"[W niedzielę o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W środę o] LT";case 6:return"[W sobotę o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zeszłą niedzielę o] LT";case 3:return"[W zeszłą środę o] LT";case 6:return"[W zeszłą sobotę o] LT";default:return"[W zeszły] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",ss:r,m:r,mm:r,h:r,hh:r,d:"1 dzień",dd:"%d dni",M:"miesiąc",MM:r,y:"rok",yy:r},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("pt",{months:"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("pt-br",{months:"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"poucos segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº"})}(n(0))},function(e,t,n){!function(e){"use strict";function t(e,t,n){var a=" ";return(e%100>=20||e>=100&&e%100==0)&&(a=" de "),e+a+{ss:"secunde",mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"}[n]}e.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminică_luni_marți_miercuri_joi_vineri_sâmbătă".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[mâine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s în urmă",s:"câteva secunde",ss:t,m:"un minut",mm:t,h:"o oră",hh:t,d:"o zi",dd:t,M:"o lună",MM:t,y:"un an",yy:t},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";function t(e,t,n){var a,r;return"m"===n?t?"минута":"минуту":e+" "+(a=+e,r={ss:t?"секунда_секунды_секунд":"секунду_секунды_секунд",mm:t?"минута_минуты_минут":"минуту_минуты_минут",hh:"час_часа_часов",dd:"день_дня_дней",MM:"месяц_месяца_месяцев",yy:"год_года_лет"}[n].split("_"),a%10==1&&a%100!=11?r[0]:a%10>=2&&a%10<=4&&(a%100<10||a%100>=20)?r[1]:r[2])}var n=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i];e.defineLocale("ru",{months:{format:"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_"),standalone:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_")},monthsShort:{format:"янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.".split("_"),standalone:"янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.".split("_")},weekdays:{standalone:"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),format:"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу".split("_"),isFormat:/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/},weekdaysShort:"вс_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"вс_пн_вт_ср_чт_пт_сб".split("_"),monthsParse:n,longMonthsParse:n,shortMonthsParse:n,monthsRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsShortRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsStrictRegex:/^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,monthsShortStrictRegex:/^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., H:mm",LLLL:"dddd, D MMMM YYYY г., H:mm"},calendar:{sameDay:"[Сегодня в] LT",nextDay:"[Завтра в] LT",lastDay:"[Вчера в] LT",nextWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В следующее] dddd [в] LT";case 1:case 2:case 4:return"[В следующий] dddd [в] LT";case 3:case 5:case 6:return"[В следующую] dddd [в] LT"}},lastWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В прошлое] dddd [в] LT";case 1:case 2:case 4:return"[В прошлый] dddd [в] LT";case 3:case 5:case 6:return"[В прошлую] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",ss:t,m:t,mm:t,h:"час",hh:t,d:"день",dd:t,M:"месяц",MM:t,y:"год",yy:t},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(e){return/^(дня|вечера)$/.test(e)},meridiem:function(e,t,n){return e<4?"ночи":e<12?"утра":e<17?"дня":"вечера"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го|я)/,ordinal:function(e,t){switch(t){case"M":case"d":case"DDD":return e+"-й";case"D":return e+"-го";case"w":case"W":return e+"-я";default:return e}},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t=["جنوري","فيبروري","مارچ","اپريل","مئي","جون","جولاءِ","آگسٽ","سيپٽمبر","آڪٽوبر","نومبر","ڊسمبر"],n=["آچر","سومر","اڱارو","اربع","خميس","جمع","ڇنڇر"];e.defineLocale("sd",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,n){return e<12?"صبح":"شام"},calendar:{sameDay:"[اڄ] LT",nextDay:"[سڀاڻي] LT",nextWeek:"dddd [اڳين هفتي تي] LT",lastDay:"[ڪالهه] LT",lastWeek:"[گزريل هفتي] dddd [تي] LT",sameElse:"L"},relativeTime:{future:"%s پوء",past:"%s اڳ",s:"چند سيڪنڊ",ss:"%d سيڪنڊ",m:"هڪ منٽ",mm:"%d منٽ",h:"هڪ ڪلاڪ",hh:"%d ڪلاڪ",d:"هڪ ڏينهن",dd:"%d ڏينهن",M:"هڪ مهينو",MM:"%d مهينا",y:"هڪ سال",yy:"%d سال"},preparse:function(e){return e.replace(/،/g,",")},postformat:function(e){return e.replace(/,/g,"،")},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("se",{months:"ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu".split("_"),monthsShort:"ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov".split("_"),weekdays:"sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat".split("_"),weekdaysShort:"sotn_vuos_maŋ_gask_duor_bear_láv".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s geažes",past:"maŋit %s",s:"moadde sekunddat",ss:"%d sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta mánnu",MM:"%d mánut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("si",{months:"ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්".split("_"),monthsShort:"ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ".split("_"),weekdays:"ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා".split("_"),weekdaysShort:"ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන".split("_"),weekdaysMin:"ඉ_ස_අ_බ_බ්‍ර_සි_සෙ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [වැනි] dddd, a h:mm:ss"},calendar:{sameDay:"[අද] LT[ට]",nextDay:"[හෙට] LT[ට]",nextWeek:"dddd LT[ට]",lastDay:"[ඊයේ] LT[ට]",lastWeek:"[පසුගිය] dddd LT[ට]",sameElse:"L"},relativeTime:{future:"%sකින්",past:"%sකට පෙර",s:"තත්පර කිහිපය",ss:"තත්පර %d",m:"මිනිත්තුව",mm:"මිනිත්තු %d",h:"පැය",hh:"පැය %d",d:"දිනය",dd:"දින %d",M:"මාසය",MM:"මාස %d",y:"වසර",yy:"වසර %d"},dayOfMonthOrdinalParse:/\d{1,2} වැනි/,ordinal:function(e){return e+" වැනි"},meridiemParse:/පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,isPM:function(e){return"ප.ව."===e||"පස් වරු"===e},meridiem:function(e,t,n){return e>11?n?"ප.ව.":"පස් වරු":n?"පෙ.ව.":"පෙර වරු"}})}(n(0))},function(e,t,n){!function(e){"use strict";var t="január_február_marec_apríl_máj_jún_júl_august_september_október_november_december".split("_"),n="jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec".split("_");function a(e){return e>1&&e<5}function r(e,t,n,r){var o=e+" ";switch(n){case"s":return t||r?"pár sekúnd":"pár sekundami";case"ss":return t||r?o+(a(e)?"sekundy":"sekúnd"):o+"sekundami";case"m":return t?"minúta":r?"minútu":"minútou";case"mm":return t||r?o+(a(e)?"minúty":"minút"):o+"minútami";case"h":return t?"hodina":r?"hodinu":"hodinou";case"hh":return t||r?o+(a(e)?"hodiny":"hodín"):o+"hodinami";case"d":return t||r?"deň":"dňom";case"dd":return t||r?o+(a(e)?"dni":"dní"):o+"dňami";case"M":return t||r?"mesiac":"mesiacom";case"MM":return t||r?o+(a(e)?"mesiace":"mesiacov"):o+"mesiacmi";case"y":return t||r?"rok":"rokom";case"yy":return t||r?o+(a(e)?"roky":"rokov"):o+"rokmi"}}e.defineLocale("sk",{months:t,monthsShort:n,weekdays:"nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_št_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_št_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nedeľu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo štvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[včera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulú nedeľu o] LT";case 1:case 2:return"[minulý] dddd [o] LT";case 3:return"[minulú stredu o] LT";case 4:case 5:return"[minulý] dddd [o] LT";case 6:return"[minulú sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:r,ss:r,m:r,mm:r,h:r,hh:r,d:r,dd:r,M:r,MM:r,y:r,yy:r},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";function t(e,t,n,a){var r=e+" ";switch(n){case"s":return t||a?"nekaj sekund":"nekaj sekundami";case"ss":return r+=1===e?t?"sekundo":"sekundi":2===e?t||a?"sekundi":"sekundah":e<5?t||a?"sekunde":"sekundah":"sekund";case"m":return t?"ena minuta":"eno minuto";case"mm":return r+=1===e?t?"minuta":"minuto":2===e?t||a?"minuti":"minutama":e<5?t||a?"minute":"minutami":t||a?"minut":"minutami";case"h":return t?"ena ura":"eno uro";case"hh":return r+=1===e?t?"ura":"uro":2===e?t||a?"uri":"urama":e<5?t||a?"ure":"urami":t||a?"ur":"urami";case"d":return t||a?"en dan":"enim dnem";case"dd":return r+=1===e?t||a?"dan":"dnem":2===e?t||a?"dni":"dnevoma":t||a?"dni":"dnevi";case"M":return t||a?"en mesec":"enim mesecem";case"MM":return r+=1===e?t||a?"mesec":"mesecem":2===e?t||a?"meseca":"mesecema":e<5?t||a?"mesece":"meseci":t||a?"mesecev":"meseci";case"y":return t||a?"eno leto":"enim letom";case"yy":return r+=1===e?t||a?"leto":"letom":2===e?t||a?"leti":"letoma":e<5?t||a?"leta":"leti":t||a?"let":"leti"}}e.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._čet._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_če_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[včeraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prejšnjo] [nedeljo] [ob] LT";case 3:return"[prejšnjo] [sredo] [ob] LT";case 6:return"[prejšnjo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prejšnji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"čez %s",past:"pred %s",s:t,ss:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj".split("_"),weekdays:"E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë".split("_"),weekdaysShort:"Die_Hën_Mar_Mër_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_Më_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(e){return"M"===e.charAt(0)},meridiem:function(e,t,n){return e<12?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot në] LT",nextDay:"[Nesër në] LT",nextWeek:"dddd [në] LT",lastDay:"[Dje në] LT",lastWeek:"dddd [e kaluar në] LT",sameElse:"L"},relativeTime:{future:"në %s",past:"%s më parë",s:"disa sekonda",ss:"%d sekonda",m:"një minutë",mm:"%d minuta",h:"një orë",hh:"%d orë",d:"një ditë",dd:"%d ditë",M:"një muaj",MM:"%d muaj",y:"një vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={words:{ss:["sekunda","sekunde","sekundi"],m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(e,t){return 1===e?t[0]:e>=2&&e<=4?t[1]:t[2]},translate:function(e,n,a){var r=t.words[a];return 1===a.length?n?r[0]:r[1]:e+" "+t.correctGrammaticalCase(e,r)}};e.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){return["[prošle] [nedelje] [u] LT","[prošlog] [ponedeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",ss:t.translate,m:t.translate,mm:t.translate,h:t.translate,hh:t.translate,d:"dan",dd:t.translate,M:"mesec",MM:t.translate,y:"godinu",yy:t.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={words:{ss:["секунда","секунде","секунди"],m:["један минут","једне минуте"],mm:["минут","минуте","минута"],h:["један сат","једног сата"],hh:["сат","сата","сати"],dd:["дан","дана","дана"],MM:["месец","месеца","месеци"],yy:["година","године","година"]},correctGrammaticalCase:function(e,t){return 1===e?t[0]:e>=2&&e<=4?t[1]:t[2]},translate:function(e,n,a){var r=t.words[a];return 1===a.length?n?r[0]:r[1]:e+" "+t.correctGrammaticalCase(e,r)}};e.defineLocale("sr-cyrl",{months:"јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар".split("_"),monthsShort:"јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.".split("_"),monthsParseExact:!0,weekdays:"недеља_понедељак_уторак_среда_четвртак_петак_субота".split("_"),weekdaysShort:"нед._пон._уто._сре._чет._пет._суб.".split("_"),weekdaysMin:"не_по_ут_ср_че_пе_су".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[данас у] LT",nextDay:"[сутра у] LT",nextWeek:function(){switch(this.day()){case 0:return"[у] [недељу] [у] LT";case 3:return"[у] [среду] [у] LT";case 6:return"[у] [суботу] [у] LT";case 1:case 2:case 4:case 5:return"[у] dddd [у] LT"}},lastDay:"[јуче у] LT",lastWeek:function(){return["[прошле] [недеље] [у] LT","[прошлог] [понедељка] [у] LT","[прошлог] [уторка] [у] LT","[прошле] [среде] [у] LT","[прошлог] [четвртка] [у] LT","[прошлог] [петка] [у] LT","[прошле] [суботе] [у] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"за %s",past:"пре %s",s:"неколико секунди",ss:t.translate,m:t.translate,mm:t.translate,h:t.translate,hh:t.translate,d:"дан",dd:t.translate,M:"месец",MM:t.translate,y:"годину",yy:t.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",ss:"%d mzuzwana",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(e,t,n){return e<11?"ekuseni":e<15?"emini":e<19?"entsambama":"ebusuku"},meridiemHour:function(e,t){return 12===e&&(e=0),"ekuseni"===t?e:"emini"===t?e>=11?e:e+12:"entsambama"===t||"ebusuku"===t?0===e?0:e+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag".split("_"),weekdaysShort:"sön_mån_tis_ons_tor_fre_lör".split("_"),weekdaysMin:"sö_må_ti_on_to_fr_lö".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Igår] LT",nextWeek:"[På] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"för %s sedan",s:"några sekunder",ss:"%d sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en månad",MM:"%d månader",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}(e|a)/,ordinal:function(e){var t=e%10;return e+(1==~~(e%100/10)?"e":1===t||2===t?"a":"e")},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",ss:"sekunde %d",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"masiku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={1:"௧",2:"௨",3:"௩",4:"௪",5:"௫",6:"௬",7:"௭",8:"௮",9:"௯",0:"௦"},n={"௧":"1","௨":"2","௩":"3","௪":"4","௫":"5","௬":"6","௭":"7","௮":"8","௯":"9","௦":"0"};e.defineLocale("ta",{months:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),monthsShort:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),weekdays:"ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை".split("_"),weekdaysShort:"ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி".split("_"),weekdaysMin:"ஞா_தி_செ_பு_வி_வெ_ச".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[இன்று] LT",nextDay:"[நாளை] LT",nextWeek:"dddd, LT",lastDay:"[நேற்று] LT",lastWeek:"[கடந்த வாரம்] dddd, LT",sameElse:"L"},relativeTime:{future:"%s இல்",past:"%s முன்",s:"ஒரு சில விநாடிகள்",ss:"%d விநாடிகள்",m:"ஒரு நிமிடம்",mm:"%d நிமிடங்கள்",h:"ஒரு மணி நேரம்",hh:"%d மணி நேரம்",d:"ஒரு நாள்",dd:"%d நாட்கள்",M:"ஒரு மாதம்",MM:"%d மாதங்கள்",y:"ஒரு வருடம்",yy:"%d ஆண்டுகள்"},dayOfMonthOrdinalParse:/\d{1,2}வது/,ordinal:function(e){return e+"வது"},preparse:function(e){return e.replace(/[௧௨௩௪௫௬௭௮௯௦]/g,(function(e){return n[e]}))},postformat:function(e){return e.replace(/\d/g,(function(e){return t[e]}))},meridiemParse:/யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,meridiem:function(e,t,n){return e<2?" யாமம்":e<6?" வைகறை":e<10?" காலை":e<14?" நண்பகல்":e<18?" எற்பாடு":e<22?" மாலை":" யாமம்"},meridiemHour:function(e,t){return 12===e&&(e=0),"யாமம்"===t?e<2?e:e+12:"வைகறை"===t||"காலை"===t||"நண்பகல்"===t&&e>=10?e:e+12},week:{dow:0,doy:6}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("te",{months:"జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్".split("_"),monthsShort:"జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.".split("_"),monthsParseExact:!0,weekdays:"ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం".split("_"),weekdaysShort:"ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని".split("_"),weekdaysMin:"ఆ_సో_మం_బు_గు_శు_శ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[నేడు] LT",nextDay:"[రేపు] LT",nextWeek:"dddd, LT",lastDay:"[నిన్న] LT",lastWeek:"[గత] dddd, LT",sameElse:"L"},relativeTime:{future:"%s లో",past:"%s క్రితం",s:"కొన్ని క్షణాలు",ss:"%d సెకన్లు",m:"ఒక నిమిషం",mm:"%d నిమిషాలు",h:"ఒక గంట",hh:"%d గంటలు",d:"ఒక రోజు",dd:"%d రోజులు",M:"ఒక నెల",MM:"%d నెలలు",y:"ఒక సంవత్సరం",yy:"%d సంవత్సరాలు"},dayOfMonthOrdinalParse:/\d{1,2}వ/,ordinal:"%dవ",meridiemParse:/రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,meridiemHour:function(e,t){return 12===e&&(e=0),"రాత్రి"===t?e<4?e:e+12:"ఉదయం"===t?e:"మధ్యాహ్నం"===t?e>=10?e:e+12:"సాయంత్రం"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"రాత్రి":e<10?"ఉదయం":e<17?"మధ్యాహ్నం":e<20?"సాయంత్రం":"రాత్రి"},week:{dow:0,doy:6}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sest_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Ses_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ohin iha] LT",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",lastWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha %s",past:"%s liuba",s:"minutu balun",ss:"minutu %d",m:"minutu ida",mm:"minutu %d",h:"oras ida",hh:"oras %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10;return e+(1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={0:"-ум",1:"-ум",2:"-юм",3:"-юм",4:"-ум",5:"-ум",6:"-ум",7:"-ум",8:"-ум",9:"-ум",10:"-ум",12:"-ум",13:"-ум",20:"-ум",30:"-юм",40:"-ум",50:"-ум",60:"-ум",70:"-ум",80:"-ум",90:"-ум",100:"-ум"};e.defineLocale("tg",{months:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе".split("_"),weekdaysShort:"яшб_дшб_сшб_чшб_пшб_ҷум_шнб".split("_"),weekdaysMin:"яш_дш_сш_чш_пш_ҷм_шб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Имрӯз соати] LT",nextDay:"[Пагоҳ соати] LT",lastDay:"[Дирӯз соати] LT",nextWeek:"dddd[и] [ҳафтаи оянда соати] LT",lastWeek:"dddd[и] [ҳафтаи гузашта соати] LT",sameElse:"L"},relativeTime:{future:"баъди %s",past:"%s пеш",s:"якчанд сония",m:"як дақиқа",mm:"%d дақиқа",h:"як соат",hh:"%d соат",d:"як рӯз",dd:"%d рӯз",M:"як моҳ",MM:"%d моҳ",y:"як сол",yy:"%d сол"},meridiemParse:/шаб|субҳ|рӯз|бегоҳ/,meridiemHour:function(e,t){return 12===e&&(e=0),"шаб"===t?e<4?e:e+12:"субҳ"===t?e:"рӯз"===t?e>=11?e:e+12:"бегоҳ"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"шаб":e<11?"субҳ":e<16?"рӯз":e<19?"бегоҳ":"шаб"},dayOfMonthOrdinalParse:/\d{1,2}-(ум|юм)/,ordinal:function(e){return e+(t[e]||t[e%10]||t[e>=100?100:null])},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("th",{months:"มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม".split("_"),monthsShort:"ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.".split("_"),monthsParseExact:!0,weekdays:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์".split("_"),weekdaysShort:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์".split("_"),weekdaysMin:"อา._จ._อ._พ._พฤ._ศ._ส.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY เวลา H:mm",LLLL:"วันddddที่ D MMMM YYYY เวลา H:mm"},meridiemParse:/ก่อนเที่ยง|หลังเที่ยง/,isPM:function(e){return"หลังเที่ยง"===e},meridiem:function(e,t,n){return e<12?"ก่อนเที่ยง":"หลังเที่ยง"},calendar:{sameDay:"[วันนี้ เวลา] LT",nextDay:"[พรุ่งนี้ เวลา] LT",nextWeek:"dddd[หน้า เวลา] LT",lastDay:"[เมื่อวานนี้ เวลา] LT",lastWeek:"[วัน]dddd[ที่แล้ว เวลา] LT",sameElse:"L"},relativeTime:{future:"อีก %s",past:"%sที่แล้ว",s:"ไม่กี่วินาที",ss:"%d วินาที",m:"1 นาที",mm:"%d นาที",h:"1 ชั่วโมง",hh:"%d ชั่วโมง",d:"1 วัน",dd:"%d วัน",M:"1 เดือน",MM:"%d เดือน",y:"1 ปี",yy:"%d ปี"}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t="pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_");function n(e,n,a,r){var o=function(e){var n=Math.floor(e%1e3/100),a=Math.floor(e%100/10),r=e%10,o="";return n>0&&(o+=t[n]+"vatlh"),a>0&&(o+=(""!==o?" ":"")+t[a]+"maH"),r>0&&(o+=(""!==o?" ":"")+t[r]),""===o?"pagh":o}(e);switch(a){case"ss":return o+" lup";case"mm":return o+" tup";case"hh":return o+" rep";case"dd":return o+" jaj";case"MM":return o+" jar";case"yy":return o+" DIS"}}e.defineLocale("tlh",{months:"tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’".split("_"),monthsShort:"jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DaHjaj] LT",nextDay:"[wa’leS] LT",nextWeek:"LLL",lastDay:"[wa’Hu’] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:function(e){var t=e;return t=-1!==e.indexOf("jaj")?t.slice(0,-3)+"leS":-1!==e.indexOf("jar")?t.slice(0,-3)+"waQ":-1!==e.indexOf("DIS")?t.slice(0,-3)+"nem":t+" pIq"},past:function(e){var t=e;return t=-1!==e.indexOf("jaj")?t.slice(0,-3)+"Hu’":-1!==e.indexOf("jar")?t.slice(0,-3)+"wen":-1!==e.indexOf("DIS")?t.slice(0,-3)+"ben":t+" ret"},s:"puS lup",ss:n,m:"wa’ tup",mm:n,h:"wa’ rep",hh:n,d:"wa’ jaj",dd:n,M:"wa’ jar",MM:n,y:"wa’ DIS",yy:n},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";var t={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'üncü",4:"'üncü",100:"'üncü",6:"'ncı",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ıncı",90:"'ıncı"};e.defineLocale("tr",{months:"Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık".split("_"),monthsShort:"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_Çar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[yarın saat] LT",nextWeek:"[gelecek] dddd [saat] LT",lastDay:"[dün] LT",lastWeek:"[geçen] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s önce",s:"birkaç saniye",ss:"%d saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir yıl",yy:"%d yıl"},ordinal:function(e,n){switch(n){case"d":case"D":case"Do":case"DD":return e;default:if(0===e)return e+"'ıncı";var a=e%10;return e+(t[a]||t[e%100-a]||t[e>=100?100:null])}},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";function t(e,t,n,a){var r={s:["viensas secunds","'iensas secunds"],ss:[e+" secunds",e+" secunds"],m:["'n míut","'iens míut"],mm:[e+" míuts",e+" míuts"],h:["'n þora","'iensa þora"],hh:[e+" þoras",e+" þoras"],d:["'n ziua","'iensa ziua"],dd:[e+" ziuas",e+" ziuas"],M:["'n mes","'iens mes"],MM:[e+" mesen",e+" mesen"],y:["'n ar","'iens ar"],yy:[e+" ars",e+" ars"]};return a||t?r[n][0]:r[n][1]}e.defineLocale("tzl",{months:"Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi".split("_"),weekdaysShort:"Súl_Lún_Mai_Már_Xhú_Vié_Sát".split("_"),weekdaysMin:"Sú_Lú_Ma_Má_Xh_Vi_Sá".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(e){return"d'o"===e.toLowerCase()},meridiem:function(e,t,n){return e>11?n?"d'o":"D'O":n?"d'a":"D'A"},calendar:{sameDay:"[oxhi à] LT",nextDay:"[demà à] LT",nextWeek:"dddd [à] LT",lastDay:"[ieiri à] LT",lastWeek:"[sür el] dddd [lasteu à] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:t,ss:t,m:t,mm:t,h:t,hh:t,d:t,dd:t,M:t,MM:t,y:t,yy:t},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("tzm",{months:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),monthsShort:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),weekdays:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysShort:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysMin:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ⴰⵙⴷⵅ ⴴ] LT",nextDay:"[ⴰⵙⴽⴰ ⴴ] LT",nextWeek:"dddd [ⴴ] LT",lastDay:"[ⴰⵚⴰⵏⵜ ⴴ] LT",lastWeek:"dddd [ⴴ] LT",sameElse:"L"},relativeTime:{future:"ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s",past:"ⵢⴰⵏ %s",s:"ⵉⵎⵉⴽ",ss:"%d ⵉⵎⵉⴽ",m:"ⵎⵉⵏⵓⴺ",mm:"%d ⵎⵉⵏⵓⴺ",h:"ⵙⴰⵄⴰ",hh:"%d ⵜⴰⵙⵙⴰⵄⵉⵏ",d:"ⴰⵙⵙ",dd:"%d oⵙⵙⴰⵏ",M:"ⴰⵢoⵓⵔ",MM:"%d ⵉⵢⵢⵉⵔⵏ",y:"ⴰⵙⴳⴰⵙ",yy:"%d ⵉⵙⴳⴰⵙⵏ"},week:{dow:6,doy:12}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("tzm-latn",{months:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",ss:"%d imik",m:"minuḍ",mm:"%d minuḍ",h:"saɛa",hh:"%d tassaɛin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("ug-cn",{months:"يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر".split("_"),monthsShort:"يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر".split("_"),weekdays:"يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە".split("_"),weekdaysShort:"يە_دۈ_سە_چا_پە_جۈ_شە".split("_"),weekdaysMin:"يە_دۈ_سە_چا_پە_جۈ_شە".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY-يىلىM-ئاينىڭD-كۈنى",LLL:"YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm",LLLL:"dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm"},meridiemParse:/يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,meridiemHour:function(e,t){return 12===e&&(e=0),"يېرىم كېچە"===t||"سەھەر"===t||"چۈشتىن بۇرۇن"===t?e:"چۈشتىن كېيىن"===t||"كەچ"===t?e+12:e>=11?e:e+12},meridiem:function(e,t,n){var a=100*e+t;return a<600?"يېرىم كېچە":a<900?"سەھەر":a<1130?"چۈشتىن بۇرۇن":a<1230?"چۈش":a<1800?"چۈشتىن كېيىن":"كەچ"},calendar:{sameDay:"[بۈگۈن سائەت] LT",nextDay:"[ئەتە سائەت] LT",nextWeek:"[كېلەركى] dddd [سائەت] LT",lastDay:"[تۆنۈگۈن] LT",lastWeek:"[ئالدىنقى] dddd [سائەت] LT",sameElse:"L"},relativeTime:{future:"%s كېيىن",past:"%s بۇرۇن",s:"نەچچە سېكونت",ss:"%d سېكونت",m:"بىر مىنۇت",mm:"%d مىنۇت",h:"بىر سائەت",hh:"%d سائەت",d:"بىر كۈن",dd:"%d كۈن",M:"بىر ئاي",MM:"%d ئاي",y:"بىر يىل",yy:"%d يىل"},dayOfMonthOrdinalParse:/\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"-كۈنى";case"w":case"W":return e+"-ھەپتە";default:return e}},preparse:function(e){return e.replace(/،/g,",")},postformat:function(e){return e.replace(/,/g,"،")},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";function t(e,t,n){var a,r;return"m"===n?t?"хвилина":"хвилину":"h"===n?t?"година":"годину":e+" "+(a=+e,r={ss:t?"секунда_секунди_секунд":"секунду_секунди_секунд",mm:t?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:t?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"}[n].split("_"),a%10==1&&a%100!=11?r[0]:a%10>=2&&a%10<=4&&(a%100<10||a%100>=20)?r[1]:r[2])}function n(e){return function(){return e+"о"+(11===this.hours()?"б":"")+"] LT"}}e.defineLocale("uk",{months:{format:"січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня".split("_"),standalone:"січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень".split("_")},monthsShort:"січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд".split("_"),weekdays:function(e,t){var n={nominative:"неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота".split("_"),accusative:"неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу".split("_"),genitive:"неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи".split("_")};return e?n[/(\[[ВвУу]\]) ?dddd/.test(t)?"accusative":/\[?(?:минулої|наступної)? ?\] ?dddd/.test(t)?"genitive":"nominative"][e.day()]:n.nominative},weekdaysShort:"нд_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY р.",LLL:"D MMMM YYYY р., HH:mm",LLLL:"dddd, D MMMM YYYY р., HH:mm"},calendar:{sameDay:n("[Сьогодні "),nextDay:n("[Завтра "),lastDay:n("[Вчора "),nextWeek:n("[У] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return n("[Минулої] dddd [").call(this);case 1:case 2:case 4:return n("[Минулого] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"за %s",past:"%s тому",s:"декілька секунд",ss:t,m:t,mm:t,h:"годину",hh:t,d:"день",dd:t,M:"місяць",MM:t,y:"рік",yy:t},meridiemParse:/ночі|ранку|дня|вечора/,isPM:function(e){return/^(дня|вечора)$/.test(e)},meridiem:function(e,t,n){return e<4?"ночі":e<12?"ранку":e<17?"дня":"вечора"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го)/,ordinal:function(e,t){switch(t){case"M":case"d":case"DDD":case"w":case"W":return e+"-й";case"D":return e+"-го";default:return e}},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";var t=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],n=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];e.defineLocale("ur",{months:t,monthsShort:t,weekdays:n,weekdaysShort:n,weekdaysMin:n,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,n){return e<12?"صبح":"شام"},calendar:{sameDay:"[آج بوقت] LT",nextDay:"[کل بوقت] LT",nextWeek:"dddd [بوقت] LT",lastDay:"[گذشتہ روز بوقت] LT",lastWeek:"[گذشتہ] dddd [بوقت] LT",sameElse:"L"},relativeTime:{future:"%s بعد",past:"%s قبل",s:"چند سیکنڈ",ss:"%d سیکنڈ",m:"ایک منٹ",mm:"%d منٹ",h:"ایک گھنٹہ",hh:"%d گھنٹے",d:"ایک دن",dd:"%d دن",M:"ایک ماہ",MM:"%d ماہ",y:"ایک سال",yy:"%d سال"},preparse:function(e){return e.replace(/،/g,",")},postformat:function(e){return e.replace(/,/g,"،")},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("uz",{months:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба".split("_"),weekdaysShort:"Якш_Душ_Сеш_Чор_Пай_Жум_Шан".split("_"),weekdaysMin:"Як_Ду_Се_Чо_Па_Жу_Ша".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Бугун соат] LT [да]",nextDay:"[Эртага] LT [да]",nextWeek:"dddd [куни соат] LT [да]",lastDay:"[Кеча соат] LT [да]",lastWeek:"[Утган] dddd [куни соат] LT [да]",sameElse:"L"},relativeTime:{future:"Якин %s ичида",past:"Бир неча %s олдин",s:"фурсат",ss:"%d фурсат",m:"бир дакика",mm:"%d дакика",h:"бир соат",hh:"%d соат",d:"бир кун",dd:"%d кун",M:"бир ой",MM:"%d ой",y:"бир йил",yy:"%d йил"},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("uz-latn",{months:"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),weekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),weekdaysMin:"Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Bugun soat] LT [da]",nextDay:"[Ertaga] LT [da]",nextWeek:"dddd [kuni soat] LT [da]",lastDay:"[Kecha soat] LT [da]",lastWeek:"[O'tgan] dddd [kuni soat] LT [da]",sameElse:"L"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",ss:"%d soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d soat",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"},week:{dow:1,doy:7}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("vi",{months:"tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),monthsParseExact:!0,weekdays:"chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(e){return/^ch$/i.test(e)},meridiem:function(e,t,n){return e<12?n?"sa":"SA":n?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [năm] YYYY",LLL:"D MMMM [năm] YYYY HH:mm",LLLL:"dddd, D MMMM [năm] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[Hôm nay lúc] LT",nextDay:"[Ngày mai lúc] LT",nextWeek:"dddd [tuần tới lúc] LT",lastDay:"[Hôm qua lúc] LT",lastWeek:"dddd [tuần rồi lúc] LT",sameElse:"L"},relativeTime:{future:"%s tới",past:"%s trước",s:"vài giây",ss:"%d giây",m:"một phút",mm:"%d phút",h:"một giờ",hh:"%d giờ",d:"một ngày",dd:"%d ngày",M:"một tháng",MM:"%d tháng",y:"một năm",yy:"%d năm"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("x-pseudo",{months:"J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér".split("_"),monthsShort:"J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc".split("_"),monthsParseExact:!0,weekdays:"S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý".split("_"),weekdaysShort:"S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát".split("_"),weekdaysMin:"S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[T~ódá~ý át] LT",nextDay:"[T~ómó~rró~w át] LT",nextWeek:"dddd [át] LT",lastDay:"[Ý~ést~érdá~ý át] LT",lastWeek:"[L~ást] dddd [át] LT",sameElse:"L"},relativeTime:{future:"í~ñ %s",past:"%s á~gó",s:"á ~féw ~sécó~ñds",ss:"%d s~écóñ~ds",m:"á ~míñ~úté",mm:"%d m~íñú~tés",h:"á~ñ hó~úr",hh:"%d h~óúrs",d:"á ~dáý",dd:"%d d~áýs",M:"á ~móñ~th",MM:"%d m~óñt~hs",y:"á ~ýéár",yy:"%d ý~éárs"},dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("yo",{months:"Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀".split("_"),monthsShort:"Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀".split("_"),weekdays:"Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta".split("_"),weekdaysShort:"Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá".split("_"),weekdaysMin:"Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Ònì ni] LT",nextDay:"[Ọ̀la ni] LT",nextWeek:"dddd [Ọsẹ̀ tón'bọ] [ni] LT",lastDay:"[Àna ni] LT",lastWeek:"dddd [Ọsẹ̀ tólọ́] [ni] LT",sameElse:"L"},relativeTime:{future:"ní %s",past:"%s kọjá",s:"ìsẹjú aayá die",ss:"aayá %d",m:"ìsẹjú kan",mm:"ìsẹjú %d",h:"wákati kan",hh:"wákati %d",d:"ọjọ́ kan",dd:"ọjọ́ %d",M:"osù kan",MM:"osù %d",y:"ọdún kan",yy:"ọdún %d"},dayOfMonthOrdinalParse:/ọjọ́\s\d{1,2}/,ordinal:"ọjọ́ %d",week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("zh-cn",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah点mm分",LLLL:"YYYY年M月D日ddddAh点mm分",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,t){return 12===e&&(e=0),"凌晨"===t||"早上"===t||"上午"===t?e:"下午"===t||"晚上"===t?e+12:e>=11?e:e+12},meridiem:function(e,t,n){var a=100*e+t;return a<600?"凌晨":a<900?"早上":a<1130?"上午":a<1230?"中午":a<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|周)/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"日";case"M":return e+"月";case"w":case"W":return e+"周";default:return e}},relativeTime:{future:"%s内",past:"%s前",s:"几秒",ss:"%d 秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},week:{dow:1,doy:4}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("zh-hk",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日dddd HH:mm",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,t){return 12===e&&(e=0),"凌晨"===t||"早上"===t||"上午"===t?e:"中午"===t?e>=11?e:e+12:"下午"===t||"晚上"===t?e+12:void 0},meridiem:function(e,t,n){var a=100*e+t;return a<600?"凌晨":a<900?"早上":a<1130?"上午":a<1230?"中午":a<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"日";case"M":return e+"月";case"w":case"W":return e+"週";default:return e}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",ss:"%d 秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}})}(n(0))},function(e,t,n){!function(e){"use strict";e.defineLocale("zh-tw",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日dddd HH:mm",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,t){return 12===e&&(e=0),"凌晨"===t||"早上"===t||"上午"===t?e:"中午"===t?e>=11?e:e+12:"下午"===t||"晚上"===t?e+12:void 0},meridiem:function(e,t,n){var a=100*e+t;return a<600?"凌晨":a<900?"早上":a<1130?"上午":a<1230?"中午":a<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"日";case"M":return e+"月";case"w":case"W":return e+"週";default:return e}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",ss:"%d 秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}})}(n(0))},function(e,t,n){"use strict";var a,r=this&&this.__extends||(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,t){function n(){this.constructor=e}a(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),o=this&&this.__assign||Object.assign||function(e){for(var t,n=1,a=arguments.length;n0)return s.createElement("div",{className:"field"},s.createElement("label",{htmlFor:"add-comment-"+r+"-"+a+"-user-group-id"},c.t("components.add_comment_form.form.user_group_id.label")),s.createElement("select",{ref:this.setUserGroupIdSelect,id:"add-comment-"+r+"-"+a+"-user-group-id"},s.createElement("option",{value:""},o.name),i.map((function(e){return s.createElement("option",{key:e.id,value:e.id},e.name)}))))}return null},t.prototype._checkCommentBody=function(e,t){this.setState({disabled:""===e,error:""===e||e.length>t,remainingCharacterCount:t-e.length})},t.defaultProps={showTitle:!0,submitButtonClassName:"button button--sc",arguable:!1,autoFocus:!1},t.contextTypes={locale:l.string,toggleTranslations:l.bool},t}(s.Component);t.AddCommentForm=p;var f=n(258),y=n(13),g=u.graphql(f,{props:function(e){var t=e.ownProps,n=e.mutate;return{addComment:function(e,a){var r=e.body,i=e.alignment,s=e.userGroupId,u=a.locale,l=a.toggleTranslations;n&&n({variables:{locale:u,toggleTranslations:l,commentableId:t.commentable.id,commentableType:t.commentable.type,body:r,alignment:i,userGroupId:s},optimisticResponse:{commentable:{__typename:"CommentableMutation",addComment:{__typename:"Comment",id:d(),sgid:d(),type:"Decidim::Comments::Comment",createdAt:(new Date).toISOString(),body:r,formattedBody:r,formattedCreatedAt:(new Date).toISOString(),alignment:i,author:{__typename:"User",name:t.session&&t.session.user.name,nickname:t.session&&t.session.user.name,profilePath:null,badge:null,avatarUrl:t.session&&t.session.user.avatarUrl,deleted:!1},comments:[],hasComments:!1,acceptsNewComments:!1,userAllowedToComment:!1,upVotes:0,upVoted:!1,downVotes:0,downVoted:!1,alreadyReported:!1}}},update:function(e,n){var a=n.data,r={locale:u,toggleTranslations:l,commentableId:t.rootCommentable.id,commentableType:t.rootCommentable.type,orderBy:t.orderBy,singleCommentId:null},i=e.readQuery({query:y,variables:r}),s=t.commentable,d=s.id,m=s.type,_=a.commentable&&a.commentable.addComment,c=[],h=function(e){var t=e.comments||[];return _&&e.id===d?o({},e,{hasComments:!0,comments:t.concat([_])}):o({},e,{comments:t.map(h)})};i&&(c="Decidim::Comments::Comment"===m?i.commentable.comments.map(h):i.commentable.comments.concat([_]),e.writeQuery({query:y,data:o({},i,{commentable:o({},i.commentable,{totalCommentsCount:i.commentable.totalCommentsCount+1,comments:c})}),variables:r}))}})}}}})(p);t.default=g},function(e,t,n){var a; -/*! - Copyright (c) 2016 Jed Watson. - Licensed under the MIT License (MIT), see - http://jedwatson.github.io/classnames -*/!function(){"use strict";var n={}.hasOwnProperty;function r(){for(var e=[],t=0;t>>((3&t)<<3)&255;return r}}},function(e,t){for(var n=[],a=0;a<256;++a)n[a]=(a+256).toString(16).substr(1);e.exports=function(e,t){var a=t||0,r=n;return r[e[a++]]+r[e[a++]]+r[e[a++]]+r[e[a++]]+"-"+r[e[a++]]+r[e[a++]]+"-"+r[e[a++]]+r[e[a++]]+"-"+r[e[a++]]+r[e[a++]]+"-"+r[e[a++]]+r[e[a++]]+r[e[a++]]+r[e[a++]]+r[e[a++]]+r[e[a++]]}},function(e,t,n){var a={kind:"Document",definitions:[{kind:"FragmentDefinition",name:{kind:"Name",value:"CommentThread"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Comment"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"hasComments"},arguments:[],directives:[]},{kind:"FragmentSpread",name:{kind:"Name",value:"Comment"},directives:[]}]}}],loc:{start:0,end:114}};a.loc.source={body:'#import "../fragments/comment.fragment.graphql"\n\nfragment CommentThread on Comment {\n hasComments\n ...Comment\n}\n',name:"GraphQL request",locationOffset:{line:1,column:1}};var r={};a.definitions=a.definitions.concat(n(17).definitions.filter((function(e){if("FragmentDefinition"!==e.kind)return!0;var t=e.name.value;return!r[t]&&(r[t]=!0,!0)}))),e.exports=a},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(3),r=n(16),o=function(e){e.preventDefault()},i=function(e){var t=e.buttonClassName,n=e.iconName,i=e.text,s=e.votes,u=e.voteAction,d=e.disabled,l=e.selectedClass,m=e.userLoggedIn;return a.createElement("button",{className:t+" "+l,onClick:m?u:o,disabled:d,title:i,"data-open":m?null:"loginModal"},a.createElement("span",{className:"show-for-sr"},i),a.createElement(r.default,{name:n,iconExtraClassName:"icon--small"})," "+s)};i.defaultProps={buttonClassName:"",iconName:"",votes:0,selectedClass:"selected",disabled:!1},t.default=i},function(e,t){e.exports={am:null}},function(e,t){e.exports={ar:{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"تعليق","decidim/comments/comment_created_event":"تعليق","decidim/comments/reply_created_event":"تعليق الرد","decidim/comments/user_mentioned_event":"أشير"}},activerecord:{models:{"decidim/comments/comment":{zero:"تعليقات",one:"تعليق",two:"تعليقات",few:"تعليقات",many:"تعليقات",other:"تعليقات"},"decidim/comments/comment_vote":{zero:"الأصوات",one:"تصويت",two:"الأصوات",few:"الأصوات",many:"الأصوات",other:"الأصوات"}}},decidim:{comments:{comments:"تعليقات",last_activity:{new_comment_at_html:"تعليق جديد على %{link}"},votes:{create:{error:"حدثت مشكلة في التصويت على التعليق."}}},components:{add_comment_form:{account_message:'سجل الدخول بحسابك أو اشترك لإضافة تعليقك.',form:{body:{label:"تعليق",placeholder:"ما رأيك بهذا؟"},form_error:"النص مطلوب ولا يمكن أن يكون أطول من %{length} حرف.",submit:"إرسال",user_group_id:{label:"التعليق باسم"}},opinion:{neutral:"محايد"},remaining_characters:"%{count} الحروف المتبقية",remaining_characters_1:"%{count} حرف اليسار",title:"أضف تعليقك"},comment:{alignment:{against:"ضد",in_favor:"لصالح"},deleted_user:"مشارك محذوف",reply:"الرد",report:{action:"أبلغ عن",already_reported:"تم الإبلاغ عن هذا المحتوى بالفعل وسيتم مراجعته من قبل المشرف.",close:"قريب",description:"هل هذا المحتوى غير مناسب؟",details:"تعليقات اضافية",reasons:{does_not_belong:"يحتوي على نشاط غير قانوني أو تهديدات انتحارية أو معلومات شخصية أو أي شيء آخر تعتقد أنه لا ينتمي إلى %{organization_name}.",offensive:"يحتوي على العنصرية والتمييز الجنسي والتشهير والهجمات الشخصية والتهديدات بالقتل أو طلبات الانتحار أو أي شكل من أشكال خطاب الكراهية.",spam:"يحتوي على clickbait أو الإعلان أو الخدع أو روبوت البرامج النصية."},title:"الإبلاغ عن مشكلة"}},comment_order_selector:{order:{best_rated:"أفضل تصنيف",most_discussed:"الأكثر مناقشة",older:"اكبر سنا",recent:"الأخيرة"},title:"ترتيب حسب:"},comment_thread:{title:"المحادثة مع %{authorName}"},comments:{blocked_comments_for_user_warning:"لا يمكنك التعليق في هذه اللحظة ، ولكن يمكنك قراءة التعليقات السابقة.",blocked_comments_warning:"التعليقات معطلة في هذا الوقت ، لكن يمكنك قراءة التعليقات السابقة.",loading:"جارٍ تحميل التعليقات ...",title:"%{count} تعليقات"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} ترك تعليق في %{resource_title}. يمكنك قراءتها في هذه الصفحة:",email_outro:"لقد تلقيت هذا الإشعار لأنك تتابع %{author_name}. يمكنك إلغاء تتبع هذا المستخدم من صفحة ملفه الشخصي.",email_subject:"هناك تعليق جديد مِن %{author_name} على %{resource_title}",notification_title:'هناك تعليق جديد مِن %{author_name} %{author_nickname} على %{resource_title}.'},comment_created:{email_intro:"%{resource_title} تم التعليق. يمكنك قراءة التعليق في هذه الصفحة:",email_outro:'لقد تلقيت هذا الإشعار لأنك تتابع "%{resource_title}" أو مؤلفه. يمكنك إلغاء تتبعه من الرابط السابق.',email_subject:"هناك تعليق جديد من %{author_name} في %{resource_title}",notification_title:'هناك تعليق جديد مِن %{author_name} %{author_nickname} على %{resource_title}'},reply_created:{email_intro:"%{author_name} رد على تعليقك في %{resource_title}. يمكنك قراءتها في هذه الصفحة:",email_outro:"لقد تلقيت هذا الإشعار لأنه تم الرد على تعليقك.",email_subject:"%{author_name} رد على تعليقك في %{resource_title}",notification_title:'%{author_name} %{author_nickname} رد على تعليقك في %{resource_title}'},user_mentioned:{email_intro:"لقد ذكرت",email_outro:"لقد تلقيت هذا الإشعار لأنك ذكرت في %{resource_title}.",email_subject:"لقد ذكرت في %{resource_title}",notification_title:'لقد ذكرت في %{resource_title} من %{author_name} %{author_nickname}'}}},metrics:{comments:{description:"عدد التعليقات الناتجة عن المشاركين",object:"تعليقات",title:"تعليقات"}}},errors:{messages:{cannot_have_comments:"لا يمكن أن يكون لديك تعليقات"}}}}},function(e,t){e.exports={ar:{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"تعليق","decidim/comments/comment_created_event":"تعليق","decidim/comments/reply_created_event":"تعليق الرد","decidim/comments/user_group_mentioned_event":"أشير","decidim/comments/user_mentioned_event":"أشير"}},activerecord:{models:{"decidim/comments/comment":{zero:"تعليقات",one:"تعليق",two:"تعليقات",few:"تعليقات",many:"تعليقات",other:"تعليقات"},"decidim/comments/comment_vote":{zero:"الأصوات",one:"تصويت",two:"الأصوات",few:"الأصوات",many:"الأصوات",other:"الأصوات"}}},decidim:{comments:{comments:"تعليقات",last_activity:{new_comment_at_html:"تعليق جديد على %{link}"},votes:{create:{error:"حدثت مشكلة في التصويت على التعليق."}}},components:{add_comment_form:{account_message:'سجل الدخول بحسابك أو اشترك لإضافة تعليقك.',form:{body:{label:"تعليق",placeholder:"ما رأيك بهذا؟"},form_error:"النص مطلوب ولا يمكن أن يكون أطول من %{length} حرف.",submit:"إرسال",user_group_id:{label:"التعليق باسم"}},opinion:{neutral:"محايد"},remaining_characters:"%{count} الحروف المتبقية",remaining_characters_1:"%{count} حرف اليسار",title:"أضف تعليقك"},comment:{alignment:{against:"ضد",in_favor:"لصالح"},deleted_user:"مشارك محذوف",hide_replies:"إخفاء الردود",reply:"الرد",report:{action:"أبلغ عن",already_reported:"تم الإبلاغ عن هذا المحتوى بالفعل وسيتم مراجعته من قبل المشرف.",close:"قريب",description:"هل هذا المحتوى غير مناسب؟",details:"تعليقات اضافية",reasons:{does_not_belong:"يحتوي على نشاط غير قانوني أو تهديدات انتحارية أو معلومات شخصية أو أي شيء آخر تعتقد أنه لا ينتمي إلى %{organization_name}.",offensive:"يحتوي على العنصرية والتمييز الجنسي والتشهير والهجمات الشخصية والتهديدات بالقتل أو طلبات الانتحار أو أي شكل من أشكال خطاب الكراهية.",spam:"يحتوي على clickbait أو الإعلان أو الخدع أو روبوت البرامج النصية."}},show_replies:"اظهر الردود الـ %{replies_count}",single_comment_link_title:"الحصول على رابط نحو تعليق واحد"},comment_order_selector:{order:{best_rated:"أفضل تصنيف",most_discussed:"الأكثر مناقشة",older:"اكبر سنا",recent:"الأخيرة"},title:"ترتيب حسب:"},comment_thread:{title:"المحادثة مع %{authorName}"},comments:{blocked_comments_for_user_warning:"لا يمكنك التعليق في هذه اللحظة ، ولكن يمكنك قراءة التعليقات السابقة.",blocked_comments_warning:"التعليقات معطلة في هذا الوقت ، لكن يمكنك قراءة التعليقات السابقة.",comment_details_title:"تفاصيل التعليق",loading:"جارٍ تحميل التعليقات ...",single_comment_warning:'يمكنك الإطلاع على التعليقات المتبقية الأخرى هنا.',single_comment_warning_title:"إنك ترى تعليقا واحدا",title:"%{count} تعليقات"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} ترك تعليق في %{resource_title}. يمكنك قراءتها في هذه الصفحة:",email_outro:"لقد تلقيت هذا الإشعار لأنك تتابع %{author_name}. يمكنك إلغاء تتبع هذا المستخدم من صفحة ملفه الشخصي.",email_subject:"هناك تعليق جديد مِن %{author_name} على %{resource_title}",notification_title:'هناك تعليق جديد مِن %{author_name} %{author_nickname} على %{resource_title}.'},comment_by_followed_user_group:{email_subject:"هناك تعليق جديد مِن %{author_name} على %{resource_title}",notification_title:'هناك تعليق جديد مِن %{author_name} %{author_nickname} على %{resource_title}.'},comment_created:{email_intro:"%{resource_title} تم التعليق. يمكنك قراءة التعليق في هذه الصفحة:",email_outro:'لقد تلقيت هذا الإشعار لأنك تتابع "%{resource_title}" أو مؤلفه. يمكنك إلغاء تتبعه من الرابط السابق.',email_subject:"هناك تعليق جديد من %{author_name} في %{resource_title}",notification_title:'هناك تعليق جديد مِن %{author_name} %{author_nickname} على %{resource_title}'},reply_created:{email_intro:"%{author_name} رد على تعليقك في %{resource_title}. يمكنك قراءتها في هذه الصفحة:",email_outro:"لقد تلقيت هذا الإشعار لأنه تم الرد على تعليقك.",email_subject:"%{author_name} رد على تعليقك في %{resource_title}",notification_title:'%{author_name} %{author_nickname} رد على تعليقك في %{resource_title}'},user_mentioned:{email_intro:"لقد ذكرت",email_outro:"لقد تلقيت هذا الإشعار لأنك ذكرت في %{resource_title}.",email_subject:"لقد ذكرت في %{resource_title}",notification_title:'لقد ذكرت في %{resource_title} من %{author_name} %{author_nickname}'}}},metrics:{comments:{description:"عدد التعليقات الناتجة عن المشاركين",object:"تعليقات",title:"تعليقات"}}},errors:{messages:{cannot_have_comments:"لا يمكن أن يكون لديك تعليقات"}}}}},function(e,t){e.exports={bg:{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"Коментар","decidim/comments/comment_created_event":"Коментар","decidim/comments/reply_created_event":"Отговор на коментар"}}}}},function(e,t){e.exports={bg:{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"Коментар","decidim/comments/comment_created_event":"Коментар","decidim/comments/reply_created_event":"Отговор на коментар"}}}}},function(e,t){e.exports={ca:{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"Comentari","decidim/comments/comment_created_event":"Comentari","decidim/comments/reply_created_event":"Resposta al comentari","decidim/comments/user_group_mentioned_event":"Mencionar","decidim/comments/user_mentioned_event":"Mencionar"}},activerecord:{models:{"decidim/comments/comment":{one:"Comentari",other:"Comentaris"},"decidim/comments/comment_vote":{one:"Vot",other:"Vots"}}},decidim:{comments:{comments:"Comentaris",comments_count:"Número de comentaris",last_activity:{new_comment_at_html:"Nou comentari a %{link}"},view:"Mostrar",votes:{create:{error:"S'ha produït un error en votar el comentari."}}},components:{add_comment_form:{account_message:'Inicia la sessió amb el teu compte o registra\'t per afegir el teu comentari.',form:{body:{label:"Comentari",placeholder:"Què en penses d'això?"},form_error:"El text és necessari i no pot ser més llarg de %{length}",submit:"Enviar",user_group_id:{label:"Comentar com a"}},opinion:{neutral:"Neutral"},remaining_characters:"Queden %{count} caràcters",remaining_characters_1:"Queda %{count} caràcter",title:"Deixa el teu comentari"},comment:{alignment:{against:"En contra",in_favor:"A favor"},deleted_user:"Participant eliminada",hide_replies:"Oculta les respostes",reply:"Respondre",report:{action:"Denúncia",already_reported:"Aquest contingut ja ha estat denunciat i serà revisat per una administradora.",close:"Tancar",description:"Aquest contingut és inapropiat?",details:"Comentaris addicionals",reasons:{does_not_belong:"Conté activitat il·legal, amenaces de suïcidi, informació personal, o qualsevol altra cosa que creguis que no pertany a %{organization_name}.",offensive:"Conté racisme, sexisme, insults, atacs personals, amenaces de mort, peticions de suïcidi o qualsevol forma de discurs d'odi.",spam:'Conté "clickbait", publicitat o estafes.'},title:"Notificar contingut inapropiat"},show_replies:"Mostra %{replies_count} respostes",single_comment_link_title:"Aconsegueix l'enllaç al comentari"},comment_order_selector:{order:{best_rated:"Més ben valorats",most_discussed:"Més discutit",older:"Més antic",recent:"Recent"},title:"Ordenar per:"},comment_thread:{title:"Conversa amb %{authorName}"},comments:{blocked_comments_for_user_warning:"No pots fer comentaris en aquest moment, però pots llegir els anteriors.",blocked_comments_warning:"Els comentaris estan desactivats en aquest moment, però pots llegir els anteriors.",comment_details_title:"Detalls del comentari",loading:"Carregant els comentaris ...",single_comment_warning:'Pots revisar la resta de comentaris aquí.',single_comment_warning_title:"Estàs veient un sol comentari",title:"%{count} comentaris"},down_vote_button:{text:"No estic d'acord amb aquest comentari"},up_vote_button:{text:"Estic d'acord amb aquest comentari"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} ha deixat un comentari a %{resource_title}. Podeu llegir-lo en aquesta pàgina:",email_outro:"Has rebut aquesta notificació perquè estàs seguint %{author_name}. Pots deixar de seguir a aquesta participant des de la seva pàgina de perfil.",email_subject:"Hi ha un nou comentari de %{author_name} en %{resource_title}",notification_title:'Hi ha un nou comentari per %{author_name} %{author_nickname} a %{resource_title}.'},comment_by_followed_user_group:{email_intro:"%{author_name} ha deixat un comentari a%{resource_title}. Pots llegir-lo en aquesta pàgina:",email_outro:"Reps aquesta notificació perquè segueixes a %{author_name}. Pots deixar de seguir aquest grup des de la seva pàgina de perfil.",email_subject:"Hi ha un nou comentari de %{author_name} en %{resource_title}",notification_title:'Hi ha un nou comentari per %{author_name} %{author_nickname} a %{resource_title}.'},comment_created:{email_intro:"S'ha comentat %{resource_title}. Pots llegir el comentari d'aquesta pàgina:",email_outro:'Has rebut aquesta notificació perquè estàs seguint "%{resource_title}" o la seva autora. Pots deixar de seguir-la des de l\'enllaç anterior.',email_subject:"Hi ha un nou comentari de %{author_name} a %{resource_title}",notification_title:'Hi ha un nou comentari de %{author_name} %{author_nickname} en %{resource_title}'},reply_created:{email_intro:"%{author_name} ha respost el teu comentari a %{resource_title}. Pots llegir-lo en aquesta pàgina:",email_outro:"Has rebut aquesta notificació perquè s'ha respost el teu comentari.",email_subject:"%{author_name} ha respost el teu comentari a %{resource_title}",notification_title:'%{author_name} %{author_nickname} ha respost el teu comentari a %{resource_title}'},user_group_mentioned:{email_intro:"Un grup al qual pertanys ha estat esmentat",email_outro:"Has rebut aquesta notificació perquè formes part del grup %{group_name} que ha estat esmentat a %{resource_title}.",email_subject:"T'han esmentat a %{resource_title} com a membre de %{group_name}",notification_title:'%{author_name} %{author_nickname} t\'ha esmentat com a membre de %{group_name} %{group_nickname} a %{resource_title}'},user_mentioned:{email_intro:"Has estat esmentada",email_outro:"Has rebut aquesta notificació perquè has estat esmentada a %{resource_title}.",email_subject:"Has estat esmentada a %{resource_title}",notification_title:'Has estat esmentada a %{resource_title} per %{author_name} %{author_nickname}'}}},metrics:{comments:{description:"Nombre de comentaris generats per les participants",object:"comentaris",title:"Comentaris"}}},errors:{messages:{cannot_have_comments:"no pot tenir comentaris"}}}}},function(e,t){e.exports={cs:{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"Komentář","decidim/comments/comment_created_event":"Komentář","decidim/comments/reply_created_event":"Odpověď na komentář","decidim/comments/user_mentioned_event":"Zmínit se"}},activerecord:{models:{"decidim/comments/comment":{one:"Komentář",few:"Komentáře",many:"Komentáře",other:"Komentáře"},"decidim/comments/comment_vote":{one:"Hlasování",few:"Hlasy",many:"Hlasy",other:"Hlasy"}}},decidim:{comments:{comments:"Komentáře",last_activity:{new_comment_at_html:"Nový komentář v %{link}"},votes:{create:{error:"Při hlasování se vyskytly chyby."}}},components:{add_comment_form:{account_message:'Přihlaste se svým účtem nebo přihlaste se a přidejte svůj komentář.',form:{body:{label:"Komentář",placeholder:"Co si o tom myslíš?"},form_error:"Text je povinný a nesmí být delší než %{length} znaků.",submit:"Poslat",user_group_id:{label:"Komentovat jako"}},opinion:{neutral:"Neutrální"},remaining_characters:"Zbývá %{count} znaků",remaining_characters_1:"Zbývá %{count} znaků",title:"Přidejte svůj komentář"},comment:{alignment:{against:"Proti",in_favor:"Ve prospěch"},deleted_user:"Vymazaný uživatel",reply:"Odpověď",report:{action:"Zpráva",already_reported:"Tento obsah je již nahlášen a bude kontrolován administrátorem.",close:"Zavřít",description:"Je tento obsah nevhodný?",details:"Další komentáře",reasons:{does_not_belong:"Obsahuje nezákonnou činnost, sebevražedné hrozby, osobní informace nebo něco jiného, o kterém si myslíte, že nepatří na %{organization_name}.",offensive:"Obsahuje rasismus, sexismus, podvody, osobní útoky, hrozby smrti, žádosti o sebevraždu nebo jakoukoli formu projevy nenávisti.",spam:"Obsahuje clickbait, reklama, podvody nebo skripty."},title:"Nahlásit problém"}},comment_order_selector:{order:{best_rated:"Nejlépe hodnocené",most_discussed:"Nejdiskutovanější",older:"Starší",recent:"Nedávno"},title:"Seřadit podle:"},comment_thread:{title:"Konverzace s číslem %{authorName}"},comments:{blocked_comments_warning:"Komentáře jsou v tuto chvíli zakázány, ale můžete si přečíst předchozí.",loading:"Načítání komentářů ...",title:"%{count} komentářů"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} zanechal komentář v %{resource_title}. Můžete si je přečíst na této stránce:",email_outro:"Toto oznámení jste obdrželi, protože jste sledovali %{author_name}. Tento uživatel můžete zrušit ze své profilové stránky.",email_subject:"K dispozici je nový komentář %{author_name} v %{resource_title}",notification_title:'K dispozici je nový komentář %{author_name} %{author_nickname} v %{resource_title}.'},comment_created:{email_intro:"%{resource_title} bylo komentováno. Můžete si přečíst komentář na této stránce:",email_outro:'Toto oznámení jste obdrželi, protože jste sledovali "%{resource_title}" nebo jeho autora. Můžete jej odhlásit od předchozího odkazu.',email_subject:"K dispozici je nový komentář od %{author_name} do %{resource_title}",notification_title:'Je zde nový komentář od %{author_name} %{author_nickname} do %{resource_title}'},reply_created:{email_intro:"%{author_name} odpověděl váš komentář v %{resource_title}. Můžete si je přečíst na této stránce:",email_outro:"Toto oznámení jste obdrželi, protože váš komentář byl zodpovězen.",email_subject:"%{author_name} odpověděl váš komentář v %{resource_title}",notification_title:'%{author_name} %{author_nickname} odpověděl / a svůj komentář v %{resource_title}'},user_mentioned:{email_intro:"Byl jste zmíněn",email_outro:"Toto oznámení jste obdrželi, protože jste byli uvedeni v %{resource_title}.",email_subject:"Byl jste zmíněn v %{resource_title}",notification_title:'Byli jste uvedeni v %{resource_title} podle %{author_name} %{author_nickname}'}}},metrics:{comments:{description:"Počet komentářů generovaných uživateli",object:"komentáře",title:"Komentáře"}}},errors:{messages:{cannot_have_comments:"nemohou mít připomínky"}}}}},function(e,t){e.exports={cs:{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"Komentář","decidim/comments/comment_created_event":"Komentář","decidim/comments/reply_created_event":"Odpověď na komentář","decidim/comments/user_group_mentioned_event":"Zmínka","decidim/comments/user_mentioned_event":"Zmínka"}},activerecord:{models:{"decidim/comments/comment":{one:"Komentář",few:"Komentáře",many:"Komentáře",other:"Komentáře"},"decidim/comments/comment_vote":{one:"Hlasovat",few:"Hlasy",many:"Hlasy",other:"Hlasy"}}},decidim:{comments:{comments:"Komentáře",comments_count:"Počet komentářů",last_activity:{new_comment_at_html:"Nový komentář v %{link}"},view:"Zobrazit",votes:{create:{error:"Při hlasování o komentáři došlo k chybě."}}},components:{add_comment_form:{account_message:'Přihlaste se pomocí svého účtu nebo se zaregistrujte a přidejte svůj komentář.',form:{body:{label:"Komentář",placeholder:"Co si o tom myslíš?"},form_error:"Text je povinný a nesmí být delší než %{length} znaků.",submit:"Odeslat",user_group_id:{label:"Komentovat jako"}},opinion:{neutral:"Neutrální"},remaining_characters:"Zbývá %{count} znaků",remaining_characters_1:"Zbývá %{count} znak",title:"Přidejte svůj komentář"},comment:{alignment:{against:"Proti",in_favor:"Ve prospěch"},deleted_user:"Vymazaný účastník",hide_replies:"Skrýt odpovědi",reply:"Odpověď",report:{action:"Zpráva",already_reported:"Tento obsah je již nahlášen a bude přezkoumán administrátorem.",close:"Zavřít",description:"Je tento obsah nevhodný?",details:"Další komentáře",reasons:{does_not_belong:"Obsahuje nezákonnou činnost, sebevražedné hrozby, osobní informace nebo něco jiného, o kterém si myslíte, že nepatří na %{organization_name}.",offensive:"Obsahuje rasismus, sexismus, podvody, osobní útoky, hrozby smrti, žádosti o sebevraždu nebo jakoukoli formu projevy nenávisti.",spam:"Obsahuje clickbait, reklamu, podvody nebo škodlivé skripty."},title:"Nahlásit nevhodný obsah"},show_replies:"Zobrazit %{replies_count} odpovědí",single_comment_link_title:"Získat odkaz na jeden komentář"},comment_order_selector:{order:{best_rated:"Nejlépe hodnocené",most_discussed:"Nejvíce diskutované",older:"Starší",recent:"Nedávné"},title:"Seřadit podle:"},comment_thread:{title:"Konverzace s číslem %{authorName}"},comments:{blocked_comments_for_user_warning:"Momentálně nemůžete komentovat, ale můžete si přečíst ty předchozí.",blocked_comments_warning:"Komentáře jsou momentálně zakázány, ale můžete si přečíst ty předchozí.",comment_details_title:"Podrobnosti komentáře",loading:"Načítání komentářů ...",single_comment_warning:'Můžete zkontrolovat zbytek komentářů zde.',single_comment_warning_title:"Vidíte jeden komentář",title:"%{count} komentářů"},down_vote_button:{text:"Nesouhlasím s tímto komentářem"},up_vote_button:{text:"Souhlasím s tímto komentářem"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} zanechal komentář v %{resource_title}. Můžete si je přečíst na této stránce:",email_outro:"Toto oznámení jste obdrželi, protože jste sledovali %{author_name}. Tento uživatel můžete zrušit ze své profilové stránky.",email_subject:"K dispozici je nový komentář %{author_name} v %{resource_title}",notification_title:'Je tu nový komentář od %{author_name} %{author_nickname} v %{resource_title}.'},comment_by_followed_user_group:{email_intro:"Skupina %{author_name} zanechala komentář v %{resource_title}. Můžete si jej přečíst na této stránce:",email_outro:"Obdrželi jste toto oznámení, protože sledujete %{author_name}. Můžete zrušit sledování této skupiny na její profilové stránce.",email_subject:"K dispozici je nový komentář %{author_name} v %{resource_title}",notification_title:'Je tu nový komentář %{author_name} %{author_nickname} v %{resource_title}.'},comment_created:{email_intro:"%{resource_title} bylo komentováno. Můžete si přečíst komentář na této stránce:",email_outro:'Toto oznámení jste obdrželi, protože jste sledovali "%{resource_title}" nebo jeho autora. Můžete jej odhlásit od předchozího odkazu.',email_subject:"K dispozici je nový komentář od %{author_name} do %{resource_title}",notification_title:'Je tu nový komentář od %{author_name} %{author_nickname} do %{resource_title}'},reply_created:{email_intro:"%{author_name} odpověděl váš komentář v %{resource_title}. Můžete si je přečíst na této stránce:",email_outro:"Toto oznámení jste obdrželi, protože váš komentář byl zodpovězen.",email_subject:"%{author_name} odpověděl váš komentář v %{resource_title}",notification_title:'%{author_name} %{author_nickname} odpověděl na váš komentář v %{resource_title}'},user_group_mentioned:{email_intro:"Byla zmíněna skupina, do které patříte",email_outro:"Obdrželi jste toto oznámení, protože jste členem skupiny %{group_name}, která byla zmíněna v %{resource_title}.",email_subject:"Byl jste zmíněn v %{resource_title} jako člen %{group_name}",notification_title:'Byli jste zmíněni v %{resource_title} od %{author_name} %{author_nickname} jako člen %{group_name} %{group_nickname}'},user_mentioned:{email_intro:"Byl jste zmíněn",email_outro:"Toto oznámení jste obdrželi, protože jste byli uvedeni v %{resource_title}.",email_subject:"Byl jste zmíněn v %{resource_title}",notification_title:'Byli jste zmíněni v %{resource_title} od %{author_name} %{author_nickname}'}}},metrics:{comments:{description:"Počet komentářů generovaných uživateli",object:"komentáře",title:"Komentáře"}}},errors:{messages:{cannot_have_comments:"nemohou mít připomínky"}}}}},function(e,t){e.exports={da:null}},function(e,t){e.exports={da:null}},function(e,t){e.exports={de:{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"Kommentar","decidim/comments/comment_created_event":"Kommentar","decidim/comments/reply_created_event":"Kommentarantwort","decidim/comments/user_group_mentioned_event":"Erwähnen","decidim/comments/user_mentioned_event":"Erwähnen"}},activerecord:{models:{"decidim/comments/comment":{one:"Kommentar",other:"Bemerkungen"},"decidim/comments/comment_vote":{one:"Abstimmung",other:"Stimmen"}}},decidim:{comments:{comments:"Bemerkungen",comments_count:"Kommentaranzahl",last_activity:{new_comment_at_html:"Neuer Kommentar unter %{link}"},view:"Ansicht",votes:{create:{error:"Beim Abstimmen des Kommentars sind Fehler aufgetreten."}}},components:{add_comment_form:{account_message:'Melden Sie sich mit Ihrem Konto an oder registrieren Sie sich, um Ihren Kommentar hinzuzufügen.',form:{body:{label:"Kommentar",placeholder:"Was denken Sie darüber?"},form_error:"Der Text ist erforderlich und darf nicht länger als %{length} Zeichen sein.",submit:"Senden",user_group_id:{label:"Kommentieren als"}},opinion:{neutral:"Neutral"},remaining_characters:"%{count} Zeichen übrig",remaining_characters_1:"%{count} Zeichen übrig",title:"Kommentar hinzufügen"},comment:{alignment:{against:"Gegen",in_favor:"Zugunsten"},deleted_user:"Gelöschter Benutzer",hide_replies:"Antworten verbergen",reply:"Antworten",report:{action:"Melden",already_reported:"Dieser Inhalt wurde bereits gemeldet und wird von einem Administrator überprüft.",close:"Schließen",description:"Ist dieser Inhalt unangemessen?",details:"Zusätzliche Kommentare",reasons:{does_not_belong:"Enthält illegale Aktivitäten, Selbstmorddrohungen, persönliche Informationen oder etwas anderes, von dem Sie denken, dass es nicht auf %{organization_name} gehört.",offensive:"Enthält Rassismus, Sexismus, Verleumdungen, persönliche Angriffe, Morddrohungen, Selbstmordanträge oder jegliche Form von Hassreden.",spam:"Enthält Clickbait, Werbung, Scams oder Script Bots."},title:"Ungeeigneten Inhalt melden"},show_replies:"%{replies_count} Antworten anzeigen",single_comment_link_title:"Verknüpfung zu einzelnem Kommentar erhalten"},comment_order_selector:{order:{best_rated:"Am besten bewertet",most_discussed:"Meist diskutiert",older:"Chronologisch",recent:"Kürzlich hinzugefügt"},title:"Sortieren nach:"},comment_thread:{title:"Konversation mit %{authorName}"},comments:{blocked_comments_for_user_warning:"Sie können momentan nichts kommentieren, aber Sie können die vorherigen lesen.",blocked_comments_warning:"Kommentare sind zu diesem Zeitpunkt deaktiviert, aber Sie können die vorherigen lesen.",comment_details_title:"Kommentarinformationen",loading:"Kommentare werden geladen ...",single_comment_warning:'Sie können die restlichen Kommentare hier prüfen.',single_comment_warning_title:"Ihnen wird ein einzelner Kommentar angezeigt",title:"%{count} Kommentare"},down_vote_button:{text:"Ich bin mit diesem Kommentar nicht einverstanden"},up_vote_button:{text:"Ich stimme diesem Kommentar zu"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} hat einen Kommentar zu %{resource_title} hinterlassen. Sie können diesen auf dieser Seite lesen:",email_outro:"Sie haben diese Benachrichtigung erhalten, weil Sie %{author_name} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie die Profil-Seite dieses Benutzers.",email_subject:"Neuer Kommentar von %{author_name} zu %{resource_title}",notification_title:'Es gibt einen neuen Kommentar von %{author_name} %{author_nickname} zu %{resource_title}.'},comment_by_followed_user_group:{email_intro:"Die Gruppe %{author_name} hat einen Kommentar in %{resource_title} hinterlassen. Sie können diesen auf dieser Seite lesen:",email_outro:"Sie haben diese Benachrichtigung erhalten, weil Sie %{author_name} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie die Profil-Seite dieser Gruppe.",email_subject:"Neuer Kommentar von %{author_name} zu %{resource_title}",notification_title:'Es gibt einen neuen Kommentar von %{author_name} %{author_nickname} zu %{resource_title}.'},comment_created:{email_intro:"%{resource_title} wurde kommentiert. Sie können den Kommentar auf dieser Seite lesen:",email_outro:'Sie haben diese Benachrichtigung erhalten, weil Sie "%{resource_title}" oder seinem Autor folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link.',email_subject:"Neuer Kommentar von %{author_name} zu %{resource_title}",notification_title:'Es gibt einen neuen Kommentar von %{author_name} %{author_nickname} zu %{resource_title}'},reply_created:{email_intro:"%{author_name} hat auf Ihren Kommentar zu %{resource_title} geantwortet. Sie können das auf dieser Seite lesen:",email_outro:"Sie haben diese Benachrichtigung erhalten, weil Ihr Kommentar beantwortet wurde.",email_subject:"%{author_name} hat auf Ihren Kommentar zu %{resource_title} geantwortet",notification_title:'%{author_name} %{author_nickname} hat auf Ihren Kommentar in %{resource_title} geantwortet'},user_group_mentioned:{email_intro:"Eine Ihrer Gruppen wurde erwähnt",email_outro:"Sie haben diese Benachrichtigung erhalten, weil Sie ein Mitglied der Gruppe %{group_name} sind, die in %{resource_title} erwähnt wurde.",email_subject:"Sie wurden in %{resource_title} als Mitglied von %{group_name} erwähnt",notification_title:'Sie wurden in %{resource_title} von %{author_name} %{author_nickname} als ein Mitglied von %{group_name} %{group_nickname} erwähnt'},user_mentioned:{email_intro:"Sie wurden erwähnt",email_outro:"Sie haben diese Benachrichtigung erhalten, weil Sie in %{resource_title} erwähnt wurden.",email_subject:"Sie wurden in %{resource_title} erwähnt",notification_title:'Sie wurden in %{resource_title} von %{author_name} %{author_nickname} erwähnt'}}},metrics:{comments:{description:"Anzahl der von Benutzern generierten Kommentare",object:"Bemerkungen",title:"Bemerkungen"}}},errors:{messages:{cannot_have_comments:"kann keine Kommentare haben"}}}}},function(e,t){e.exports={el:null}},function(e,t){e.exports={el:{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"Σχόλιο","decidim/comments/comment_created_event":"Σχόλιο","decidim/comments/reply_created_event":"Απάντηση σχολίου","decidim/comments/user_group_mentioned_event":"Αναφορά","decidim/comments/user_mentioned_event":"Αναφορά"}},activerecord:{models:{"decidim/comments/comment":{one:"Σχόλιο",other:"Σχόλια"},"decidim/comments/comment_vote":{one:"Ψηφοφορία",other:"Ψήφοι"}}},decidim:{comments:{comments:"Σχόλια",comments_count:"Αριθμός σχολίων",last_activity:{new_comment_at_html:"Νέο σχόλιο στο %{link}"},votes:{create:{error:"Υπήρξε ένα πρόβλημα κατά την ψηφοφορία του σχολίου."}}},components:{add_comment_form:{account_message:'Είσοδος με τον λογαριασμό σας ή εγγραφείτε για να προσθέσετε το σχόλιό σας.',form:{body:{label:"Σχόλιο",placeholder:"Ποια είναι η γνώμη σας για αυτό;"},form_error:"Το κείμενο απαιτείται και δεν μπορεί να υπερβαίνει τους %{length} χαρακτήρες.",submit:"Αποστολή",user_group_id:{label:"Σχόλιο ως"}},opinion:{neutral:"Ούτε ικανοποιημένος/η ούτε δυσαρεστημένος/η"},remaining_characters:"%{count} χαρακτήρες απομένουν",remaining_characters_1:"%{count} χαρακτήρας απομένει",title:"Προσθέστε το σχόλιό σας"},comment:{alignment:{against:"Κατά",in_favor:"Υπέρ"},deleted_user:"Διαγραμμένος συμμετέχων",hide_replies:"Απόκρυψη απαντήσεων",reply:"Απάντηση",report:{action:"Αναφορά",already_reported:"Αυτό το περιεχόμενο έχει ήδη αναφερθεί και θα ελεγχθεί από έναν διαχειριστή.",close:"Κλείσιμο",description:"Αυτό το περιεχόμενο είναι ακατάλληλο;",details:"Πρόσθετα σχόλια",reasons:{does_not_belong:"Περιέχει παράνομη δραστηριότητα, απειλές αυτοκτονίας, προσωπικά στοιχεία ή κάτι άλλο που πιστεύετε ότι δεν ανήκει στον οργανισμό %{organization_name}.",offensive:"Περιέχει ρατσισμό, σεξισμό, δυσφημίσεις, προσωπικές επιθέσεις, απειλές θανάτου, αιτήματα αυτοκτονίας ή οποιαδήποτε μορφή ρητορικής μίσους.",spam:"Περιέχει clickbait, διαφημίσεις, απάτες ή script bot."},title:"Αναφορά ακατάλληλου περιεχομένου"},show_replies:"Εμφάνιση %{replies_count} απαντήσεων",single_comment_link_title:"Λήψη συνδέσμου για ένα μόνο σχόλιο"},comment_order_selector:{order:{best_rated:"Με την καλύτερη βαθμολογία",most_discussed:"Πιο συζητημένα",older:"Παλαιότερα",recent:"Πρόσφατα"},title:"Ταξινόμηση κατά:"},comment_thread:{title:"Συζήτηση με τον συντάκτη %{authorName}"},comments:{blocked_comments_for_user_warning:"Δεν μπορείτε να σχολιάσετε αυτήν τη στιγμή, αλλά μπορείτε να διαβάσετε τα προηγούμενα σχόλια.",blocked_comments_warning:"Τα σχόλια είναι απενεργοποιημένα αυτήν τη στιγμή, αλλά μπορείτε να διαβάσετε τα προηγούμενα σχόλια.",comment_details_title:"Λεπτομέρειες σχολίων",loading:"Φόρτωση σχολίων...",single_comment_warning:'Μπορείτε να δείτε τα υπόλοιπα σχόλια εδώ.',single_comment_warning_title:"Βλέπετε ένα μόνο σχόλιο",title:"%{count} σχόλια"},down_vote_button:{text:"Δεν συμφωνώ με αυτό το σχόλιο"},up_vote_button:{text:"Συμφωνώ με αυτό το σχόλιο"}},events:{comments:{comment_by_followed_user:{email_intro:"Ο συντάκτης %{author_name} έκανε ένα σχόλιο στο στοιχείο %{resource_title}. Μπορείτε να το διαβάσετε σε αυτήν τη σελίδα:",email_outro:"Λάβατε αυτήν την ειδοποίηση επειδή ακολουθείτε τον συντάκτη %{author_name}. Μπορείτε να σταματήσετε να ακολουθείτε αυτόν τον χρήστη από τη σελίδα προφίλ του.",email_subject:"Υπάρχει ένα νέο σχόλιο από τον συντάκτη %{author_name} στο στοιχείο %{resource_title}",notification_title:'Υπάρχει ένα νέο σχόλιο από τον συντάκτη %{author_name} %{author_nickname} στο στοιχείο %{resource_title}.'},comment_by_followed_user_group:{email_intro:"Η ομάδα %{author_name} έκανε ένα σχόλιο στο στοιχείο %{resource_title}. Μπορείτε να το διαβάσετε σε αυτήν τη σελίδα:",email_outro:"Λάβατε αυτήν την ειδοποίηση επειδή ακολουθείτε τον συντάκτη %{author_name}. Μπορείτε να σταματήσετε να ακολουθείτε αυτήν την ομάδα από τη σελίδα προφίλ της.",email_subject:"Υπάρχει ένα νέο σχόλιο από τον συντάκτη %{author_name} στο στοιχείο %{resource_title}",notification_title:'Υπάρχει ένα νέο σχόλιο από τον συντάκτη %{author_name} %{author_nickname} στο στοιχείο %{resource_title}.'},comment_created:{email_intro:"Το στοιχείο %{resource_title} έχει σχολιαστεί. Μπορείτε να διαβάσετε το σχόλιο σε αυτήν τη σελίδα:",email_outro:"Λάβατε αυτήν την ειδοποίηση επειδή ακολουθείτε το στοιχείο «%{resource_title}» ή τον συντάκτη του. Μπορείτε να σταματήσετε να την ακολουθείτε από τον προηγούμενο σύνδεσμο.",email_subject:"Υπάρχει ένα νέο σχόλιο από τον συντάκτη %{author_name} στο στοιχείο %{resource_title}",notification_title:'Υπάρχει ένα νέο σχόλιο από τον συντάκτη%{author_name} %{author_nickname} στο στοιχείο %{resource_title}'},reply_created:{email_intro:"Ο συντάκτης %{author_name} απάντησε στο σχόλιό σας στο στοιχείο %{resource_title}. Μπορείτε να το διαβάσετε σε αυτήν τη σελίδα:",email_outro:"Λάβατε αυτήν την ειδοποίηση, επειδή το σχόλιό σας απαντήθηκε.",email_subject:"Ο συντάκτης %{author_name} απάντησε στο σχόλιό σας στο στοιχείο %{resource_title}",notification_title:'Ο συντάκτης %{author_name} %{author_nickname} απάντησε στο σχόλιό σας στο στοιχείο %{resource_title}'},user_group_mentioned:{email_intro:"Έγινε αναφορά σε μια ομάδα στην οποία ανήκετε",email_outro:"Λάβατε αυτήν την ειδοποίηση επειδή είστε μέλος της ομάδας %{group_name} που αναφέρθηκε στο στοιχείο %{resource_title}.",email_subject:"Έγινε αναφορά σε εσάς στο στοιχείο %{resource_title} ως μέλος της ομάδας %{group_name}",notification_title:'Έγινε αναφορά σε εσάς στο στοιχείο %{resource_title} από τον συντάκτη %{author_name} %{author_nickname} ως μέλος της ομάδας %{group_name} %{group_nickname}'},user_mentioned:{email_intro:"Έγινε αναφορά σε εσάς",email_outro:"Λάβατε αυτήν την ειδοποίηση επειδή έγινε αναφορά σε εσάς στο στοιχείο %{resource_title}.",email_subject:"Έγινε αναφορά σε εσάς στο στοιχείο %{resource_title}",notification_title:'Έγινε αναφορά σε εσάς στο στοιχείο %{resource_title} από τον συντάκτη %{author_name} %{author_nickname}'}}},metrics:{comments:{description:"Αριθμός σχολίων που δημιουργήθηκαν από συμμετέχοντες",object:"σχόλια",title:"Σχόλια"}}},errors:{messages:{cannot_have_comments:"δεν μπορεί να έχει σχόλια"}}}}},function(e,t){e.exports={en:{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"Comment","decidim/comments/comment_created_event":"Comment","decidim/comments/reply_created_event":"Comment reply","decidim/comments/user_group_mentioned_event":"Mention","decidim/comments/user_mentioned_event":"Mention"}},activerecord:{models:{"decidim/comments/comment":{one:"Comment",other:"Comments"},"decidim/comments/comment_vote":{one:"Vote",other:"Votes"}}},decidim:{comments:{comments:"Comments",comments_count:"Comments count",last_activity:{new_comment_at_html:"New comment at %{link}"},view:"View",votes:{create:{error:"There was a problem voting the comment."}}},components:{add_comment_form:{account_message:'Sign in with your account or sign up to add your comment.',form:{body:{label:"Comment",placeholder:"What do you think about this?"},form_error:"The text is required and it can't be longer than %{length} characters.",submit:"Send",user_group_id:{label:"Comment as"}},opinion:{neutral:"Neutral"},remaining_characters:"%{count} characters left",remaining_characters_1:"%{count} character left",title:"Add your comment"},comment:{alignment:{against:"Against",in_favor:"In favor"},deleted_user:"Deleted participant",hide_replies:"Hide replies",reply:"Reply",report:{action:"Report",already_reported:"This content is already reported and it will be reviewed by an admin.",close:"Close",description:"Is this content inappropriate?",details:"Additional comments",reasons:{does_not_belong:"Contains illegal activity, suicide threats, personal information, or something else you think doesn't belong on %{organization_name}.",offensive:"Contains racism, sexism, slurs, personal attacks, death threats, suicide requests or any form of hate speech.",spam:"Contains clickbait, advertising, scams or script bots."},title:"Report inappropriate content"},show_replies:"Show %{replies_count} replies",single_comment_link_title:"Get link to single comment"},comment_order_selector:{order:{best_rated:"Best rated",most_discussed:"Most discussed",older:"Older",recent:"Recent"},title:"Order by:"},comment_thread:{title:"Conversation with %{authorName}"},comments:{blocked_comments_for_user_warning:"You are not able to comment at this moment, but you can read the previous ones.",blocked_comments_warning:"Comments are disabled at this time, but you can read the previous ones.",comment_details_title:"Comment details",loading:"Loading comments ...",single_comment_warning:'You can check the rest of the comments here.',single_comment_warning_title:"You are seeing a single comment",title:"%{count} comments",show_all_comments:"Show all comments"},down_vote_button:{text:"I disagree with this comment"},up_vote_button:{text:"I agree with this comment"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} has left a comment in %{resource_title}. You can read it in this page:",email_outro:"You have received this notification because you are following %{author_name}. You can unfollow this user from their profile page.",email_subject:"There is a new comment by %{author_name} in %{resource_title}",notification_title:'There is a new comment by %{author_name} %{author_nickname} in %{resource_title}.'},comment_by_followed_user_group:{email_intro:"The group %{author_name} has left a comment in %{resource_title}. You can read it in this page:",email_outro:"You have received this notification because you are following %{author_name}. You can unfollow this group from its profile page.",email_subject:"There is a new comment by %{author_name} in %{resource_title}",notification_title:'There is a new comment by %{author_name} %{author_nickname} in %{resource_title}.'},comment_created:{email_intro:"%{resource_title} has been commented. You can read the comment in this page:",email_outro:'You have received this notification because you are following "%{resource_title}" or its author. You can unfollow it from the previous link.',email_subject:"There is a new comment from %{author_name} in %{resource_title}",notification_title:'There is a new comment from %{author_name} %{author_nickname} in %{resource_title}'},reply_created:{email_intro:"%{author_name} has replied your comment in %{resource_title}. You can read it in this page:",email_outro:"You have received this notification because your comment was replied.",email_subject:"%{author_name} has replied your comment in %{resource_title}",notification_title:'%{author_name} %{author_nickname} has replied your comment in %{resource_title}'},user_group_mentioned:{email_intro:"A group you belong to has been mentioned",email_outro:"You have received this notification because you are a member of the group %{group_name} that has been mentioned in %{resource_title}.",email_subject:"You have been mentioned in %{resource_title} as a member of %{group_name}",notification_title:'You have been mentioned in %{resource_title} by %{author_name} %{author_nickname} as a member of %{group_name} %{group_nickname}'},user_mentioned:{email_intro:"You have been mentioned",email_outro:"You have received this notification because you have been mentioned in %{resource_title}.",email_subject:"You have been mentioned in %{resource_title}",notification_title:'You have been mentioned in %{resource_title} by %{author_name} %{author_nickname}'}}},metrics:{comments:{description:"Number of comments generated by participants",object:"comments",title:"Comments"}}},errors:{messages:{cannot_have_comments:"can't have comments"}}}}},function(e,t){e.exports={eo:null}},function(e,t){e.exports={eo:null}},function(e,t){e.exports={"es-MX":{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"Comentario","decidim/comments/comment_created_event":"Comentario","decidim/comments/reply_created_event":"Respuesta al comentario","decidim/comments/user_group_mentioned_event":"Mencionar","decidim/comments/user_mentioned_event":"Mencionar"}},activerecord:{models:{"decidim/comments/comment":{one:"Comentario",other:"Comentarios"},"decidim/comments/comment_vote":{one:"Voto",other:"Votos"}}},decidim:{comments:{comments:"Comentarios",comments_count:"Número de comentarios",last_activity:{new_comment_at_html:"Nuevo comentario en %{link}"},view:"Ver",votes:{create:{error:"Ha habido errores al votar el comentario."}}},components:{add_comment_form:{account_message:'Inicia sesión con tu cuenta o regístrate para añadir tu comentario.',form:{body:{label:"Comentario",placeholder:"¿Qué piensas sobre esto?"},form_error:"El texto es necesario y no puede ser más de caracteres %{length}.",submit:"Enviar",user_group_id:{label:"Comentar como"}},opinion:{neutral:"Neutral"},remaining_characters:"Quedan %{count} caracteres",remaining_characters_1:"Queda %{count} carácter",title:"Deje su comentario"},comment:{alignment:{against:"En contra",in_favor:"A favor"},deleted_user:"Usuario eliminado",hide_replies:"Ocultar respuestas",reply:"Respuesta",report:{action:"Denunciar",already_reported:"Este contenido ya fue denunciado y será revisado por un administrador.",close:"Cerrar",description:"¿Es inapropiado este contenido?",details:"Comentarios adicionales",reasons:{does_not_belong:"Contiene actividad ilegal, amenazas de suicidio, información personal o cualquier otra cosa que usted piense que no pertenece en %{organization_name}.",offensive:"Contiene racismo, sexismo, insultos, ataques personales, amenazas de muerte, solicitudes de suicidio o cualquier forma de discurso de odio.",spam:"Contiene clickbait, publicidad o estafas."},title:"Notificar contenido inapropiado"},show_replies:"Mostrar %{replies_count} respuestas",single_comment_link_title:"Obtener enlace a un solo comentario"},comment_order_selector:{order:{best_rated:"Mejor valoración",most_discussed:"Más discutidos",older:"Más antiguo",recent:"Reciente"},title:"Ordenar por:"},comment_thread:{title:"Conversación con %{authorName}"},comments:{blocked_comments_for_user_warning:"No puede hacer comentarios en este momento, pero puede leer los anteriores.",blocked_comments_warning:"Los comentarios están deshabilitados en este momento, pero puedes leer los anteriores.",comment_details_title:"Detalles del comentario",loading:"Cargando los comentarios ...",single_comment_warning:'Puedes revisar el resto de los comentarios aquí.',single_comment_warning_title:"Estás viendo un solo comentario",title:"%{count} comentarios"},down_vote_button:{text:"No estoy de acuerdo con este comentario"},up_vote_button:{text:"Estoy de acuerdo con este comentario"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} ha dejado un comentario en %{resource_title}. Puedes leerlo en esta página:",email_outro:'Has recibido esta notificación porque sigues "%{author_name}". Puedes dejar de seguirlo desde el enlace anterior.',email_subject:"Hay un nuevo comentario de %{author_name} en %{resource_title}",notification_title:'Hay un nuevo comentario de %{author_name} %{author_nickname} en %{resource_title}.'},comment_by_followed_user_group:{email_intro:"%{author_name} ha dejado un comentario en %{resource_title}. Puede leerlo en esta página:",email_outro:"Recibes esta notificación porque sigues a %{author_name}. Puedes dejar de seguir a este grupo des de su página de perfil.",email_subject:"Hay un nuevo comentario de %{author_name} en %{resource_title}",notification_title:'Hay un nuevo comentario de %{author_name} %{author_nickname} en %{resource_title}.'},comment_created:{email_intro:"%{resource_title} ha sido comentado. Puedes leer el comentario en esta página:",email_outro:'Has recibido esta notificación porque está siguiendo "%{resource_title}" o su autor. Puedes dejar de seguirlo desde el enlace anterior.',email_subject:"Hay un nuevo comentario de %{author_name} en %{resource_title}",notification_title:'Hay un nuevo comentario de %{author_name} %{author_nickname} en %{resource_title}'},reply_created:{email_intro:"%{author_name} ha respondido a tu comentario en %{resource_title}. Puedes leerlo en esta página:",email_outro:"Has recibido esta notificación porque tu comentario fue respondido.",email_subject:"%{author_name} ha respondido a tu comentario en %{resource_title}",notification_title:'%{author_name} %{author_nickname} ha respondido a tu comentario en %{resource_title}'},user_group_mentioned:{email_intro:"Se ha mencionado un grupo al que perteneces",email_outro:"Has recibido esta notificación porque formas parte del grupo %{group_name} que ha sido mencionado en %{resource_title}.",email_subject:"Te han mencionado en %{resource_title} como miembro de %{group_name}",notification_title:'%{author_name} %{author_nickname} te ha mencionado en %{resource_title} como miembro de %{group_name} %{group_nickname}'},user_mentioned:{email_intro:"Has sido mencionado",email_outro:"Has recibido esta notificación porque has sido mencionado en %{resource_title}.",email_subject:"Has sido mencionado en %{resource_title}",notification_title:'Has sido mencionado en %{resource_title} por %{author_name} %{author_nickname}'}}},metrics:{comments:{description:"Número de comentarios generados por los usuarios",object:"comentarios",title:"Comentarios"}}},errors:{messages:{cannot_have_comments:"no puede tener comentarios"}}}}},function(e,t){e.exports={"es-PY":{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"Comentario","decidim/comments/comment_created_event":"Comentario","decidim/comments/reply_created_event":"Respuesta al comentario","decidim/comments/user_group_mentioned_event":"Mencionar","decidim/comments/user_mentioned_event":"Mencionar"}},activerecord:{models:{"decidim/comments/comment":{one:"Comentario",other:"Comentarios"},"decidim/comments/comment_vote":{one:"Voto",other:"Votos"}}},decidim:{comments:{comments:"Comentarios",comments_count:"Número de comentarios",last_activity:{new_comment_at_html:"Nuevo comentario en %{link}"},view:"Ver",votes:{create:{error:"Ha habido errores al votar el comentario."}}},components:{add_comment_form:{account_message:'Inicia sesión con tu cuenta o regístrate para añadir tu comentario.',form:{body:{label:"Comentario",placeholder:"¿Qué piensas sobre esto?"},form_error:"El texto es necesario y no puede ser más de caracteres %{length}.",submit:"Enviar",user_group_id:{label:"Comentar como"}},opinion:{neutral:"Neutral"},remaining_characters:"Quedan %{count} caracteres",remaining_characters_1:"Queda %{count} carácter",title:"Deje su comentario"},comment:{alignment:{against:"En contra",in_favor:"A favor"},deleted_user:"Usuario eliminado",hide_replies:"Ocultar respuestas",reply:"Respuesta",report:{action:"Denunciar",already_reported:"Este contenido ya fue denunciado y será revisado por un administrador.",close:"Cerrar",description:"¿Es inapropiado este contenido?",details:"Comentarios adicionales",reasons:{does_not_belong:"Contiene actividad ilegal, amenazas de suicidio, información personal o cualquier otra cosa que usted piense que no pertenece en %{organization_name}.",offensive:"Contiene racismo, sexismo, insultos, ataques personales, amenazas de muerte, solicitudes de suicidio o cualquier forma de discurso de odio.",spam:"Contiene clickbait, publicidad o estafas."},title:"Notificar contenido inapropiado"},show_replies:"Mostrar %{replies_count} respuestas",single_comment_link_title:"Obtener enlace a un solo comentario"},comment_order_selector:{order:{best_rated:"Mejor valoración",most_discussed:"Más discutidos",older:"Más antiguo",recent:"Reciente"},title:"Ordenar por:"},comment_thread:{title:"Conversación con %{authorName}"},comments:{blocked_comments_for_user_warning:"No puede hacer comentarios en este momento, pero puede leer los anteriores.",blocked_comments_warning:"Los comentarios están deshabilitados en este momento, pero puedes leer los anteriores.",comment_details_title:"Detalles del comentario",loading:"Cargando los comentarios ...",single_comment_warning:'Puedes revisar el resto de los comentarios aquí.',single_comment_warning_title:"Estás viendo un solo comentario",title:"%{count} comentarios"},down_vote_button:{text:"No estoy de acuerdo con este comentario"},up_vote_button:{text:"Estoy de acuerdo con este comentario"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} ha dejado un comentario en %{resource_title}. Puedes leerlo en esta página:",email_outro:'Has recibido esta notificación porque sigues "%{author_name}". Puedes dejar de seguirlo desde el enlace anterior.',email_subject:"Hay un nuevo comentario de %{author_name} en %{resource_title}",notification_title:'Hay un nuevo comentario de %{author_name} %{author_nickname} en %{resource_title}.'},comment_by_followed_user_group:{email_intro:"%{author_name} ha dejado un comentario en %{resource_title}. Puede leerlo en esta página:",email_outro:"Recibes esta notificación porque sigues a %{author_name}. Puedes dejar de seguir a este grupo des de su página de perfil.",email_subject:"Hay un nuevo comentario de %{author_name} en %{resource_title}",notification_title:'Hay un nuevo comentario de %{author_name} %{author_nickname} en %{resource_title}.'},comment_created:{email_intro:"%{resource_title} ha sido comentado. Puedes leer el comentario en esta página:",email_outro:'Has recibido esta notificación porque está siguiendo "%{resource_title}" o su autor. Puedes dejar de seguirlo desde el enlace anterior.',email_subject:"Hay un nuevo comentario de %{author_name} en %{resource_title}",notification_title:'Hay un nuevo comentario de %{author_name} %{author_nickname} en %{resource_title}'},reply_created:{email_intro:"%{author_name} ha respondido a tu comentario en %{resource_title}. Puedes leerlo en esta página:",email_outro:"Has recibido esta notificación porque tu comentario fue respondido.",email_subject:"%{author_name} ha respondido a tu comentario en %{resource_title}",notification_title:'%{author_name} %{author_nickname} ha respondido a tu comentario en %{resource_title}'},user_group_mentioned:{email_intro:"Se ha mencionado un grupo al que perteneces",email_outro:"Has recibido esta notificación porque formas parte del grupo %{group_name} que ha sido mencionado en %{resource_title}.",email_subject:"Te han mencionado en %{resource_title} como miembro de %{group_name}",notification_title:'%{author_name} %{author_nickname} te ha mencionado en %{resource_title} como miembro de %{group_name} %{group_nickname}'},user_mentioned:{email_intro:"Has sido mencionado",email_outro:"Has recibido esta notificación porque has sido mencionado en %{resource_title}.",email_subject:"Has sido mencionado en %{resource_title}",notification_title:'Has sido mencionado en %{resource_title} por %{author_name} %{author_nickname}'}}},metrics:{comments:{description:"Número de comentarios generados por los usuarios.",object:"comentarios",title:"Comentarios"}}},errors:{messages:{cannot_have_comments:"no puede tener comentarios"}}}}},function(e,t){e.exports={es:{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"Comentario","decidim/comments/comment_created_event":"Comentario","decidim/comments/reply_created_event":"Respuesta al comentario","decidim/comments/user_group_mentioned_event":"Mencionar","decidim/comments/user_mentioned_event":"Mencionar"}},activerecord:{models:{"decidim/comments/comment":{one:"Comentario",other:"Comentarios"},"decidim/comments/comment_vote":{one:"Voto",other:"Votos"}}},decidim:{comments:{comments:"Comentarios",comments_count:"Número de comentarios",last_activity:{new_comment_at_html:"Nuevo comentario en %{link}"},view:"Ver",votes:{create:{error:"Se ha producido un error al votar el comentario."}}},components:{add_comment_form:{account_message:'Inicia sesión con tu cuenta o regístrate para añadir tu comentario.',form:{body:{label:"Comentario",placeholder:"¿Qué piensas sobre ésto?"},form_error:"El texto es necesario y no puede ser más largo de %{length}.",submit:"Enviar",user_group_id:{label:"Comentar como"}},opinion:{neutral:"Neutral"},remaining_characters:"Quedan %{count} caracteres",remaining_characters_1:"Queda %{count} carácter",title:"Deja tu comentario"},comment:{alignment:{against:"En contra",in_favor:"A favor"},deleted_user:"Participante eliminada",hide_replies:"Ocultar respuestas",reply:"Respuesta",report:{action:"Denunciar",already_reported:"Este contenido ya ha sido denunciado y será revisado por una administradora.",close:"Cerrar",description:"¿Este contenido es inapropiado?",details:"Comentarios adicionales",reasons:{does_not_belong:"Contiene actividad ilegal, amenazas de suicidio, información personal o cualquier otra cosa que usted piense que no pertenece en %{organization_name}.",offensive:"Contiene racismo, sexismo, insultos, ataques personales, amenazas de muerte, solicitudes de suicidio o cualquier forma de discurso de odio.",spam:"Contiene clickbait, publicidad o estafas."},title:"Notificar contenido inapropiado"},show_replies:"Mostrar %{replies_count} respuestas",single_comment_link_title:"Obtener enlace a un solo comentario"},comment_order_selector:{order:{best_rated:"Mejor valoración",most_discussed:"Más discutidos",older:"Más antiguo",recent:"Reciente"},title:"Ordenar por:"},comment_thread:{title:"Conversación con %{authorName}"},comments:{blocked_comments_for_user_warning:"No puedes hacer comentarios en este momento, pero puedes leer los anteriores.",blocked_comments_warning:"Los comentarios están deshabilitados en este momento, pero puedes leer los anteriores.",comment_details_title:"Detalles del comentario",loading:"Cargando los comentarios ...",single_comment_warning:'Puedes revisar el resto de los comentarios aquí.',single_comment_warning_title:"Estás viendo un solo comentario",title:"%{count} comentarios"},down_vote_button:{text:"No estoy de acuerdo con este comentario"},up_vote_button:{text:"Estoy de acuerdo con este comentario"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} ha dejado un comentario en %{resource_title}. Puedes leerlo en esta página:",email_outro:'Has recibido esta notificación porque sigues "%{author_name}". Puedes dejar de seguir a esta participante desde su página de perfil.',email_subject:"Hay un nuevo comentario de %{author_name} en %{resource_title}",notification_title:'Hay un nuevo comentario de %{author_name} %{author_nickname} en %{resource_title}.'},comment_by_followed_user_group:{email_intro:"%{author_name} ha dejado un comentario en %{resource_title}. Puedes leerlo en esta página:",email_outro:"Recibes esta notificación porque sigues a %{author_name}. Puedes dejar de seguir a este grupo desde su página de perfil.",email_subject:"Hay un nuevo comentario de %{author_name} en %{resource_title}",notification_title:'Hay un nuevo comentario de %{author_name} %{author_nickname} en %{resource_title}.'},comment_created:{email_intro:"%{resource_title} ha sido comentado. Puedes leer el comentario en esta página:",email_outro:'Has recibido esta notificación porque está siguiendo "%{resource_title}" o su autora. Puedes dejar de seguirla desde el enlace anterior.',email_subject:"Hay un nuevo comentario de %{author_name} en %{resource_title}",notification_title:'Hay un nuevo comentario de %{author_name} %{author_nickname} en %{resource_title}'},reply_created:{email_intro:"%{author_name} ha respondido a tu comentario en %{resource_title}. Puedes leerlo en esta página:",email_outro:"Has recibido esta notificación porque tu comentario fue respondido.",email_subject:"%{author_name} ha respondido a tu comentario en %{resource_title}",notification_title:'%{author_name} %{author_nickname} ha respondido a tu comentario en %{resource_title}'},user_group_mentioned:{email_intro:"Se ha mencionado un grupo al que perteneces",email_outro:"Has recibido esta notificación porque formas parte del grupo %{group_name} que ha sido mencionado en %{resource_title}.",email_subject:"Te han mencionado en %{resource_title} como miembro de %{group_name}",notification_title:'%{author_name} %{author_nickname} te ha mencionado en %{resource_title} como miembro de %{group_name} %{group_nickname}'},user_mentioned:{email_intro:"Has sido mencionada",email_outro:"Has recibido esta notificación porque has sido mencionada en %{resource_title}.",email_subject:"Has sido mencionada en %{resource_title}",notification_title:'Has sido mencionada en %{resource_title} por %{author_name} %{author_nickname}'}}},metrics:{comments:{description:"Número de comentarios generados por las participantes",object:"comentarios",title:"Comentarios"}}},errors:{messages:{cannot_have_comments:"no puede tener comentarios"}}}}},function(e,t){e.exports={et:null}},function(e,t){e.exports={et:null}},function(e,t){e.exports={eu:{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"Iruzkina","decidim/comments/comment_created_event":"Iruzkina","decidim/comments/reply_created_event":"Iruzkinaren erantzuna","decidim/comments/user_group_mentioned_event":"Aipatu","decidim/comments/user_mentioned_event":"Aipatu"}},activerecord:{models:{"decidim/comments/comment":{one:"Iruzkina",other:"Oharrak"},"decidim/comments/comment_vote":{one:"Bozkatu",other:"Botoak"}}},decidim:{comments:{comments:"Oharrak",last_activity:{new_comment_at_html:"Iruzkin berria %{link}"},votes:{create:{error:"Erroreak gertatu dira iruzkina bozkatzean."}}},components:{add_comment_form:{account_message:'Hasi saioa zure kontuarekin o erregistratu zure iruzkina txertatzeko.',form:{body:{label:"Iruzkina",placeholder:"Zer deritzozu honi?"},form_error:"Testua behar da, eta ezin du izan %{length} karaktere baino gehiago.",submit:"Bidali",user_group_id:{label:"Egin iruzkina honako honen gisa:"}},opinion:{neutral:"Neutrala"},remaining_characters:"%{count} karaktere geratzen dira",remaining_characters_1:"karaktere %{count} geratzen da",title:"Egin hemen zure iruzkina"},comment:{alignment:{against:"Aurka",in_favor:"Alde"},deleted_user:"Erabiltzaile ezabatua",reply:"Erantzuna",report:{action:"Salatu",already_reported:"Eduki hau jada salatuta dago, eta administratzaile batek.",close:"Itxi",description:"Eduki hau desegokia da?",details:"Iruzkin gehigarriak",reasons:{does_not_belong:"Bertan badago legez kontrako jardunik, suizidio-mehatxurik, informazio pertsonalik edo beste zernahi, zure ustez %{organization_name}-ri ez dagokionik.",offensive:"Ertan badago arrazakeriarik, sexismorik, irainik, eraso pertsonalik, heriotza-mehatxurik, suizidio-eskaerarik edo beste edozein eratako gorroto-diskurtsorik.",spam:"Bertan badago clickbait-ik, publizitaterik edo iruzurrik."}}},comment_order_selector:{order:{best_rated:"Balorazio hoberenak",most_discussed:"Eztabaidatuenak",older:"Zaharrenak",recent:"Berrienak"},title:"Ordenatu honen arabera:"},comment_thread:{title:"Solasaldia honekin: %{authorName}"},comments:{blocked_comments_for_user_warning:"Oraindik ez duzu iruzkinik egin, baina aurrekoak irakurri ditzakezu.",blocked_comments_warning:"Iruzkinak desgaituta daude une honetan, baina aurrekoak irakur ditzakezu.",loading:"Iruzkinak kargatzen...",title:"%{count} iruzkin"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} iruzkin bat utzi du %{resource_title}helbidean. Orri honetan irakur dezakezu:",email_outro:"Jakinarazpena jaso duzu %{author_name}jarraituz gero. Erabiltzaile hau bere profileko orrialdetik jarrai dezakezu.",email_subject:"%{author_name} %{resource_title} iruzkin berri bat dago",notification_title:'%{author_name} %{author_nickname} %{resource_title} iruzkin berri bat dago.'},comment_by_followed_user_group:{email_subject:"%{author_name} %{resource_title} iruzkin berri bat dago",notification_title:'%{author_name} %{author_nickname} %{resource_title} iruzkin berri bat dago.'},comment_created:{email_intro:"%{resource_title} iruzkindu da. Orri honetan iruzkina irakur dezakezu:",email_outro:'Jakinarazpen hau jaso duzu "%{resource_title}" edo bere egilea jarraitzen duzulako. Aurreko esteka estekan jarrai dezakezu.',email_subject:"%{author_name} (r) en %{resource_title} iruzkin berri bat dago",notification_title:'%{author_name} %{author_nickname} %{resource_title} iruzkin berri bat dago'},reply_created:{email_intro:"%{author_name} zure iruzkina erantzun du %{resource_title}zenbakian. Orri honetan irakur dezakezu:",email_outro:"Jakinarazpen hau jaso duzu zure iruzkina erantzun delako.",email_subject:"%{author_name} zure iruzkina erantzun du %{resource_title} zenbakian",notification_title:'%{author_name} %{author_nickname} -k zure iruzkinari erantzun dio %{resource_title}'},user_mentioned:{email_intro:"Esan zaizu",email_outro:"Jakinarazpena jaso duzu %{resource_title} delakoan aipatu duzulako.",email_subject:"%{resource_title} aipatu zaituzte",notification_title:'%{resource_title} %{author_name} %{author_nickname} bidez aipatu zaituzte.'}}},metrics:{comments:{description:"Erabiltzaileek sortutako iruzkin kopurua",object:"iruzkinak",title:"Oharrak"}}},errors:{messages:{cannot_have_comments:"ezin zaio iruzkinik egin"}}}}},function(e,t){e.exports={"fi-pl":{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"Kommentti","decidim/comments/comment_created_event":"Kommentti","decidim/comments/reply_created_event":"Vastaus kommentiin","decidim/comments/user_mentioned_event":"Maininta"}},activerecord:{models:{"decidim/comments/comment":{one:"Kommentti",other:"Kommentit"},"decidim/comments/comment_vote":{one:"Ääni",other:"Äänet"}}},decidim:{comments:{comments:"Kommentit",last_activity:{new_comment_at_html:"Uusi kommentti osoitteessa %{link}"},votes:{create:{error:"Äänestettäessä kommenttia tapahtui virhe."}}},components:{add_comment_form:{account_message:'Kirjaudu sisään tai rekisteröidy palveluun kommentoidaksesi.',form:{body:{label:"Kommentti",placeholder:"Mitä mieltä olet tästä?"},form_error:"Teksti vaaditaan ja se ei voi olla pidempi kuin %{length} merkkiä.",submit:"Lähetä",user_group_id:{label:"Kommentoi käyttäjänä"}},opinion:{neutral:"Neutraali"},remaining_characters:"%{count} merkkiä jäljellä",remaining_characters_1:"%{count} merkki jäljellä",title:"Lisää oma kommenttisi"},comment:{alignment:{against:"Vastaan",in_favor:"Puolesta"},deleted_user:"Poistettu käyttäjä",reply:"Vastaa",report:{action:"Tee ilmoitus",already_reported:"Tämä sisältö on jo ilmoitettu ja ylläpitäjä tutkii sen.",close:"Sulje",description:"Onko tämä sisältö epäasiallista?",details:"Lisätiedot",reasons:{does_not_belong:"Sisältää laitonta toimintaa, itsemurhauhkailua, henkilökohtaisia tietoja tai jotain muuta, jonka et usko kuuluvan organisaatioon %{organization_name}.",offensive:"Sisältää rasismia, seksismiä, haukkumista, henkilökohtaisia hyökkäyksiä, tappouhkauksia, itsemurhapyyntöjä tai muuta vihapuhetta.",spam:"Sisältää klikkihoukutteita, mainostusta, huijauksia tai bottiskriptejä."},title:"Ilmoita ongelmasta"}},comment_order_selector:{order:{best_rated:"Parhaiksi arvioidut",most_discussed:"Eniten keskustelua herättäneet",older:"Vanhimmat",recent:"Uusimmat"},title:"Järjestä tulokset:"},comment_thread:{title:"Keskustelu henkilön %{authorName} kanssa"},comments:{blocked_comments_warning:"Kommentit on poistettu käytöstä tällä hetkellä, mutta voit lukea aikaisempia kommentteja.",loading:"Ladataan kommentteja ...",title:"%{count} kommenttia"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} on jättänyt kommentin %{resource_title}. Voit lukea sen tällä sivulla:",email_outro:"Tämä ilmoitus on lähetetty sinulle, koska seuraat %{author_name}. Voit perua seuraamisen kyseisen käyttäjän profiilisivulta.",email_subject:"%{author_name} on jättänyt uuden kommentin kohtaan %{resource_title}",notification_title:'%{author_name} %{author_nickname} on jättänyt uuden kommentin kohtaan %{resource_title}.'},comment_created:{email_intro:"%{resource_title} on kommentoitu. Voit lukea kommentin tällä sivulla:",email_outro:'Tämä ilmoitus on lähetetty sinulle, koska seuraat "%{resource_title}" tai sen kirjoittajaa. Voit lopettaa seuraamisen edellä esitetyn linkin kautta.',email_subject:"%{author_name} on jättänyt uuden kommentin kohtaan %{resource_title}",notification_title:'%{author_name} %{author_nickname}on jättänyt uuden kommentin kohtaan %{resource_title}'},reply_created:{email_intro:"%{author_name} on vastannut kommentiisi kohdassa %{resource_title}. Voit lukea sen tällä sivulla:",email_outro:"Tämä ilmoitus on lähetetty sinulle, koska kommenttiisi vastattiin.",email_subject:"%{author_name} on vastannut kommentiisi %{resource_title}",notification_title:'%{author_name} %{author_nickname} on vastannut kommentiisi kohdassa %{resource_title}'},user_mentioned:{email_intro:"Sinut on mainittu",email_outro:"Tämä ilmoitus on lähetetty sinulle, koska sinut on mainittu kohdssa %{resource_title}.",email_subject:"Sinut on mainittu kohdassa %{resource_title}",notification_title:'%{author_name} %{author_nickname} on maininnut sinut kohdassa %{resource_title}'}}},metrics:{comments:{description:"Käyttäjien kirjoittamien kommenttien määrä",object:"kommentit",title:"Kommentit"}}},errors:{messages:{cannot_have_comments:"ei voi sisältää kommentteja"}}}}},function(e,t){e.exports={"fi-pl":{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"Kommentti","decidim/comments/comment_created_event":"Kommentti","decidim/comments/reply_created_event":"Vastaus kommentiin","decidim/comments/user_group_mentioned_event":"Maininta","decidim/comments/user_mentioned_event":"Maininta"}},activerecord:{models:{"decidim/comments/comment":{one:"Kommentti",other:"Kommentit"},"decidim/comments/comment_vote":{one:"Ääni",other:"Äänet"}}},decidim:{comments:{comments:"Kommentit",comments_count:"Kommenttien määrä",last_activity:{new_comment_at_html:"Uusi kommentti osoitteessa %{link}"},view:"Näytä",votes:{create:{error:"Äänestettäessä kommenttia tapahtui virhe."}}},components:{add_comment_form:{account_message:'Kirjaudu sisään tai rekisteröidy palveluun kommentoidaksesi.',form:{body:{label:"Kommentti",placeholder:"Mitä mieltä olet tästä?"},form_error:"Teksti vaaditaan ja se ei voi olla pidempi kuin %{length} merkkiä.",submit:"Lähetä",user_group_id:{label:"Kommentoi käyttäjänä"}},opinion:{neutral:"Neutraali"},remaining_characters:"%{count} merkkiä jäljellä",remaining_characters_1:"%{count} merkki jäljellä",title:"Lisää oma kommenttisi"},comment:{alignment:{against:"Vastaan",in_favor:"Puolesta"},deleted_user:"Poistettu käyttäjä",hide_replies:"Piilota vastaukset",reply:"Vastaa",report:{action:"Tee ilmoitus",already_reported:"Tämä sisältö on jo ilmoitettu ja ylläpitäjä tutkii sen.",close:"Sulje",description:"Onko tämä sisältö epäasiallista?",details:"Lisätiedot",reasons:{does_not_belong:"Sisältää laitonta toimintaa, itsemurhauhkailua, henkilökohtaisia tietoja tai jotain muuta, jonka et usko kuuluvan organisaatioon %{organization_name}.",offensive:"Sisältää rasismia, seksismiä, haukkumista, henkilökohtaisia hyökkäyksiä, tappouhkauksia, itsemurhapyyntöjä tai muuta vihapuhetta.",spam:"Sisältää klikkihoukutteita, mainostusta, huijauksia tai bottiskriptejä."},title:"Ilmoita asiatonta sisältöä"},show_replies:"Näytä %{replies_count} vastausta",single_comment_link_title:"Hae linkki yksittäiseen kommenttiin"},comment_order_selector:{order:{best_rated:"Parhaiksi arvioidut",most_discussed:"Eniten keskustelua herättäneet",older:"Vanhimmat",recent:"Uusimmat"},title:"Järjestä tulokset:"},comment_thread:{title:"Keskustelu henkilön %{authorName} kanssa"},comments:{blocked_comments_for_user_warning:"Et voi kommentoida tällä hetkellä, mutta voit lukea aikaisempia kommentteja.",blocked_comments_warning:"Kommentit on poistettu käytöstä tällä hetkellä, mutta voit lukea aikaisempia kommentteja.",comment_details_title:"Kommentin yksityiskohdat",loading:"Ladataan kommentteja ...",single_comment_warning:'Voit katsoa loput kommentit täältä.',single_comment_warning_title:"Näet yhden kommentin",title:"%{count} kommenttia"},down_vote_button:{text:"Olen eri mieltä tämän kommentin kanssa"},up_vote_button:{text:"Olen samaa mieltä tämän kommentin kanssa"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} on jättänyt kommentin %{resource_title}. Voit lukea sen tällä sivulla:",email_outro:"Tämä ilmoitus on lähetetty sinulle, koska seuraat %{author_name}. Voit perua seuraamisen kyseisen käyttäjän profiilisivulta.",email_subject:"%{author_name} on jättänyt uuden kommentin kohtaan %{resource_title}",notification_title:'%{author_name} %{author_nickname} on jättänyt uuden kommentin kohtaan %{resource_title}.'},comment_by_followed_user_group:{email_intro:"%{author_name} on jättänyt kommentin kohteessa %{resource_title}. Voit lukea sen täältä:",email_outro:"Tämä ilmoitus on lähetetty sinulle, koska seuraat %{author_name}. Voit perua seuraamisen kyseisen käyttäjän profiilisivulta.",email_subject:"%{author_name} on jättänyt uuden kommentin kohtaan %{resource_title}",notification_title:'%{author_name} %{author_nickname} on jättänyt uuden kommentin kohtaan %{resource_title}.'},comment_created:{email_intro:"%{resource_title} on kommentoitu. Voit lukea kommentin tällä sivulla:",email_outro:'Tämä ilmoitus on lähetetty sinulle, koska seuraat "%{resource_title}" tai sen kirjoittajaa. Voit lopettaa seuraamisen edellä esitetyn linkin kautta.',email_subject:"%{author_name} on jättänyt uuden kommentin kohtaan %{resource_title}",notification_title:'%{author_name} %{author_nickname}on jättänyt uuden kommentin kohtaan %{resource_title}'},reply_created:{email_intro:"%{author_name} on vastannut kommentiisi kohdassa %{resource_title}. Voit lukea sen tällä sivulla:",email_outro:"Tämä ilmoitus on lähetetty sinulle, koska kommenttiisi vastattiin.",email_subject:"%{author_name} on vastannut kommentiisi %{resource_title}",notification_title:'%{author_name} %{author_nickname} on vastannut kommentiisi kohdassa %{resource_title}'},user_group_mentioned:{email_intro:"Ryhmä, jonka jäsen olet, on mainittu",email_outro:"Tämä ilmoitus on lähetetty sinulle, koska olet jäsenenä ryhmässä %{group_name} ja ryhmä on mainittu kohteessa %{resource_title}.",email_subject:"Sinut on mainittu kohteessa %{resource_title} ryhmän %{group_name} jäsenenä",notification_title:'Käyttäjä %{author_name}%{author_nickname} on maininnut sinut kohteessa %{resource_title} ryhmän %{group_name} %{group_nickname} jäsenenä'},user_mentioned:{email_intro:"Sinut on mainittu",email_outro:"Tämä ilmoitus on lähetetty sinulle, koska sinut on mainittu kohdssa %{resource_title}.",email_subject:"Sinut on mainittu kohdassa %{resource_title}",notification_title:'%{author_name} %{author_nickname} on maininnut sinut kohdassa %{resource_title}'}}},metrics:{comments:{description:"Käyttäjien kirjoittamien kommenttien määrä",object:"kommentit",title:"Kommentit"}}},errors:{messages:{cannot_have_comments:"ei voi sisältää kommentteja"}}}}},function(e,t){e.exports={fi:{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"Kommentti","decidim/comments/comment_created_event":"Kommentti","decidim/comments/reply_created_event":"Vastaus kommentiin","decidim/comments/user_group_mentioned_event":"Maininta","decidim/comments/user_mentioned_event":"Maininta"}},activerecord:{models:{"decidim/comments/comment":{one:"Kommentti",other:"Kommentit"},"decidim/comments/comment_vote":{one:"Ääni",other:"Äänet"}}},decidim:{comments:{comments:"Kommentit",comments_count:"Kommenttien määrä",last_activity:{new_comment_at_html:"Uusi kommentti osoitteessa %{link}"},view:"Näytä",votes:{create:{error:"Kommentin äänestys epäonnistui."}}},components:{add_comment_form:{account_message:'Kirjaudu sisään tai rekisteröidy palveluun kommentoidaksesi.',form:{body:{label:"Kommentti",placeholder:"Mitä mieltä olet tästä?"},form_error:"Teksti vaaditaan ja se ei voi olla pidempi kuin %{length} merkkiä.",submit:"Lähetä",user_group_id:{label:"Kommentoi käyttäjänä"}},opinion:{neutral:"Neutraali"},remaining_characters:"%{count} merkkiä jäljellä",remaining_characters_1:"%{count} merkki jäljellä",title:"Lisää oma kommenttisi"},comment:{alignment:{against:"Vastaan",in_favor:"Puolesta"},deleted_user:"Poistettu käyttäjä",hide_replies:"Piilota vastaukset",reply:"Vastaa",report:{action:"Tee ilmoitus",already_reported:"Tämä sisältö on jo ilmoitettu ja ylläpitäjä tutkii sen.",close:"Sulje",description:"Onko tämä sisältö sopimatonta?",details:"Lisätiedot",reasons:{does_not_belong:"Sisältää laitonta toimintaa, itsemurhauhkailua, henkilökohtaisia tietoja tai jotain muuta, jonka et usko kuuluvan organisaatioon %{organization_name}.",offensive:"Sisältää rasismia, seksismiä, haukkumista, henkilökohtaisia hyökkäyksiä, tappouhkauksia, itsemurhapyyntöjä tai muuta vihapuhetta.",spam:"Sisältää klikkihoukutteita, mainostusta, huijauksia tai bottiskriptejä."},title:"Ilmoita asiatonta sisältöä"},show_replies:"Näytä %{replies_count} vastausta",single_comment_link_title:"Hae linkki yksittäiseen kommenttiin"},comment_order_selector:{order:{best_rated:"Parhaiksi arvioidut",most_discussed:"Eniten keskustelua herättäneet",older:"Vanhimmat",recent:"Uusimmat"},title:"Järjestä tulokset:"},comment_thread:{title:"Keskustelu henkilön %{authorName} kanssa"},comments:{blocked_comments_for_user_warning:"Et voi kommentoida tällä hetkellä, mutta voit lukea aikaisempia kommentteja.",blocked_comments_warning:"Kommentit on poistettu käytöstä tällä hetkellä, mutta voit lukea aikaisempia kommentteja.",comment_details_title:"Kommentin yksityiskohdat",loading:"Ladataan kommentteja ...",single_comment_warning:'Voit katsoa loput kommentit täältä.',single_comment_warning_title:"Näet yhden kommentin",title:"%{count} kommenttia"},down_vote_button:{text:"Olen eri mieltä tämän kommentin kanssa"},up_vote_button:{text:"Olen samaa mieltä tämän kommentin kanssa"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} on jättänyt kommentin kohteessa %{resource_title}. Voit lukea sen täältä:",email_outro:"Tämä ilmoitus on lähetetty sinulle, koska seuraat %{author_name}. Voit perua seuraamisen kyseisen käyttäjän profiilisivulta.",email_subject:"%{author_name} on jättänyt uuden kommentin kohteessa %{resource_title}",notification_title:'%{author_name} %{author_nickname} on jättänyt uuden kommentin kohteessa %{resource_title}.'},comment_by_followed_user_group:{email_intro:"%{author_name} on jättänyt kommentin kohteessa %{resource_title}. Voit lukea sen täältä:",email_outro:"Tämä ilmoitus on lähetetty sinulle, koska seuraat %{author_name}. Voit perua seuraamisen kyseisen käyttäjän profiilisivulta.",email_subject:"%{author_name} on jättänyt uuden kommentin kohteessa %{resource_title}",notification_title:'%{author_name} %{author_nickname} on jättänyt uuden kommentin kohteessa %{resource_title}.'},comment_created:{email_intro:"%{resource_title} on kommentoitu. Voit lukea kommentin tällä sivulla:",email_outro:'Tämä ilmoitus on lähetetty sinulle, koska seuraat "%{resource_title}" tai sen kirjoittajaa. Voit lopettaa seuraamisen edellä esitetyn linkin kautta.',email_subject:"%{author_name} on jättänyt uuden kommentin kohteessa %{resource_title}",notification_title:'%{author_name} %{author_nickname}on jättänyt uuden kommentin kohteessa %{resource_title}'},reply_created:{email_intro:"%{author_name} on vastannut kommentiisi kohdassa %{resource_title}. Voit lukea sen tällä sivulla:",email_outro:"Tämä ilmoitus on lähetetty sinulle, koska kommenttiisi vastattiin.",email_subject:"%{author_name} on vastannut kommentiisi %{resource_title}",notification_title:'%{author_name} %{author_nickname} on vastannut kommentiisi kohdassa %{resource_title}'},user_group_mentioned:{email_intro:"Ryhmä, jonka jäsen olet, on mainittu",email_outro:"Tämä ilmoitus on lähetetty sinulle, koska olet jäsenenä ryhmässä %{group_name} ja ryhmä on mainittu kohteessa %{resource_title}.",email_subject:"Sinut on mainittu kohteessa %{resource_title} ryhmän %{group_name} jäsenenä",notification_title:'Käyttäjä %{author_name}%{author_nickname} on maininnut sinut kohteessa %{resource_title} ryhmän %{group_name} %{group_nickname} jäsenenä'},user_mentioned:{email_intro:"Sinut on mainittu",email_outro:"Tämä ilmoitus on lähetetty sinulle, koska sinut on mainittu kohteessa %{resource_title}.",email_subject:"Sinut on mainittu kohdassa %{resource_title}",notification_title:'%{author_name} %{author_nickname} on maininnut sinut kohdassa %{resource_title}'}}},metrics:{comments:{description:"Käyttäjien kirjoittamien kommenttien määrä",object:"kommentit",title:"Kommentit"}}},errors:{messages:{cannot_have_comments:"ei voi sisältää kommentteja"}}}}},function(e,t){e.exports={"fr-CA":{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"Commentaire","decidim/comments/comment_created_event":"Commentaire","decidim/comments/reply_created_event":"Réponse à un commentaire","decidim/comments/user_group_mentioned_event":"Mention","decidim/comments/user_mentioned_event":"Mention"}},activerecord:{models:{"decidim/comments/comment":{one:"Commentaire",other:"Commentaires"},"decidim/comments/comment_vote":{one:"Vote",other:"Votes"}}},decidim:{comments:{comments:"commentaires",comments_count:"Nombre de commentaires",last_activity:{new_comment_at_html:"Nouveau commentaire à %{link}"},view:"Voir",votes:{create:{error:"Une erreur s'est produite lors du vote sur le commentaire."}}},components:{add_comment_form:{account_message:'Pour ajouter votre commentaire connectez-vous avec votre compte ou inscrivez-vous.',form:{body:{label:"Commentaire",placeholder:"Que pensez-vous de cela ?"},form_error:"Le texte est requis et ne peut pas dépasser %{length} caractères.",submit:"Publier",user_group_id:{label:"Commenter en tant que"}},opinion:{neutral:"Neutre"},remaining_characters:"%{count} caractères restants",remaining_characters_1:"%{count} caractère restant",title:"Ajoutez votre commentaire"},comment:{alignment:{against:"Contre",in_favor:"Pour"},deleted_user:"Utilisateur supprimé",hide_replies:"Cacher les réponses",reply:"Répondre",report:{action:"Signaler",already_reported:"Ce contenu a déjà été signalé et il sera examiné par un administrateur.",close:"Fermer",description:"Ce contenu est-il inapproprié ?",details:"Commentaires additionnels",reasons:{does_not_belong:"Contient d’autres types de contenus qui vous semblent inappropriés à %{organization_name} (activités illégales, menaces suicidaires, informations personnelles,...).",offensive:"Contient des propos contraires à la loi (propos racistes, sexistes, insultes, attaques personnelles, menaces de mort, incitations au suicide ou toute forme de discours de haine,...).",spam:"Contient des publicités, des escroqueries, des pièges à clic (clickbait) ou des robots fonctionnant au script (script bots)."},title:"Signaler un contenu inapproprié"},show_replies:"Afficher %{replies_count} réponses",single_comment_link_title:"Obtenir un lien vers un seul commentaire"},comment_order_selector:{order:{best_rated:"Les mieux notés",most_discussed:"Les plus débattus",older:"Les plus anciens",recent:"Les plus récents"},title:"Classement par :"},comment_thread:{title:"Conversation avec %{authorName}"},comments:{blocked_comments_for_user_warning:"Vous n'êtes pas en mesure de commenter pour le moment, mais vous pouvez lire les précédents.",blocked_comments_warning:"Les commentaires sont actuellement désactivés, mais vous pouvez lire ceux déjà saisis.",comment_details_title:"Détails du commentaire",loading:"Chargement des commentaires ...",single_comment_warning:'Vous pouvez accéder au reste des commentaires ici.',single_comment_warning_title:"Vous ne voyez qu'un seul commentaire",title:"%{count} commentaires"},down_vote_button:{text:"Je ne suis pas d'accord avec ce commentaire"},up_vote_button:{text:"Je suis d'accord avec ce commentaire"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} a laissé un commentaire dans %{resource_title}. Vous pouvez le lire sur la page suivante :",email_outro:"Vous avez reçu cette notification, car vous suivez %{author_name}. Vous pouvez vous désabonner de cet utilisateur depuis sa page de profil.",email_subject:"Un nouveau commentaire vient d'être déposé par %{author_name} dans %{resource_title}",notification_title:'Un nouveau commentaire a été publié par %{author_name} %{author_nickname} dans %{resource_title}.'},comment_by_followed_user_group:{email_intro:"%{author_name} a laissé un commentaire dans %{resource_title}. Vous pouvez le lire sur la page suivante :",email_outro:"Vous avez reçu cette notification, car vous suivez %{author_name}. Vous pouvez vous désabonner de cet utilisateur depuis sa page de profil.",email_subject:"Un nouveau commentaire vient d'être déposé par %{author_name} dans %{resource_title}",notification_title:'Un nouveau commentaire a été publié par %{author_name} %{author_nickname} dans %{resource_title}.'},comment_created:{email_intro:"%{resource_title} a été commenté. Vous pouvez lire le commentaire sur cette page :",email_outro:'Vous venez de recevoir cette notification parce que vous suivez "%{resource_title}" ou son auteur. Vous pouvez vous désabonner à partir du lien précédant.',email_subject:"Un nouveau commentaire vient d'être publié par %{author_name} dans %{resource_title}",notification_title:'Un nouveau commentaire de %{author_name} %{author_nickname} vient d\'être publié dans %{resource_title}'},reply_created:{email_intro:"%{author_name} a répondu à votre commentaire dans %{resource_title}. Vous pouvez le lire depuis la page suivante :",email_outro:"Vous venez de recevoir une notification à votre commentaire.",email_subject:"%{author_name} a répondu à votre commentaire dans %{resource_title}",notification_title:'%{author_name} %{author_nickname} a réagi à votre commentaire sur %{resource_title}'},user_group_mentioned:{email_intro:"Un groupe auquel vous appartenez a été mentionné",email_outro:"Vous avez reçu cette notification parce que vous êtes membre du groupe %{group_name} qui a été mentionné dans %{resource_title}.",email_subject:"Vous avez été mentionné dans %{resource_title} en tant que membre de %{group_name}",notification_title:'Vous avez été mentionné dans %{resource_title} par %{author_name} %{author_nickname} en tant que membre de %{group_name} %{group_nickname}'},user_mentioned:{email_intro:"Vous avez été mentionné",email_outro:"Vous avez reçu cette notification parce que vous avez été mentionné dans %{resource_title}.",email_subject:"Vous avez été mentionné dans %{resource_title}",notification_title:'Vous avez été mentionné dans %{resource_title} par %{author_name} %{author_nickname}'}}},metrics:{comments:{description:"Nombre de commentaires générés par les utilisateurs",object:"commentaires",title:"commentaires"}}},errors:{messages:{cannot_have_comments:"ne peut pas être commenté"}}}}},function(e,t){e.exports={fr:{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"Commentaire","decidim/comments/comment_created_event":"Commentaire","decidim/comments/reply_created_event":"Réponse à un commentaire","decidim/comments/user_group_mentioned_event":"Mention","decidim/comments/user_mentioned_event":"Mention"}},activerecord:{models:{"decidim/comments/comment":{one:"Commentaire",other:"Commentaires"},"decidim/comments/comment_vote":{one:"Vote",other:"Votes"}}},decidim:{comments:{comments:"commentaires",comments_count:"Nombre de commentaires",last_activity:{new_comment_at_html:"Nouveau commentaire à %{link}"},view:"Voir",votes:{create:{error:"Une erreur s'est produite lors du vote sur le commentaire."}}},components:{add_comment_form:{account_message:'Pour ajouter votre commentaire connectez-vous avec votre compte ou inscrivez-vous.',form:{body:{label:"Commentaire",placeholder:"Que pensez-vous de cela ?"},form_error:"Le texte est requis et ne peut pas dépasser %{length} caractères.",submit:"Publier",user_group_id:{label:"Commenter en tant que"}},opinion:{neutral:"Neutre"},remaining_characters:"%{count} caractères restants",remaining_characters_1:"%{count} caractère restant",title:"Ajoutez votre commentaire"},comment:{alignment:{against:"Contre",in_favor:"Pour"},deleted_user:"Utilisateur supprimé",hide_replies:"Cacher les réponses",reply:"Répondre",report:{action:"Signaler",already_reported:"Ce contenu a déjà été signalé et il sera examiné par un administrateur.",close:"Fermer",description:"Ce contenu est-il inapproprié ?",details:"Commentaires additionnels",reasons:{does_not_belong:"Contient d’autres types de contenus qui vous semblent inappropriés à %{organization_name} (activités illégales, menaces suicidaires, informations personnelles,...).",offensive:"Contient des propos contraires à la loi (propos racistes, sexistes, insultes, attaques personnelles, menaces de mort, incitations au suicide ou toute forme de discours de haine,...).",spam:"Contient des publicités, des escroqueries, des pièges à clic (clickbait) ou des robots fonctionnant au script (script bots)."},title:"Signaler un contenu inapproprié"},show_replies:"Afficher %{replies_count} réponses",single_comment_link_title:"Obtenir un lien vers un seul commentaire"},comment_order_selector:{order:{best_rated:"Les mieux notés",most_discussed:"Les plus débattus",older:"Les plus anciens",recent:"Les plus récents"},title:"Classement par :"},comment_thread:{title:"Conversation avec %{authorName}"},comments:{blocked_comments_for_user_warning:"Vous n'êtes pas en mesure de commenter pour le moment, mais vous pouvez lire les précédents.",blocked_comments_warning:"Les commentaires sont actuellement désactivés, mais vous pouvez lire ceux déjà saisis.",comment_details_title:"Détails du commentaire",loading:"Chargement des commentaires ...",single_comment_warning:'Vous pouvez accéder au reste des commentaires ici.',single_comment_warning_title:"Vous ne voyez qu'un seul commentaire",title:"%{count} commentaires"},down_vote_button:{text:"Je ne suis pas d'accord avec ce commentaire"},up_vote_button:{text:"Je suis d'accord avec ce commentaire"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} a laissé un commentaire dans %{resource_title}. Vous pouvez le lire sur la page suivante :",email_outro:"Vous avez reçu cette notification, car vous suivez %{author_name}. Vous pouvez vous désabonner de cet utilisateur depuis sa page de profil.",email_subject:"Un nouveau commentaire vient d'être déposé par %{author_name} dans %{resource_title}",notification_title:'Un nouveau commentaire a été publié par %{author_name} %{author_nickname} dans %{resource_title}.'},comment_by_followed_user_group:{email_intro:"%{author_name} a laissé un commentaire dans %{resource_title}. Vous pouvez le lire sur la page suivante :",email_outro:"Vous avez reçu cette notification, car vous suivez %{author_name}. Vous pouvez vous désabonner de cet utilisateur depuis sa page de profil.",email_subject:"Un nouveau commentaire vient d'être déposé par %{author_name} dans %{resource_title}",notification_title:'Un nouveau commentaire a été publié par %{author_name} %{author_nickname} dans %{resource_title}.'},comment_created:{email_intro:"%{resource_title} a été commenté. Vous pouvez lire le commentaire sur cette page :",email_outro:'Vous venez de recevoir cette notification parce que vous suivez "%{resource_title}" ou son auteur. Vous pouvez vous désabonner à partir du lien précédant.',email_subject:"Un nouveau commentaire vient d'être publié par %{author_name} dans %{resource_title}",notification_title:'Un nouveau commentaire de %{author_name} %{author_nickname} vient d\'être publié dans %{resource_title}'},reply_created:{email_intro:"%{author_name} a répondu à votre commentaire dans %{resource_title}. Vous pouvez le lire depuis la page suivante :",email_outro:"Vous venez de recevoir une notification à votre commentaire.",email_subject:"%{author_name} a répondu à votre commentaire dans %{resource_title}",notification_title:'%{author_name} %{author_nickname} a réagi à votre commentaire sur %{resource_title}'},user_group_mentioned:{email_intro:"Un groupe auquel vous appartenez a été mentionné",email_outro:"Vous avez reçu cette notification parce que vous êtes membre du groupe %{group_name} qui a été mentionné dans %{resource_title}.",email_subject:"Vous avez été mentionné dans %{resource_title} en tant que membre de %{group_name}",notification_title:'Vous avez été mentionné dans %{resource_title} par %{author_name} %{author_nickname} en tant que membre de %{group_name} %{group_nickname}'},user_mentioned:{email_intro:"Vous avez été mentionné",email_outro:"Vous avez reçu cette notification parce que vous avez été mentionné dans %{resource_title}.",email_subject:"Vous avez été mentionné dans %{resource_title}",notification_title:'Vous avez été mentionné dans %{resource_title} par %{author_name} %{author_nickname}'}}},metrics:{comments:{description:"Nombre de commentaires générés par les utilisateurs",object:"commentaires",title:"commentaires"}}},errors:{messages:{cannot_have_comments:"ne peut pas être commenté"}}}}},function(e,t){e.exports={ga:null}},function(e,t){e.exports={gl:{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"Comentario","decidim/comments/comment_created_event":"Comentario","decidim/comments/reply_created_event":"Comentario de resposta","decidim/comments/user_group_mentioned_event":"Mención","decidim/comments/user_mentioned_event":"Mención"}},activerecord:{models:{"decidim/comments/comment":{one:"Comentario",other:"Comentarios"},"decidim/comments/comment_vote":{one:"Vota",other:"Votos"}}},decidim:{comments:{comments:"Comentarios",comments_count:"Número de comentarios",last_activity:{new_comment_at_html:"Novo comentario en %{link}"},view:"Ver",votes:{create:{error:"Houbo erros ao votar o comentario."}}},components:{add_comment_form:{account_message:'Inicia sesión coa túa conta ou iniciar para engadir o teu comentario.',form:{body:{label:"Comentario",placeholder:"Que vos parece?"},form_error:"Requírese o texto e non pode ter máis de %{length} caracteres.",submit:"Enviar",user_group_id:{label:"Comentar como"}},opinion:{neutral:"Neutro"},remaining_characters:"Faltan %{count} caracteres",remaining_characters_1:"Faltou o personaxe %{count}",title:"Engade o teu comentario"},comment:{alignment:{against:"Contra",in_favor:"A favor"},deleted_user:"Usuario eliminado",hide_replies:"Ocultar respostas",reply:"Responder",report:{action:"Informe",already_reported:"Este contido xa se informou e será revisado por un administrador.",close:"Pechar",description:"Este contido é inapropiado?",details:"Comentarios adicionais",reasons:{does_not_belong:"Contén actividades ilegais, ameazas de suicidio, información persoal ou outra cousa que pensas que non pertence a %{organization_name}.",offensive:"Contén racismo, sexismo, abuso, ataques persoais, ameazas de morte, solicitudes de suicidio ou calquera tipo de discurso de odio.",spam:"Contén clic, publicidade, fraudes ou bots de script."},title:"Denunciar contido inapropiado"},show_replies:"Amosar %{replies_count} respostas",single_comment_link_title:"Obter ligazón a un único comentario"},comment_order_selector:{order:{best_rated:"Mellor valorado",most_discussed:"A maioría discutida",older:"Máis vello",recent:"Recentes"},title:"Ordenar por:"},comment_thread:{title:"Conversa con %{authorName}"},comments:{blocked_comments_for_user_warning:"Non podes comentar neste momento, pero podes ler os anteriores.",blocked_comments_warning:"Os comentarios están desactivados neste momento, pero podes ler os anteriores.",comment_details_title:"Detalles do comentario",loading:"Cargando comentarios ...",single_comment_warning:'Podes revisar os comentarios restantes aquí.',single_comment_warning_title:"Estás a ver un único comentario",title:"%{count} comentarios"},down_vote_button:{text:"Non estou de acordo con este comentario"},up_vote_button:{text:"Estou de acordo con este comentario"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} deixou un comentario en %{resource_title}. Podes lelo nesta páxina:",email_outro:"Recibiches esta notificación porque estás seguindo %{author_name}. Podes deixar de seguir este usuario desde a súa páxina de perfil.",email_subject:"Hai un novo comentario por %{author_name} en %{resource_title}",notification_title:'Hai un novo comentario %{author_name} %{author_nickname} en %{resource_title}.'},comment_by_followed_user_group:{email_subject:"Hai un novo comentario por %{author_name} en %{resource_title}",notification_title:'Hai un novo comentario %{author_name} %{author_nickname} en %{resource_title}.'},comment_created:{email_intro:"Comentouse %{resource_title} . Podes ler o comentario nesta páxina:",email_outro:'Recibiches esta notificación porque estás seguindo "%{resource_title}" ou o seu autor. Podes deixar de seguir desde a ligazón anterior.',email_subject:"Hai un novo comentario de %{author_name} en %{resource_title}",notification_title:'Hai un novo comentario de %{author_name} %{author_nickname} en %{resource_title}'},reply_created:{email_intro:"%{author_name} respondeu o teu comentario en %{resource_title}. Podes lelo nesta páxina:",email_outro:"Recibiches esta notificación porque o teu comentario foi respondido.",email_subject:"%{author_name} respondeu o teu comentario en %{resource_title}",notification_title:'%{author_name} %{author_nickname} respondeu o seu comentario en %{resource_title}'},user_mentioned:{email_intro:"Foi mencionado",email_outro:"Recibiches esta notificación porque foi mencionado en %{resource_title}.",email_subject:"Foi mencionado en %{resource_title}",notification_title:'Foi mencionado en %{resource_title} por %{author_name} %{author_nickname}'}}},metrics:{comments:{description:"Número de comentarios xerados polos usuarios",object:"comentarios",title:"Comentarios"}}},errors:{messages:{cannot_have_comments:"Non podo ter comentarios"}}}}},function(e,t){e.exports={hr:null}},function(e,t){e.exports={hr:null}},function(e,t){e.exports={hu:{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"Megjegyzés","decidim/comments/comment_created_event":"Megjegyzés","decidim/comments/reply_created_event":"Hozzászólás válasz","decidim/comments/user_group_mentioned_event":"Említés","decidim/comments/user_mentioned_event":"Említés"}},activerecord:{models:{"decidim/comments/comment":{one:"Megjegyzés",other:"Megjegyzések"},"decidim/comments/comment_vote":{one:"Szavazat",other:"Szavazatok"}}},decidim:{comments:{comments:"Hozzászólások",last_activity:{new_comment_at_html:"Új megjegyzés: %{link}"},votes:{create:{error:"Hiba történt a megjegyzésre való szavazáskor."}}},components:{add_comment_form:{account_message:'Jelentkezzen be fiókodba vagy iratkozz fel megjegyzés küldéséhez.',form:{body:{label:"Megjegyzés",placeholder:"Mit gondolsz erről?"},form_error:"Kötelező kitölteni, és nem lehet hosszabb, mint %{length} karakter.",submit:"Küldés",user_group_id:{label:"Megjegyzés mint:"}},opinion:{neutral:"Semleges"},remaining_characters:"%{count} karakter maradt",remaining_characters_1:"%{count} karakter maradt",title:"Szólj hozzá"},comment:{alignment:{against:"Ellenzem",in_favor:"Támogatom"},deleted_user:"Törölt felhasználó",hide_replies:"Válaszok elrejtése",reply:"Válasz",report:{action:"Jelentés",already_reported:"Ezt a tartalmat már jelentették, az adminisztrátor éppen felülvizsgálja.",close:"Bezárás",description:"Sértő a tartalom?",details:"További megjegyzések",reasons:{does_not_belong:"Illegális tevékenységet, öngyilkosságra való felhívást, személyes adatokat vagy más olyan dolgot tartalmaz, ami nem tartozik ide: %{organization_name}.",offensive:"Rasszizmust, szexizmust, gyalázkodást, személyeskedést, halálos fenyegetést, öngyilkosságra való felhívást vagy gyűlöletbeszédet tartalmaz.",spam:"Klikkvadászat, reklám, átverés vagy script bot."}},show_replies:"%{replies_count} válasz mutatása",single_comment_link_title:"Link a kommenthez"},comment_order_selector:{order:{best_rated:"Legjobbra értékelt",most_discussed:"Leginkább vitatott",older:"Korábbi",recent:"Legutóbbi"},title:"Rendezés:"},comment_thread:{title:"Beszélgetés vele: %{authorName}"},comments:{blocked_comments_for_user_warning:"Ebben a pillanatban nem tud megjegyzéseket tenni, de elolvashatja az előzőeket.",blocked_comments_warning:"A megjegyzések jelenleg le vannak tiltva, de a korábbiakat elolvashatod.",comment_details_title:"Megjegyzés részletei",loading:"Hozzászólások betöltése ...",single_comment_warning:'A többi hozzászólást itt ellenőrizheti.',single_comment_warning_title:"Egyetlen megjegyzést látsz",title:"%{count} megjegyzés"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} megjegyzést hagyott itt: %{resource_title}. Ezen az oldalon megtalálod:",email_outro:'Ezt az értesítést azért kaptad, mert ezt követed: "%{author_name}". Leiratkozás az előző link segítségével.',email_subject:"%{author_name} új megjegyzése itt: %{resource_title}",notification_title:'Új megjegyzés: %{author_name} %{author_nickname} %{resource_title}.'},comment_by_followed_user_group:{email_intro:"A csoport %{author_name} megjegyzést hagyott itt: %{resource_title}. Ezen az oldalon megtalálod:",email_outro:'Ezt az értesítést azért kaptad, mert követed: "%{author_name}". Leiratkozáshoz látogasd meg ezt a csoportod a profiloldaláról.',email_subject:"%{author_name} új megjegyzése itt: %{resource_title}",notification_title:'Új megjegyzés: %{author_name} %{author_nickname} %{resource_title}.'},comment_created:{email_intro:'A "%{resource_title}" témához megjegyzést fűzött valaki. Itt tudod elolvasni:',email_outro:'Ezt az értesítést azért kaptad, mert ezt (vagy ennek szerzőjét) követed: "%{resource_title}". Ha szeretnél, a link segítségével leiratkozhatsz.',email_subject:"Új megjegyzés érkezett ehhez: %{resource_title}, tőle: %{author_name}",notification_title:'Új megjegyzés tőle: %{author_name} %{author_nickname}, ehhez: %{resource_title}'},reply_created:{email_intro:"%{author_name} megjegyzést fűzött ehhez: %{resource_title}. Ezen az oldalon megtalálod:",email_outro:"Ezt az értesítést azért kaptad, mert valaki választolt a mejegyzésedre.",email_subject:"%{author_name} megjegyzést tett a kommentedhez itt: %{resource_title}",notification_title:'%{author_name} %{author_nickname} válaszolt a megjegyzésedre itt: %{resource_title}'},user_group_mentioned:{email_intro:"Említettek egy csoportot, amelybe tartozol",email_outro:"Azért kapta ezt az értesítést, mert tagja annak a(z) %{group_name} csoportnak, amelyet a(z) %{resource_title} megemlített.",email_subject:"A(z) %{resource_title} -ban említettek, a(z) %{group_name} tagjaként",notification_title:'A(z) %{resource_title} -ban a %{author_name} %{author_nickname} megemlített a(z) %{group_name} %{group_nickname} tagjaként'},user_mentioned:{email_intro:"Valaki említette a neved",email_outro:'Ezt az értesítést azért kaptad, mert korábban megemlítettek a(z) "%{resource_title}" témában.',email_subject:"Megemlítettek a(z) %{resource_title} témában",notification_title:'%{author_name} %{author_nickname} megemlített itt: %{resource_title}'}}},metrics:{comments:{description:"A felhasználók által generált megjegyzések száma",object:"Hozzászólások",title:"Hozzászólások"}}},errors:{messages:{cannot_have_comments:"nem tudsz megjegyzéseket tenni"}}}}},function(e,t){e.exports={id:{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"Komentar","decidim/comments/comment_created_event":"Komentar","decidim/comments/reply_created_event":"Balasan komentar","decidim/comments/user_group_mentioned_event":"Menyebut","decidim/comments/user_mentioned_event":"Menyebut"}},activerecord:{models:{"decidim/comments/comment":{other:"Komentar"},"decidim/comments/comment_vote":{other:"Voting"}}},decidim:{comments:{comments:"Komentar",last_activity:{new_comment_at_html:"Komentar baru di %{link}"},votes:{create:{error:"Terjadi masalah saat memilih komentar."}}},components:{add_comment_form:{account_message:'Masuk dengan akun Anda atau mendaftar untuk menambahkan komentar Anda.',form:{body:{label:"Komentar",placeholder:"Apa yang Anda pikirkan tentang ini?"},form_error:"Teks diperlukan dan tidak boleh lebih dari %{length} karakter.",submit:"Kirim",user_group_id:{label:"Beri komentar sebagai"}},opinion:{neutral:"Netral"},remaining_characters:"%{count} karakter tersisa",remaining_characters_1:"%{count} karakter tersisa",title:"Tambahkan komentar Anda"},comment:{alignment:{against:"Melawan",in_favor:"Mendukung"},deleted_user:"Peserta yang dihapus",reply:"Balasan",report:{action:"Melaporkan",already_reported:"Konten ini sudah dilaporkan dan akan ditinjau oleh admin.",close:"Dekat",description:"Apakah konten ini tidak pantas?",details:"Komentar tambahan",reasons:{does_not_belong:"Berisi aktivitas ilegal, ancaman bunuh diri, informasi pribadi, atau sesuatu yang menurut Anda bukan milik %{organization_name}",offensive:"Berisi rasisme, seksisme, penghinaan, serangan pribadi, ancaman kematian, permintaan bunuh diri atau segala bentuk pidato kebencian.",spam:"Berisi clickbait, iklan, penipuan atau bot skrip."}}},comment_order_selector:{order:{best_rated:"Nilai terbaik",most_discussed:"Paling banyak dibicarakan",older:"Lebih tua",recent:"Baru"},title:"Dipesan oleh:"},comment_thread:{title:"Percakapan dengan %{authorName}"},comments:{blocked_comments_for_user_warning:"Anda tidak dapat berkomentar saat ini, tetapi Anda dapat membaca yang sebelumnya.",blocked_comments_warning:"Komentar dinonaktifkan saat ini, tetapi Anda dapat membaca yang sebelumnya.",loading:"Memuat komentar ...",title:"%{count} komentar"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} telah menulis komentar dalam %{resource_title}. Anda dapat membacanya di halaman ini:",email_outro:"Anda telah menerima pemberitahuan ini karena Anda mengikuti %{author_name}. Anda dapat berhenti mengikuti pengguna ini dari halaman profil mereka.",email_subject:"Ada komentar baru dengan %{author_name} in %{resource_title}",notification_title:'Ada komentar baru oleh %{author_name} %{author_nickname} di %{resource_title}.'},comment_by_followed_user_group:{email_subject:"Ada komentar baru dengan %{author_name} in %{resource_title}",notification_title:'Ada komentar baru oleh %{author_name} %{author_nickname} di %{resource_title}.'},comment_created:{email_intro:"%{resource_title} telah dikomentari. Anda dapat membaca komentar di halaman ini:",email_outro:'Anda telah menerima pemberitahuan ini karena Anda mengikuti "%{resource_title}" atau penulisnya. Anda dapat berhenti mengikutinya dari tautan sebelumnya.',email_subject:"Ada komentar baru dari %{author_name} in %{resource_title}",notification_title:'Ada komentar baru dari %{author_name} %{author_nickname} di %{resource_title}'},reply_created:{email_intro:"%{author_name} telah membalas komentar Anda dalam %{resource_title}. Anda dapat membacanya di halaman ini:",email_outro:"Anda telah menerima pemberitahuan ini karena komentar Anda dijawab.",email_subject:"%{author_name} telah membalas komentar Anda dalam %{resource_title}",notification_title:'%{author_name} %{author_nickname} telah menjawab komentar Anda di %{resource_title}'},user_mentioned:{email_intro:"Anda telah disebutkan",email_outro:"Anda telah menerima pemberitahuan ini karena Anda telah disebutkan dalam %{resource_title}.",email_subject:"Anda telah disebutkan dalam %{resource_title}",notification_title:'Anda telah disebutkan dalam %{resource_title} oleh %{author_name} %{author_nickname}'}}},metrics:{comments:{description:"Jumlah komentar yang dihasilkan oleh peserta",object:"komentar",title:"Komentar"}}},errors:{messages:{cannot_have_comments:"tidak dapat memiliki komentar"}}}}},function(e,t){e.exports={"is-IS":{decidim:{components:{add_comment_form:{account_message:'Skráðu þig inn með reikningnum þínum eða skráðu þig til að bæta við ummælum þínum.',form:{body:{label:"Athugasemd",placeholder:"Hvað finnst þér um þetta?"},form_error:"Textinn er krafist og það má ekki vera lengri en %{length} stafir.",submit:"Senda",user_group_id:{label:"Athugasemd sem"}},opinion:{neutral:"Hlutlaus"},remaining_characters:"%{count} stafir eftir",remaining_characters_1:"%{count} stafur eftir",title:"Bæta við athugasemd þinni"},comment:{alignment:{against:"Gegn",in_favor:"Í hag"},reply:"Svara",report:{action:"Skýrsla",already_reported:"Þetta efni er þegar tilkynnt og það verður endurskoðað af stjórnanda.",close:"Loka",description:"Er þetta efni óviðeigandi?",details:"Önnur athugasemdir",reasons:{does_not_belong:"Inniheldur ólöglega starfsemi, sjálfsvígshugmyndir, persónulegar upplýsingar eða eitthvað sem þér finnst ekki tilheyra %{organization_name}.",offensive:"Inniheldur kynþáttafordóma, kynhneigð, slurðir, persónulegar árásir, dauðarefsárásir, sjálfsvígstilraunir eða hvers konar hatursmál.",spam:"Inniheldur clickbait, auglýsingar, óþekktarangi eða handritabots."}}},comment_order_selector:{order:{best_rated:"Bestu einkunnir",most_discussed:"Mest rætt",older:"Eldri",recent:"Nýleg"},title:"Raða eftir:"},comment_thread:{title:"Samtal við %{authorName}"},comments:{blocked_comments_warning:"Athugasemdir eru gerðar óvirkar á þessum tíma, en þú getur lesið þau fyrri.",loading:"Hleð inn athugasemdir ...",title:"%{count} athugasemdir"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} hefur skilið eftir athugasemd í %{resource_title}. Þú getur lesið það á þessari síðu:",email_outro:"Þú hefur fengið þessa tilkynningu vegna þess að þú fylgist með %{author_name}. Þú getur sleppt þessari notanda frá prófílssíðunni sinni.",email_subject:"Það er nýtt ummæli um %{author_name} í %{resource_title}",notification_title:'Það er nýtt ummæli við %{author_name} %{author_nickname} í %{resource_title}.'},comment_by_followed_user_group:{email_subject:"Það er nýtt ummæli um %{author_name} í %{resource_title}",notification_title:'Það er nýtt ummæli við %{author_name} %{author_nickname} í %{resource_title}.'},comment_created:{email_intro:"%{resource_title} hefur verið skrifað ummæli. Þú getur lesið athugasemdina á þessari síðu:",email_outro:'Þú hefur fengið þessa tilkynningu vegna þess að þú fylgist með "%{resource_title}" eða höfundinum. Þú getur sleppt því frá fyrri tengilinn.',email_subject:"Það er nýtt ummæli frá %{author_name} í %{resource_title}",notification_title:'Það er nýtt ummæli frá %{author_name} %{author_nickname} í %{resource_title}'},reply_created:{email_intro:"%{author_name} hefur svarað ummæli þín í %{resource_title}. Þú getur lesið það á þessari síðu:",email_outro:"Þú hefur fengið þessa tilkynningu vegna þess að ummæli þín voru svarað.",email_subject:"%{author_name} hefur svarað ummæli þín í %{resource_title}",notification_title:'%{author_name} %{author_nickname} hefur svarað athugasemd þinni í %{resource_title}'},user_mentioned:{email_intro:"Þú hefur verið nefndur",email_outro:"Þú hefur fengið þessa tilkynningu vegna þess að þú hefur verið nefndur í %{resource_title}.",email_subject:"Þú hefur verið nefndur í %{resource_title}",notification_title:'Þú hefur verið nefndur í %{resource_title} af %{author_name} %{author_nickname}'}}}},errors:{messages:{cannot_have_comments:"getur ekki haft athugasemdir"}}}}},function(e,t){e.exports={is:{decidim:{comments:{comments:"Athugasemdir"},components:{add_comment_form:{account_message:'Skráðu þig inn með reikningnum þínum eða skráðu þig til að bæta við ummælum þínum.',form:{body:{label:"Athugasemd",placeholder:"Hvað finnst þér um þetta?"},form_error:"Textinn er krafist og það má ekki vera lengri en %{length} stafir.",submit:"Senda",user_group_id:{label:"Athugasemd sem"}},opinion:{neutral:"Hlutlaus"},remaining_characters:"%{count} stafir eftir",remaining_characters_1:"%{count} stafur eftir",title:"Bæta við athugasemd þinni"},comment:{alignment:{against:"Gegn",in_favor:"Í hag"},reply:"Svara",report:{action:"Skýrsla",already_reported:"Þetta efni er þegar tilkynnt og það verður endurskoðað af stjórnanda.",close:"Loka",description:"Er þetta efni óviðeigandi?",details:"Önnur athugasemdir",reasons:{does_not_belong:"Inniheldur ólöglega starfsemi, sjálfsvígshugmyndir, persónulegar upplýsingar eða eitthvað sem þér finnst ekki tilheyra %{organization_name}.",offensive:"Inniheldur kynþáttafordóma, kynhneigð, slurðir, persónulegar árásir, dauðarefsárásir, sjálfsvígstilraunir eða hvers konar hatursmál.",spam:"Inniheldur clickbait, auglýsingar, óþekktarangi eða handritabots."}}},comment_order_selector:{order:{best_rated:"Bestu einkunnir",most_discussed:"Mest rætt",older:"Eldri",recent:"Nýleg"},title:"Raða eftir:"},comment_thread:{title:"Samtal við %{authorName}"},comments:{blocked_comments_warning:"Athugasemdir eru gerðar óvirkar á þessum tíma, en þú getur lesið þau fyrri.",loading:"Hleð inn athugasemdir ...",title:"%{count} athugasemdir"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} hefur skilið eftir athugasemd í %{resource_title}. Þú getur lesið það á þessari síðu:",email_outro:"Þú hefur fengið þessa tilkynningu vegna þess að þú fylgist með %{author_name}. Þú getur sleppt þessari notanda frá prófílssíðunni sinni.",email_subject:"Það er nýtt ummæli um %{author_name} í %{resource_title}",notification_title:'Það er nýtt ummæli við %{author_name} %{author_nickname} í %{resource_title}.'},comment_by_followed_user_group:{email_subject:"Það er nýtt ummæli um %{author_name} í %{resource_title}",notification_title:'Það er nýtt ummæli við %{author_name} %{author_nickname} í %{resource_title}.'},comment_created:{email_intro:"%{resource_title} hefur verið skrifað ummæli. Þú getur lesið athugasemdina á þessari síðu:",email_outro:'Þú hefur fengið þessa tilkynningu vegna þess að þú fylgist með "%{resource_title}" eða höfundinum. Þú getur sleppt því frá fyrri tengilinn.',email_subject:"Það er nýtt ummæli frá %{author_name} í %{resource_title}",notification_title:'Það er nýtt ummæli frá %{author_name} %{author_nickname} í %{resource_title}'},reply_created:{email_intro:"%{author_name} hefur svarað ummæli þín í %{resource_title}. Þú getur lesið það á þessari síðu:",email_outro:"Þú hefur fengið þessa tilkynningu vegna þess að ummæli þín voru svarað.",email_subject:"%{author_name} hefur svarað ummæli þín í %{resource_title}",notification_title:'%{author_name} %{author_nickname} hefur svarað athugasemd þinni í %{resource_title}'},user_mentioned:{email_intro:"Þú hefur verið nefndur",email_outro:"Þú hefur fengið þessa tilkynningu vegna þess að þú hefur verið nefndur í %{resource_title}.",email_subject:"Þú hefur verið nefndur í %{resource_title}",notification_title:'Þú hefur verið nefndur í %{resource_title} af %{author_name} %{author_nickname}'}}}},errors:{messages:{cannot_have_comments:"getur ekki haft athugasemdir"}}}}},function(e,t){e.exports={it:{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"Commento","decidim/comments/comment_created_event":"Commento","decidim/comments/reply_created_event":"Risposta al commento","decidim/comments/user_group_mentioned_event":"Citare","decidim/comments/user_mentioned_event":"Citare"}},activerecord:{models:{"decidim/comments/comment":{one:"Commento",other:"Commenti"},"decidim/comments/comment_vote":{one:"Votazione",other:"voti"}}},decidim:{comments:{comments:"Commenti",comments_count:"Conteggio dei Commenti",last_activity:{new_comment_at_html:"Nuovo commento al %{link}"},view:"Visualizza",votes:{create:{error:"Ci sono stati errori durante la votazione del commento."}}},components:{add_comment_form:{account_message:'Connessione con il tuo account o Sign up per aggiungere il tuo commento.',form:{body:{label:"Commenta",placeholder:"Cosa ne pensi?"},form_error:"Il testo è necessario, deve essere obbligatoriamente indicato (max %{length} caratteri).",submit:"Invia",user_group_id:{label:"Commenta come"}},opinion:{neutral:"Neutro"},remaining_characters:"%{count} caratteri rimasti",remaining_characters_1:"%{count} carattere sinistro",title:"Aggiungi il tuo commento"},comment:{alignment:{against:"Contro",in_favor:"A favore"},deleted_user:"Utente cancellato",hide_replies:"Nascondi risposte",reply:"Rispondi",report:{action:"Report",already_reported:"Questo contenuto è già stato indicato e sarà revisionato da un utente Admnistrator.",close:"Chiudi",description:"Trovi questo contenuto inappropriato?",details:"motivazione",reasons:{does_not_belong:"Contiene un'attività illegale, istigazioni al suicidio, minacce, informazioni personali o riservate, oppure vi sono dei contenuti che reputi inappropriati per %{organization_name}.",offensive:"Vi sono contenuti razzisti, sessisti, offensivi, attacchi di carattere personale, minacce di morte o altro tipo di minacci, istigazioni al suicidio o altre forme d'odio verbale.",spam:'Contiene pubblicità, truffe, clickbait ("esca da click") o altro contenuto mirato ad attrarre traffico internet.'},title:"Segnala contenuti inappropriati"},show_replies:"Mostra %{replies_count} risposte",single_comment_link_title:"Ottieni link a singolo commento"},comment_order_selector:{order:{best_rated:"Favoriti",most_discussed:"Più discussi",older:"Più vecchi",recent:"Più recenti"},title:"Ordina per:"},comment_thread:{title:"Conversazioni con %{authorName}"},comments:{blocked_comments_for_user_warning:"Non sei in grado di commentare in questo momento, ma puoi leggere quelli precedenti.",blocked_comments_warning:"I commenti sono disabilitati in questo momento, ma puoi leggere quelli precedenti.",comment_details_title:"Dettagli commento",loading:"Sto caricando i commenti ...",single_comment_warning:'Puoi controllare il resto dei commenti qui.',single_comment_warning_title:"Stai vedendo un singolo commento",title:"%{count} commenti"},down_vote_button:{text:"Non sono d'accordo con questo commento"},up_vote_button:{text:"Sono d'accordo con questo commento"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} ha lasciato un commento in %{resource_title}. Puoi leggerlo in questa pagina:",email_outro:"Hai ricevuto questa notifica perché stai seguendo %{author_name}. Puoi smettere di seguire questo utente dalla pagina del profilo.",email_subject:"C'è un nuovo commento di %{author_name} in %{resource_title}",notification_title:'C\'è un nuovo commento di %{author_name} %{author_nickname} in %{resource_title}.'},comment_by_followed_user_group:{email_intro:"Il gruppo %{author_name} ha lasciato un commento in %{resource_title}. Puoi leggerlo in questa pagina:",email_outro:'Hai ricevuto questa notifica perché stai seguendo "%{author_name}". Puoi smettere di seguirlo cliccando sul link precedente.',email_subject:"C'è un nuovo commento di %{author_name} in %{resource_title}",notification_title:'C\'è un nuovo commento di %{author_name} %{author_nickname} in %{resource_title}.'},comment_created:{email_intro:"%{resource_title} è stato commentato. Puoi leggere il commento in questa pagina:",email_outro:'Hai ricevuto questa notifica perché stai seguendo "%{resource_title}" o il suo autore. Puoi smettere di seguirlo dal link precedente.',email_subject:"C'è un nuovo commento da %{author_name} in %{resource_title}",notification_title:'C\'è un nuovo commento da %{author_name} %{author_nickname} in %{resource_title}'},reply_created:{email_intro:"%{author_name} ha risposto il tuo commento in %{resource_title}. Puoi leggerlo in questa pagina:",email_outro:"Hai ricevuto questa notifica perché il tuo commento è stato risposto.",email_subject:"%{author_name} ha risposto il tuo commento in %{resource_title}",notification_title:'%{author_name} %{author_nickname} ha risposto il tuo commento in %{resource_title}'},user_group_mentioned:{email_intro:"È stato menzionato un gruppo a cui appartieni",email_outro:"Hai ricevuto questa notifica perché appartieni al gruppo %{group_name} che è stato menzionato in %{resource_title}.",email_subject:"Ti si nomina in %{resource_title} come appartenente a %{group_name}",notification_title:'Ti si nomina in %{resource_title} by %{author_name} %{author_nickname} come appartenente a %{group_name} %{group_nickname}'},user_mentioned:{email_intro:"Sei stato menzionato",email_outro:"Hai ricevuto questa notifica perché sei stato citato in %{resource_title}.",email_subject:"Sei stato menzionato in %{resource_title}",notification_title:'Sei stato citato in %{resource_title} di %{author_name} %{author_nickname}'}}},metrics:{comments:{description:"Numero di commenti generati dagli utenti",object:"Commenti",title:"Commenti"}}},errors:{messages:{cannot_have_comments:"non si possono fare commenti"}}}}},function(e,t){e.exports={ja:{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"コメント","decidim/comments/comment_created_event":"コメント","decidim/comments/reply_created_event":"コメント返信","decidim/comments/user_group_mentioned_event":"メンション","decidim/comments/user_mentioned_event":"メンション"}},activerecord:{models:{"decidim/comments/comment":{other:"コメント"},"decidim/comments/comment_vote":{other:"投票"}}},decidim:{comments:{comments:"コメント",comments_count:"コメント数",last_activity:{new_comment_at_html:" %{link}に新しいコメント"},view:"表示",votes:{create:{error:"コメントに投票中に問題がありました。"}}},components:{add_comment_form:{account_message:'ログイン または 新規登録 することでコメントできます。',form:{body:{label:"コメント",placeholder:"これについてどう思いますか?"},form_error:"テキストは必須で、 %{length} 文字を超えることはできません。",submit:"送信",user_group_id:{label:"コメント:"}},opinion:{neutral:"中立"},remaining_characters:"残り %{count} 文字",remaining_characters_1:"残り%{count} 文字",title:"コメントを追加"},comment:{alignment:{against:"反対",in_favor:"賛成"},deleted_user:"退会者",hide_replies:"返信を非表示",reply:"返信",report:{action:"レポート",already_reported:"このコンテンツはすでに報告されており、管理者が確認します。",close:"閉じる",description:"このコンテンツは不適切ですか?",details:"追加コメント",reasons:{does_not_belong:"違法行為、個人情報、または %{organization_name} に属していないと思われる内容が含まれています。",offensive:"差別的な内容、誹謗中傷などの不適切な内容が含まれています。",spam:"本来の内容に関係が無い広告、詐欺や悪意のある処理などが含まれています。"},title:"不適切なコンテンツを報告する"},show_replies:"%{replies_count} 件の返信を表示",single_comment_link_title:"シングルコメントへのリンクを取得"},comment_order_selector:{order:{best_rated:"最高評価",most_discussed:"最も議論されたもの",older:"古い順",recent:"最近のもの"},title:"並び順:"},comment_thread:{title:"%{authorName} との会話"},comments:{blocked_comments_for_user_warning:"現時点ではコメントできませんが、以前のコメントを読むことができます。",blocked_comments_warning:"コメントは現時点で無効になっていますが、以前のコメントを読むことができます。",comment_details_title:"コメントの詳細",loading:"コメントを読み込んでいます...",single_comment_warning:'コメントの残りは こちらで確認できます。',single_comment_warning_title:"コメントを1件のみ表示しています",title:"%{count} 件のコメント",show_all_comments:"すべてのコメントを表示する"},down_vote_button:{text:"このコメントに同意しません"},up_vote_button:{text:"このコメントに同意します"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} は %{resource_title}にコメントを残しました。このページで読むことができます:",email_outro:"%{author_name}をフォローしているため、この通知を受け取りました。プロフィールページからこのユーザーのフォローを解除することができます。",email_subject:"%{author_name} から %{resource_title} に対して新しいコメントがあります",notification_title:'There is a new comment by %{author_name} %{author_nickname} in %{resource_title}.'},comment_by_followed_user_group:{email_intro:"グループ %{author_name} は %{resource_title}にコメントを残しました。このページで読むことができます:",email_outro:"%{author_name}をフォローしているため、この通知を受け取りました。プロフィールページからこのグループのフォローを解除できます。",email_subject:"%{author_name} から %{resource_title} に対して新しいコメントがあります",notification_title:'There is a new comment by %{author_name} %{author_nickname} in %{resource_title}.'},comment_created:{email_intro:"%{resource_title} はコメントされました。このページでコメントを読むことができます:",email_outro:'"%{resource_title}" 、またはその参加者をフォローしているためこの通知を受け取りました。前のリンクからフォローを解除することができます。',email_subject:"%{author_name} から %{resource_title} に対して新しいコメントがあります",notification_title:'%{author_name} %{author_nickname} から %{resource_title} に対して新しいコメントがあります'},reply_created:{email_intro:"%{author_name} は %{resource_title}であなたのコメントを返信しました。このページで読むことができます:",email_outro:"コメントが返信されたため、この通知を受信しました。",email_subject:"%{author_name} が %{resource_title} であなたのコメントに返信しました",notification_title:'%{author_name} %{author_nickname}%{resource_title} であなたのコメントに返信しました'},user_group_mentioned:{email_intro:"あなたが所属しているグループがメンションされました",email_outro:"あなたは %{group_name} でメンションされたグループ %{resource_title} のメンバーであるため、この通知を受け取りました。",email_subject:"あなたは %{resource_title} で %{group_name} のメンバーとしてメンションされました",notification_title:'あなたは %{resource_title}%{author_name} %{author_nickname} のメンバとして %{group_name} %{group_nickname}'},user_mentioned:{email_intro:"あなたはメンションされています",email_outro:"あなたが %{resource_title}でメンションされたため、この通知を受け取りました。",email_subject:"あなたは %{resource_title} でメンションされました",notification_title:'あなたは %{resource_title}%{author_name} %{author_nickname}によってメンションされました'}}},metrics:{comments:{description:"出席者によって生成されたコメント数",object:"コメント",title:"コメント"}}},errors:{messages:{cannot_have_comments:"コメントを持つことはできません"}}}}},function(e,t){e.exports={ko:null}},function(e,t){e.exports={ko:null}},function(e,t){e.exports={lt:null}},function(e,t){e.exports={lt:null}},function(e,t){e.exports={lv:{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"Komentēt","decidim/comments/comment_created_event":"Komentēt","decidim/comments/reply_created_event":"Atbildēt uz komentāru","decidim/comments/user_group_mentioned_event":"Pieminēt","decidim/comments/user_mentioned_event":"Pieminēt"}},activerecord:{models:{"decidim/comments/comment":{zero:"Komentāri",one:"Komentēt",other:"Komentāri"},"decidim/comments/comment_vote":{zero:"Balsis",one:"Balsot",other:"Balsis"}}},decidim:{comments:{comments:"Komentāri",last_activity:{new_comment_at_html:"Jauns komentārs %{link}"},votes:{create:{error:"Balsojot par komentāru, radās problēma."}}},components:{add_comment_form:{account_message:'Pierakstieties, izmantojot savu kontu vai reģistrējieties, , lai pievienotu komentāru.',form:{body:{label:"Komentēt",placeholder:"Ko tu domā par šo?"},form_error:"Šis teksts ir nepieciešams, un tas nedrīkst būt garāks par %{length} rakstzīmēm.",submit:"Sūtīt",user_group_id:{label:"Komentēt kā"}},opinion:{neutral:"Neitrāls"},remaining_characters:"Palikušas %{count} rakstzīmes",remaining_characters_1:"Palikusi %{count} rakstzīme",title:"Pievienot savu komentāru"},comment:{alignment:{against:"Pret",in_favor:"Par"},deleted_user:"Dzēsts dalībnieks",hide_replies:"Slēpt atbildes",reply:"Atbildēt",report:{action:"Ziņot",already_reported:"Par šo saturu jau ir ziņots, un administrators to pārskatīs.",close:"Aizvērt",description:"Vai šis saturs ir neatbilstīgs?",details:"Papildu komentāri",reasons:{does_not_belong:"Satur nelikumīgas darbības, pašnāvības draudus, personisku informāciju vai kaut ko citu, kam, jūsuprāt, nav vietas %{organization_name}.",offensive:"Satur rasismu, seksismu, lamuvārdus, personiskus uzbrukumus, nāves draudus, ierosinājumus veikt pašnāvību vai jebkāda veida naida runu.",spam:"Satur klikšķu ēsmu (clickbait), reklāmu, krāpšanu vai skriptu robotprogrammatūru."}},show_replies:"Rādīt %{replies_count} atbildes",single_comment_link_title:"Iegūt saiti uz atsevišķu komentāru"},comment_order_selector:{order:{best_rated:"Vislabāk novērtētie",most_discussed:"Visvairāk apspriestie",older:"Vecāki",recent:"Nesenie"},title:"Sakārtot pēc:"},comment_thread:{title:"Saruna ar %{authorName}"},comments:{blocked_comments_for_user_warning:"Pašlaik jūs nevarat komentēt, bet jūs varat izlasīt iepriekšējos komentārus.",blocked_comments_warning:"Komentāri šobrīd ir atspējoti, bet jūs varat lasīt iepriekšējos komentārus.",comment_details_title:"Komentāra informācija",loading:"Notiek komentāru ielāde ...",single_comment_warning:'Pārējos komentārus varat aplūkot šeit.',single_comment_warning_title:"Jūs redzat vienu komentāru",title:"%{count} komentāri"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} ir atstājis komentāru %{resource_title}. Jūs to varat izlasīt šajā lapā:",email_outro:"Jūs saņēmāt šo paziņojumu, jo sekojat %{author_name}. Jūs varat atsekot šim lietotājam viņa profila lapā.",email_subject:"%{resource_title} ir jauns%{author_name} komentārs",notification_title:'%{author_name}%{author_nickname} ir jauns komentārs %{resource_title}.'},comment_by_followed_user_group:{email_intro:"Grupa %{author_name} ir atstājusi komentāru %{resource_title}. Jūs to varat izlasīt šajā lapā:",email_outro:"Jūs saņēmāt šo paziņojumu, jo sekojat %{author_name}. Jūs varat atsekot šai grupai no tās profila lapas.",email_subject:"%{resource_title} ir jauns%{author_name} komentārs",notification_title:'%{author_name}%{author_nickname} ir jauns komentārs %{resource_title}.'},comment_created:{email_intro:"%{resource_title} ir komentēts. Jūs varat izlasīt komentāru šajā lapā:",email_outro:'Jūs saņēmāt šo paziņojumu, jo sekojat "%{resource_title}" vai tā autoram. Jūs varat atsekot tam no iepriekšējās saites.',email_subject:"%{resource_title} ir jauns %{author_name} komentārs",notification_title:'%{author_name}%{author_nickname} ir jauns komentārs %{resource_title}'},reply_created:{email_intro:"%{author_name} atbildēja uz jūsu komentāru %{resource_title}. Jūs to varat izlasīt šajā lapā:",email_outro:"Jūs saņēmāt šo paziņojumu, jo kāds atbildēja uz jūsu komentāru.",email_subject:"%{author_name} atbildēja uz jūsu komentāru %{resource_title}",notification_title:'%{author_name} %{author_nickname} atbildēja uz jūsu komentāru %{resource_title}'},user_group_mentioned:{email_intro:"Tika pieminēta grupa, kurai jūs piederat",email_outro:"Jūs saņēmāt šo paziņojumu, jo esat grupas %{group_name} dalībnieks, kura tika pieminēta %{resource_title}.",email_subject:"Jūs esat pieminēts %{resource_title} kā %{group_name} dalībnieks",notification_title:'%{resource_title} jūs %{author_name}%{author_nickname} pieminēja kā %{group_name}%{group_nickname} dalībnieku'},user_mentioned:{email_intro:"Jūs esat pieminēts",email_outro:"Jūs saņēmāt šo paziņojumu, jo esat pieminēts %{resource_title}.",email_subject:"Jūs esat pieminēts %{resource_title}",notification_title:'%{resource_title} jūs pieminēja %{author_name} %{author_nickname}'}}},metrics:{comments:{description:"Dalībnieku izveidoto komentāru skaits",object:"komentāri",title:"Komentāri"}}},errors:{messages:{cannot_have_comments:"nevar komentēt"}}}}},function(e,t){e.exports={mt:null}},function(e,t){e.exports={mt:null}},function(e,t){e.exports={nl:{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"Commentaar","decidim/comments/comment_created_event":"Commentaar","decidim/comments/reply_created_event":"Reactie antwoord","decidim/comments/user_group_mentioned_event":"Vermelding","decidim/comments/user_mentioned_event":"Vermelding"}},activerecord:{models:{"decidim/comments/comment":{one:"Commentaar",other:"Commentaren"},"decidim/comments/comment_vote":{one:"Stem",other:"Stemmen"}}},decidim:{comments:{comments:"Reacties",comments_count:"Aantal reacties",last_activity:{new_comment_at_html:"Nieuwe opmerking op %{link}"},view:"Bekijk",votes:{create:{error:"Er is een probleem opgetreden bij het stemmen op de opmerking."}}},components:{add_comment_form:{account_message:'Meld u aan met uw account of schrijf u in om uw reactie toe te voegen.',form:{body:{label:"Reactie",placeholder:"Wat wil je hierover zeggen?"},form_error:"De tekst is verplicht en het kan niet langer zijn dan %{length} tekens.",submit:"Verzenden",user_group_id:{label:"Reageer als"}},opinion:{neutral:"Neutraal"},remaining_characters:"%{count} tekens over",remaining_characters_1:"%{count} teken over",title:"Voeg je reactie toe"},comment:{alignment:{against:"Tegen",in_favor:"Voor"},deleted_user:"Verwijderde deelnemer",hide_replies:"Antwoorden verbergen",reply:"Antwoord",report:{action:"Melden",already_reported:"Deze inhoud is al gemeld en het zal worden beoordeeld door een admin.",close:"Sluiten",description:"Is deze inhoud ongepast?",details:"aanvullende opmerkingen",reasons:{does_not_belong:"Bevat illegale activiteit, zelfmoord bedreigingen, persoonlijke gegevens, of iets anders dat je denkt dat hoort niet op %{organization_name}.",offensive:"Bevat racisme, seksisme, laster, persoonlijke aanvallen, bedreigingen met de dood, zelfmoord verzoeken of enige vorm van haatzaaien.",spam:"Bevat clickbait, reclame, oplichting of script bots."},title:"Meld ongepaste inhoud"},show_replies:"Toon %{replies_count} reacties",single_comment_link_title:"Krijg link naar enkele reactie"},comment_order_selector:{order:{best_rated:"Best beoordeeld",most_discussed:"Meest besproken",older:"Ouder",recent:"Meest recent"},title:"Sorteer op:"},comment_thread:{title:"Gesprek met %{authorName}"},comments:{blocked_comments_for_user_warning:"U kunt op dit moment geen opmerkingen maken, maar u kunt de vorige wel lezen.",blocked_comments_warning:"Reacties zijn op dit moment uitgeschakeld, maar je kan de vorige berichten lezen.",comment_details_title:"Reactieonderdelen",loading:"Reacties laden...",single_comment_warning:'U kunt de rest van de reacties hier controleren.',single_comment_warning_title:"Je ziet een enkele reactie",title:"%{count} reacties"},down_vote_button:{text:"Ik ben het niet eens met deze reactie"},up_vote_button:{text:"Ik ben het eens met deze reactie"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} heeft een reactie achtergelaten in %{resource_title}. Je kan het lezen op deze pagina:",email_outro:"Je hebt deze melding ontvangen omdat je %{author_name}volgt. Je kan deze gebruiker ontvolgen via zijn profielpagina.",email_subject:"Er is een nieuwe reactie van %{author_name} in %{resource_title}",notification_title:'Er is een nieuwe reactie van %{author_name} %{author_nickname} in %{resource_title}.'},comment_by_followed_user_group:{email_intro:"De groep %{author_name} heeft een reactie achtergelaten in %{resource_title}. Je kunt het op deze pagina lezen:",email_outro:"Je hebt deze melding ontvangen omdat je %{author_name}volgt. Je kan stoppen met deze groep te volgen via de profielpagina.",email_subject:"Er is een nieuwe reactie van %{author_name} in %{resource_title}",notification_title:'Er is een nieuwe reactie van %{author_name} %{author_nickname} in %{resource_title}.'},comment_created:{email_intro:"%{resource_title} heeft een reactie ontvangen. Je kan de opmerking op deze pagina lezen:",email_outro:"Je hebt deze melding ontvangen omdat je '%{resource_title}' of de auteur ervan volgt. Ontvolgen kan door te klikken op de vorige link.",email_subject:"Er is een nieuwe reactie van %{author_name} in %{resource_title}",notification_title:'Er is een nieuwe reactie van %{author_name} %{author_nickname} in %{resource_title}'},reply_created:{email_intro:"%{author_name} heeft gereageerd op jouw opmerking in %{resource_title}. Lees het via deze link:",email_outro:"Je hebt deze melding ontvangen omdat je reactie beantwoord is.",email_subject:"%{author_name} heeft op je comment gereageerd in %{resource_title}",notification_title:'%{author_name} %{author_nickname} heeft gereageerd op je opmerking in %{resource_title}'},user_group_mentioned:{email_intro:"Een groep waartoe u behoort is genoemd",email_outro:"Je hebt deze melding ontvangen omdat je lid bent van de groep %{group_name} die is genoemd in %{resource_title}.",email_subject:"U bent genoemd in %{resource_title} als lid van %{group_name}",notification_title:'U bent genoemd in %{resource_title} door %{author_name} %{author_nickname} als lid van %{group_name} %{group_nickname}'},user_mentioned:{email_intro:"Iemand heeft je getagd",email_outro:"Je hebt deze melding ontvangen omdat je bent getagd in %{resource_title}.",email_subject:"Je bent getagd in %{resource_title}",notification_title:'Je bent getagd in %{resource_title} door %{author_name} %{author_nickname}'}}},metrics:{comments:{description:"Aantal reacties gegenereerd door deelnemers",object:"reacties",title:"Reacties"}}},errors:{messages:{cannot_have_comments:"Kan geen reacties hebben"}}}}},function(e,t){e.exports={no:{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"Kommentar","decidim/comments/comment_created_event":"Kommentar","decidim/comments/reply_created_event":"Kommenter svar","decidim/comments/user_group_mentioned_event":"Omtal","decidim/comments/user_mentioned_event":"Omtal"}},activerecord:{models:{"decidim/comments/comment":{one:"Kommentar",other:"Kommentarer"},"decidim/comments/comment_vote":{one:"Stemme",other:"Stemmer"}}},decidim:{comments:{comments:"Kommentarer",comments_count:"Antall kommentarer",last_activity:{new_comment_at_html:"Ny kommentar på %{link}"},votes:{create:{error:"Det oppstod et problem med å stemme kommentaren."}}},components:{add_comment_form:{account_message:'Logg på med kontoen din eller opprett en for å legge til kommentaren din.',form:{body:{label:"Kommentar",placeholder:"Hva mener du om dette?"},form_error:"Teksten er påkrevd og den kan ikke være lengre enn %{length} tegn.",submit:"Send",user_group_id:{label:"Kommenter som"}},opinion:{neutral:"Nøytral"},remaining_characters:"%{count} tegn igjen",remaining_characters_1:"%{count} tegn igjen",title:"Legg til kommentar"},comment:{alignment:{against:"Imot",in_favor:"I favør"},deleted_user:"Slettet deltaker",hide_replies:"Skjul svar",reply:"Svar",report:{action:"Rapport",already_reported:"Dette innholdet er allerede rapportert, og det vil bli vurdert av en administrator.",close:"Lukk",description:"Er dette innholdet upassende?",details:"Ytterlige kommentarer",reasons:{does_not_belong:"Inneholder ulovlig aktivitet, selvmordstrusler, personlig informasjon eller noe annet du mener ikke hører hjemme på %{organization_name}.",offensive:"Inneholder rasisme, sexisme, banning, persjonangrep, dødstrusler, selvmords forespørsler eller all form for hatefullt språk.",spam:"Inneholder klikkagn, reklame, svindel eller manus-roboter."},title:"Rapporter upassende innhold"},show_replies:"Vis %{replies_count} svar",single_comment_link_title:"Få lenke til enkeltkommentar"},comment_order_selector:{order:{best_rated:"Best vurdert",most_discussed:"Mest omtalt",older:"Eldre",recent:"Nylig"},title:"Sorter etter:"},comment_thread:{title:"Samtale med %{authorName}"},comments:{blocked_comments_for_user_warning:"Du kan ikke kommentere for øyeblikket, men du kan lese de forrige.",blocked_comments_warning:"Kommenterer er deaktivert på dette tidspunktet, men du kan lese de forrige.",comment_details_title:"Kommenter detaljer",loading:"Laster inn kommenterer ...",single_comment_warning:'Du kan sjekke resten av kommentarene her.',single_comment_warning_title:"Du ser en enkelt kommentar",title:"%{count} kommentarer"},down_vote_button:{text:"Jeg er uenig med denne kommentaren"},up_vote_button:{text:"Jeg er enig med denne kommentaren"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} har lagt igjen en kommentar i %{resource_title}. Du kan lese den på denne siden:",email_outro:"Du har mottatt denne varslingen fordi du følger %{author_name}. Du kan slutte å følge denne brukeren fra dems profil side.",email_subject:"Det er en ny kommentar av %{author_name} i %{resource_title}",notification_title:'Det er en ny kommentar av %{author_name} %{author_nickname} i %{resource_title}.'},comment_by_followed_user_group:{email_intro:"%{author_name} har lagt igjen en kommentar i %{resource_title}. Du kan lese den på denne siden:",email_outro:"Du har mottatt denne varslingen fordi du følger %{author_name}. Du kan slutte å følge denne brukeren fra deres profilside.",email_subject:"Det er en ny kommentar av %{author_name} i %{resource_title}",notification_title:'Det er en ny kommentar av %{author_name} %{author_nickname} i %{resource_title}.'},comment_created:{email_intro:"%{resource_title} har blitt kommentert. Du kan lese kommentaren på denne siden:",email_outro:'Du har mottatt denne varslingen fordi du følger "%{resource_title}" eller dens forfatter. Du kan slutte å følge den fra den forrige lenken.',email_subject:"Det er en ny kommentar fra %{author_name} i %{resource_title}",notification_title:'Det er en ny kommentar fra %{author_name} %{author_nickname} i %{resource_title}'},reply_created:{email_intro:"%{author_name} har svart kommentaren din i %{resource_title}. Du kan lese den på denne siden:",email_outro:"Du har mottatt denne varslingen fordi din kommentar er besvart.",email_subject:"%{author_name} har svart kommentaren din i %{resource_title}",notification_title:'%{author_name} %{author_nickname} har svart kommentaren din i %{resource_title}'},user_group_mentioned:{email_intro:"En gruppe du er medlem av har blitt nevnt",email_outro:"Du får denne varslingen fordi du er medlem av gruppen %{group_name}, som har blitt nevnt i%{resource_title}.",email_subject:"Du har blitt nevnt i %{resource_title} som medlem av %{group_name}",notification_title:'Du har blitt nevnt i %{resource_title} av %{author_name}%{author_nickname} som medlem av %{group_name}%{group_nickname}'},user_mentioned:{email_intro:"Du har blitt nevnt",email_outro:"Du har mottatt denne varslingen fordi du er nevnt i %{resource_title}.",email_subject:"Du har blitt nevnt i %{resource_title}",notification_title:'Du har blitt nevnt i %{resource_title} av %{author_name} %{author_nickname}'}}},metrics:{comments:{description:"Antall kommenterer generert av deltakerne",object:"kommentarer",title:"Kommentarer"}}},errors:{messages:{cannot_have_comments:"kan ikke ha kommentarer"}}}}},function(e,t){e.exports={om:null}},function(e,t){e.exports={pl:{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"Komentarz","decidim/comments/comment_created_event":"Komentarz","decidim/comments/reply_created_event":"Odpowiedź na komentarz","decidim/comments/user_group_mentioned_event":"Wzmianka","decidim/comments/user_mentioned_event":"Wzmianka"}},activerecord:{models:{"decidim/comments/comment":{one:"Komentarz",few:"Komentarze",many:"Komentarze",other:"Komentarze"},"decidim/comments/comment_vote":{one:"Głos",few:"Głosów",many:"Głosy",other:"Głosy"}}},decidim:{comments:{comments:"Komentarze",comments_count:"Liczba komentarzy",last_activity:{new_comment_at_html:"Nowy komentarz do %{link}"},view:"Zobacz",votes:{create:{error:"Podczas dodawania komentarza wystąpił błąd."}}},components:{add_comment_form:{account_message:'Zaloguj się na swoje konto lub zarejestruj się, aby dodać komentarz.',form:{body:{label:"Komentarz",placeholder:"Co o tym myślisz?"},form_error:"Tekst jest wymagany. Maksymalna liczba znaków to: %{length}.",submit:"Wyślij",user_group_id:{label:"Komentuj jako"}},opinion:{neutral:"Neutralny"},remaining_characters:"Pozostało %{count} znaków",remaining_characters_1:"Pozostał %{count} znak",title:"Dodaj swój komentarz"},comment:{alignment:{against:"Negatywny",in_favor:"Pozytywny"},deleted_user:"Usunięty użytkownik",hide_replies:"Ukryj odpowiedzi",reply:"Odpowiedz",report:{action:"Zgłoś",already_reported:"Ta treść została już zgłoszona i zostanie sprawdzona przez administratora.",close:"Zamknij",description:"Czy ta treść jest nieodpowiednia?",details:"Dodatkowe komentarze",reasons:{does_not_belong:"Promuje nielegalną działalność, groźby samobójcze, informacje osobiste lub coś innego, co według Ciebie nie powinno pojawić się w %{organization_name}.",offensive:"Promuje rasizm, seksizm, nienawiść, ataki osobiste, groźby śmierci, groźby samobójcze jakąkolwiek formę mowy nienawiści.",spam:"Zawiera clickbaity, reklamy, oszustwa lub skrypty botów."},title:"Zgłoś niewłaściwą treść"},show_replies:"Pokaż %{replies_count} odpowiedzi",single_comment_link_title:"Pobierz link do pojedynczego komentarza"},comment_order_selector:{order:{best_rated:"Najlepiej oceniane",most_discussed:"Najbardziej dyskutowane",older:"Najstarsze",recent:"Najnowsze"},title:"Sortuj według:"},comment_thread:{title:"Rozmowa z %{authorName}"},comments:{blocked_comments_for_user_warning:"Nie możesz teraz komentować, ale możesz przeczytać poprzednie komentarze.",blocked_comments_warning:"Komentarze są w tej chwili wyłączone, ale możesz przeczytać poprzednie.",comment_details_title:"Szczegóły komentarza",loading:"Ładowanie komentarzy ...",single_comment_warning:'Resztę komentarzy możesz sprawdzić tutaj.',single_comment_warning_title:"Wyświetlasz teraz pojedynczy komentarz",title:"%{count} komentarzy"},down_vote_button:{text:"Nie zgadzam się z tym komentarzem"},up_vote_button:{text:"Zgadzam się z tym komentarzem"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} dodał(a) komentarz do %{resource_title}. Możesz przeczytać go na tej stronie:",email_outro:"Otrzymałeś to powiadomienie, ponieważ obserwujesz %{author_name}. Możesz usunąć użytkownika z obserwowanych na jego stronie profilowej.",email_subject:"Jest nowy komentarz dodany przez %{author_name} do %{resource_title}",notification_title:'Pojawił się nowy komentarz dodany przez %{author_name} %{author_nickname} do %{resource_title}.'},comment_by_followed_user_group:{email_intro:"Grupa %{author_name} dodała komentarz do %{resource_title}. Możesz go przeczytać na tej stronie:",email_outro:"Otrzymujesz to powiadomienie, ponieważ obserwujesz %{author_name}. Możesz przestać obserwować tę grupę z poziomu jej strony profilowej.",email_subject:"Jest nowy komentarz dodany przez %{author_name} do %{resource_title}",notification_title:'Pojawił się nowy komentarz %{author_name} %{author_nickname} do %{resource_title}.'},comment_created:{email_intro:"Nowy komentarz: %{resource_title}. Możesz go przeczytać na tej stronie:",email_outro:'Otrzymujesz to powiadomienie, ponieważ obserwujesz "%{resource_title}" lub jego autora. Możesz przestać go obserwować po kliknięciu w poprzedni link.',email_subject:"Jest nowy komentarz od %{author_name} do %{resource_title}",notification_title:'Pojawił się nowy komentarz %{author_name} %{author_nickname} do %{resource_title}'},reply_created:{email_intro:"%{author_name} odpowiedział na Twój komentarz do %{resource_title}. Możesz przeczytać go na tej stronie:",email_outro:"Otrzymałeś to powiadomienie, ponieważ odpowiedziano na Twój komentarz.",email_subject:"%{author_name} odpowiedział(a) na Twój komentarz do %{resource_title}",notification_title:'%{author_name} %{author_nickname} odpowiedział(a) na Twój komentarz do %{resource_title}'},user_group_mentioned:{email_intro:"Wspomniano o grupie, do której należysz",email_outro:"Otrzymujesz to powiadomienie, ponieważ jesteś członkiem grupy %{group_name}, o której wspomniano w %{resource_title}.",email_subject:"Wspomniano o Tobie w %{resource_title} jako o członku %{group_name}",notification_title:'%{author_name} %{author_nickname} wspomniał(a) o Tobie w %{resource_title} jako o członku %{group_name} %{group_nickname}'},user_mentioned:{email_intro:"Wspomniano o Tobie",email_outro:"Otrzymałeś to powiadomienie, ponieważ wspomniano o Tobie w %{resource_title}.",email_subject:"Wspomniano o Tobie w %{resource_title}",notification_title:'%{author_name} %{author_nickname} wspomniał(a) o Tobie w %{resource_title}'}}},metrics:{comments:{description:"Liczba komentarzy wygenerowanych przez użytkowników",object:"komentarze",title:"Komentarze"}}},errors:{messages:{cannot_have_comments:"nie może mieć komentarzy"}}}}},function(e,t){e.exports={pt:{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"Comente","decidim/comments/comment_created_event":"Comentário","decidim/comments/reply_created_event":"Resposta","decidim/comments/user_group_mentioned_event":"Mencionar","decidim/comments/user_mentioned_event":"Mencionar"}},activerecord:{models:{"decidim/comments/comment":{one:"Comentário",other:"Comentários"},"decidim/comments/comment_vote":{one:"Voto",other:"Votos"}}},decidim:{comments:{comments:"Comentários",last_activity:{new_comment_at_html:"Novo comentário em %{link}"},votes:{create:{error:"Houve erros ao votar o comentário."}}},components:{add_comment_form:{account_message:'Inscreva-se com sua conta ou sign up para adicionar seu comentário.',form:{body:{label:"Comente",placeholder:"O que você pensa sobre isso?"},form_error:"O texto é obrigatório e não pode ser maior que %{length} caracteres.",submit:"Enviar",user_group_id:{label:"Comente como"}},opinion:{neutral:"Neutro"},remaining_characters:"%{count} caracteres restantes",remaining_characters_1:"%{count} personagem à esquerda",title:"Adicione seu comentário"},comment:{alignment:{against:"Contra",in_favor:"A favor"},deleted_user:"Usuário excluído",reply:"Resposta",report:{action:"Relatório",already_reported:"Este conteúdo já foi relatado e será revisto por um administrador.",close:"Fechar",description:"Este conteúdo é impróprio?",details:"Comentários adicionais",reasons:{does_not_belong:"Contém atividades ilegais, ameaças suicidas, informações pessoais ou qualquer outra coisa que você acha que não pertence ao %{organization_name}.",offensive:"Contém racismo, sexismo, insultos, ataques pessoais, ameaças de morte, pedidos de suicídio ou qualquer tipo de discurso de ódio.",spam:"Contém clickbait, publicidade, fraudes ou script bots."}}},comment_order_selector:{order:{best_rated:"Melhores avaliações",most_discussed:"Mais Discutidos",older:"Mais velho",recent:"Recente"},title:"Ordenar por:"},comment_thread:{title:"Conversa com %{authorName}"},comments:{blocked_comments_for_user_warning:"Você não pode comentar neste momento, mas pode ler os anteriores.",blocked_comments_warning:"Os comentários estão desativados neste momento, mas você pode ler os anteriores.",loading:"Carregando comentários ...",title:"%{count} comentários"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} deixou um comentário em %{resource_title}. Você pode lê-lo nesta página:",email_outro:"Você recebeu esta notificação porque está seguindo %{author_name}. Você pode deixar de seguir esse usuário em sua página de perfil.",email_subject:"Há um novo comentário por %{author_name} em %{resource_title}",notification_title:'Há um novo comentário por %{author_name} %{author_nickname} em %{resource_title}.'},comment_by_followed_user_group:{email_subject:"Há um novo comentário por %{author_name} em %{resource_title}",notification_title:'Há um novo comentário por %{author_name} %{author_nickname} em %{resource_title}.'},comment_created:{email_intro:"%{resource_title} foi comentado. Você pode ler o comentário nesta página:",email_outro:'Você recebeu esta notificação porque você está seguindo "%{resource_title}" ou seu autor. Você pode ignorá-lo do link anterior.',email_subject:"Há um novo comentário de %{author_name} em %{resource_title}",notification_title:'Há um novo comentário de %{author_name} %{author_nickname} em %{resource_title}'},reply_created:{email_intro:"%{author_name} respondeu seu comentário em %{resource_title}. Você pode lê-lo nesta página:",email_outro:"Você recebeu esta notificação porque o seu comentário foi respondido.",email_subject:"%{author_name} respondeu seu comentário em %{resource_title}",notification_title:'%{author_name} %{author_nickname} respondeu seu comentário em %{resource_title}'},user_mentioned:{email_intro:"Você foi mencionado",email_outro:"Você recebeu esta notificação porque você foi mencionado em %{resource_title}.",email_subject:"Você foi mencionado em %{resource_title}",notification_title:'Você foi mencionado em %{resource_title} por %{author_name} %{author_nickname}'}}},metrics:{comments:{description:"Número de comentários gerados pelos usuários",object:"comentários",title:"Comentários"}}},errors:{messages:{cannot_have_comments:"não pode ter comentários"}}}}},function(e,t){e.exports={pt:{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"Comentar","decidim/comments/comment_created_event":"Comente","decidim/comments/reply_created_event":"Comentário resposta","decidim/comments/user_group_mentioned_event":"Menção","decidim/comments/user_mentioned_event":"Menção"}},activerecord:{models:{"decidim/comments/comment":{one:"Comente",other:"Comentários"},"decidim/comments/comment_vote":{one:"Voto",other:"Votos"}}},decidim:{comments:{comments:"Comentários",comments_count:"Contagem de comentários",last_activity:{new_comment_at_html:"Novo comentário em %{link}"},votes:{create:{error:"Houve erros ao votar o comentário."}}},components:{add_comment_form:{account_message:'Inscreva-se com sua conta ou sign up para adicionar seu comentário.',form:{body:{label:"Comente",placeholder:"O que você pensa sobre isso?"},form_error:"O texto é obrigatório e não pode ser maior que %{length} caracteres.",submit:"Enviar",user_group_id:{label:"Comente como"}},opinion:{neutral:"Neutro"},remaining_characters:"%{count} caracteres restantes",remaining_characters_1:"%{count} caracteres restantes",title:"Adicione o seu comentário"},comment:{alignment:{against:"Contra",in_favor:"A favor"},deleted_user:"Participante eliminado",hide_replies:"Ocultar respostas",reply:"Responder",report:{action:"Reportar",already_reported:"Este conteúdo já foi reportado e será revisto por um administrador.",close:"Fechar",description:"Este conteúdo é impróprio?",details:"Comentários adicionais",reasons:{does_not_belong:"Contém atividades ilegais, ameaças suicidas, informações pessoais ou qualquer outra coisa que você acha que não pertence a %{organization_name}.",offensive:"Contém racismo, sexismo, insultos, ataques pessoais, ameaças de morte, pedidos de suicídio ou qualquer tipo de discurso de ódio.",spam:"Contém clickbait, publicidade, fraudes ou robots de scripts."},title:"Reportar conteúdo impróprio"},show_replies:"Mostrar %{replies_count} respostas",single_comment_link_title:"Obter hiperligação para um único comentário"},comment_order_selector:{order:{best_rated:"Melhores avaliações",most_discussed:"Mais discutidos",older:"Mais velho",recent:"Recente"},title:"Ordenar por:"},comment_thread:{title:"Conversa com %{authorName}"},comments:{blocked_comments_for_user_warning:"Não pode comentar neste momento, mas pode ler os anteriores.",blocked_comments_warning:"Os comentários estão desativados neste momento, mas pode ler os anteriores.",comment_details_title:"Detalhes do comentário",loading:"A carregar comentários ...",single_comment_warning:'Pode consultar os restantes comentários aqui.',single_comment_warning_title:"Está a ver um único comentário",title:"%{count} comentários"},down_vote_button:{text:"Eu discordo deste comentário"},up_vote_button:{text:"Eu concordo com este comentário"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} deixou um comentário em %{resource_title}. Pode lê-lo nesta página:",email_outro:"Recebeu esta notificação porque segue %{author_name}. pode deixar de seguir este utilizador a partir da respetiva página de perfil.",email_subject:"Há um novo comentário por %{author_name} em %{resource_title}",notification_title:'Há um novo comentário por %{author_name} %{author_nickname} em %{resource_title}.'},comment_by_followed_user_group:{email_intro:"O grupo %{author_name} deixou um comentário em %{resource_title}. Poderá lê-lo nesta página:",email_outro:"Recebeu esta notificação porque segue %{author_name}. Pode deixar de seguir este grupo a partir da respetiva página de perfil.",email_subject:"Há um novo comentário por %{author_name} em %{resource_title}",notification_title:'Há um novo comentário por %{author_name} %{author_nickname} em %{resource_title}.'},comment_created:{email_intro:"%{resource_title} foi comentado. Você pode ler o comentário nesta página:",email_outro:'Recebeu esta notificação porque segue "%{resource_title}" ou o seu autor. Pode deixar de segui-lo a partir da hiperligação anterior.',email_subject:"Há um novo comentário de %{author_name} em %{resource_title}",notification_title:'Há um novo comentário de %{author_name} %{author_nickname} em %{resource_title}'},reply_created:{email_intro:"%{author_name} respondeu ao seu comentário em %{resource_title}. Pode lê-lo nesta página:",email_outro:"Recebeu esta notificação porque responderam ao seu comentário.",email_subject:"%{author_name} respondeu ao seu comentário em %{resource_title}",notification_title:'%{author_name} %{author_nickname} respondeu ao seu comentário em %{resource_title}'},user_group_mentioned:{email_intro:"Um grupo ao qual pertence foi mencionado",email_outro:"Recebeu esta notificação porque é membro do grupo %{group_name} que foi mencionado em %{resource_title}.",email_subject:"Foi mencionado em %{resource_title} como membro de %{group_name}",notification_title:'Foi mencionado em %{resource_title} por %{author_name} %{author_nickname} como membro de %{group_name} %{group_nickname}'},user_mentioned:{email_intro:"Foi mencionado(a)",email_outro:"Recebeu esta notificação porque foi mencionado(a) em %{resource_title}.",email_subject:"Foi mencionado(a) em %{resource_title}",notification_title:'Você foi mencionado em %{resource_title} por %{author_name} %{author_nickname}'}}},metrics:{comments:{description:"Número de comentários gerados pelos participantes",object:"comentários",title:"Comentários"}}},errors:{messages:{cannot_have_comments:"não pode ter comentários"}}}}},function(e,t){e.exports={ro:{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"Comentariu","decidim/comments/comment_created_event":"Comentariu","decidim/comments/reply_created_event":"Răspuns comentariu","decidim/comments/user_group_mentioned_event":"Menționează","decidim/comments/user_mentioned_event":"Menționează"}},activerecord:{models:{"decidim/comments/comment":{one:"Comentariu",few:"Comentarii",other:"Comentarii"},"decidim/comments/comment_vote":{one:"Votează",few:"Voturi",other:"Voturi"}}},decidim:{comments:{comments:"Comentarii",comments_count:"Numărul de comentarii",last_activity:{new_comment_at_html:"Comentariu nou la %{link}"},view:"Vizualizare",votes:{create:{error:"A apărut o problemă la votarea comentariului."}}},components:{add_comment_form:{account_message:'Autentifică-te cu contul tău sau înregistrează-te pentru a adăuga comentariul tău.',form:{body:{label:"Comentariu",placeholder:"Ce părere aveţi despre asta?"},form_error:"Textul este necesar și nu poate fi mai lung de %{length} caractere.",submit:"Trimite",user_group_id:{label:"Comentează ca"}},opinion:{neutral:"Neutral"},remaining_characters:"%{count} caractere rămase",remaining_characters_1:"%{count} caracter rămas",title:"Adaugă comentariul tău"},comment:{alignment:{against:"Împotriva",in_favor:"În favoarea"},deleted_user:"Participant șters",hide_replies:"Ascunde răspunsurile",reply:"Răspuns",report:{action:"Raport",already_reported:"Acest conținut este deja raportat și va fi revizuit de către un administrator.",close:"Inchide",description:"Este acest conținut neadecvat?",details:"Observaţii suplimentare",reasons:{does_not_belong:"Conține activitate ilegală, amenințări la sinucidere, informații personale sau altceva credeți că nu aparțin de %{organization_name}.",offensive:"Conține rasism, sexism, slurbii, atacuri personale, amenințări cu moartea, cereri de sinucidere sau orice formă de discurs de incitare la ură.",spam:"Conține clickbait, publicitate, escrocherii sau roboți script."},title:"Raportează conținut nepotrivit"},show_replies:"Arată %{replies_count} răspunsuri",single_comment_link_title:"Obțineți link-ul către un singur comentariu"},comment_order_selector:{order:{best_rated:"Cele mai apreciate",most_discussed:"Cele mai discutate",older:"Vechi",recent:"Recente"},title:"Ordonare după:"},comment_thread:{title:"Conversație cu %{authorName}"},comments:{blocked_comments_for_user_warning:"Nu poți comenta în acest moment, dar le poți citi pe cele anterioare.",blocked_comments_warning:"Comentariile sunt dezactivate în acest moment, dar le puteți citi pe cele anterioare.",comment_details_title:"Detalii comentariu",loading:"Se încarcă comentariile...",single_comment_warning:'Puteţi verifica restul comentariilor aici.',single_comment_warning_title:"Vedeți un singur comentariu",title:"%{count} comentarii"},down_vote_button:{text:"Nu sunt de acord cu acest comentariu"},up_vote_button:{text:"Sunt de acord cu acest comentariu"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} a lăsat un comentariu în %{resource_title}. Îl poți citi în această pagină:",email_outro:"Ați primit această notificare deoarece urmăriți %{author_name}. Puteți să nu urmăriți acest utilizator de pe pagina lui de profil.",email_subject:"Există un nou comentariu al lui %{author_name} în %{resource_title}",notification_title:'Există un comentariu nou al %{author_name} %{author_nickname} în %{resource_title}.'},comment_by_followed_user_group:{email_intro:"Grupul %{author_name} a lăsat un comentariu în %{resource_title}. Îl poți citi în această pagină:",email_outro:"Ați primit această notificare deoarece urmăriți %{author_name}. Puteți să nu urmăriți acest grup de pe pagina sa de profil.",email_subject:"Există un nou comentariu al lui %{author_name} în %{resource_title}",notification_title:'Există un comentariu nou al %{author_name} %{author_nickname} în %{resource_title}.'},comment_created:{email_intro:"%{resource_title} a fost comentat. Poți citi comentariul din această pagină:",email_outro:'Ați primit această notificare deoarece urmați ""%{resource_title}" sau autorul său. O puteți anula de la link-ul anterior.',email_subject:"Există un nou comentariu de la %{author_name} în %{resource_title}",notification_title:'Există un nou comentariu de la %{author_name} %{author_nickname} în %{resource_title}'},reply_created:{email_intro:"%{author_name} a răspuns comentariului tău în %{resource_title}. Îl poți citi în această pagină:",email_outro:"Ați primit această notificare deoarece comentariul dvs. a fost răspuns.",email_subject:"%{author_name} a răspuns comentariului tău în %{resource_title}",notification_title:'%{author_name} %{author_nickname} a răspuns comentariul tău în %{resource_title}'},user_group_mentioned:{email_intro:"Un grup căruia îi aparțineți a fost menționat",email_outro:"Ați primit această notificare deoarece sunteți un membru al grupului %{group_name} care a fost menționat în %{resource_title}.",email_subject:"Ai fost menționat în %{resource_title} ca membru al %{group_name}",notification_title:'Ai fost menționat în %{resource_title} de %{author_name} %{author_nickname} ca membru al %{group_name} %{group_nickname}'},user_mentioned:{email_intro:"Ați fost menționat",email_outro:"Ați primit această notificare deoarece ați fost menționat în %{resource_title}.",email_subject:"Ai fost menționat în %{resource_title}",notification_title:'Ai fost menționat în %{resource_title} de %{author_name} %{author_nickname}'}}},metrics:{comments:{description:"Numărul de comentarii generate de participanți",object:"comentarii",title:"Comentarii"}}},errors:{messages:{cannot_have_comments:"nu pot avea comentarii"}}}}},function(e,t){e.exports={ru:{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"Комментарий","decidim/comments/comment_created_event":"Комментарий","decidim/comments/reply_created_event":"Ответ на комментарий","decidim/comments/user_group_mentioned_event":"Упоминание","decidim/comments/user_mentioned_event":"Упоминание"}},activerecord:{models:{"decidim/comments/comment":{one:"Комментарий",few:"Комментария",many:"Комментариев",other:"Комментариев"},"decidim/comments/comment_vote":{one:"Голос",few:"Голоса",many:"Голосов",other:"Голосов"}}},decidim:{comments:{comments:"Комментарии",last_activity:{new_comment_at_html:"Новый комментарий в %{link}"},votes:{create:{error:"При голосовании за комментарий произошли ошибки."}}},components:{add_comment_form:{account_message:'Войдите в систему через свою учетную запись или зарегистрируйтесь, чтобы добавить свой комментарий.',form:{body:{label:"Комментарий",placeholder:"Что вы думаете об этом?"},form_error:"Тут обязательно нужно ввести текст, но не больше %{length} символов.",submit:"Отправить",user_group_id:{label:"Комментировать как"}},opinion:{neutral:"Безучастно"},remaining_characters:"Осталось %{count} символов",remaining_characters_1:"Остался %{count} символ",title:"Добавьте свой комментарий"},comment:{alignment:{against:"Против",in_favor:"В поддержку"},deleted_user:"Удаленный участник",reply:"Ответить",report:{action:"Пожаловаться",already_reported:"На это содержимое уже пожаловались, и жалобу рассмотрит администратор.",close:"Закрыть",description:"Это сообщение неприемлемо?",details:"Дополнительные комментарии",reasons:{does_not_belong:"Содержит незаконную деятельность, угрозы самоубийства, личные сведения или что-то еще, недопустимое, на ваш взгляд, для %{organization_name}.",offensive:"Содержит расизм, сексизм, оскорбления, личные нападки, угрозы убийства, заявления о самоубийстве, или любую форму разжигания ненависти.",spam:"Содержит кликоловки (манипулятивно-сенсационные заголовки), рекламу, мошенничество или лохотроны."}}},comment_order_selector:{order:{best_rated:"С наивысшим рейтингом",most_discussed:"Самые обсуждаемые",older:"Старые",recent:"Недавние"},title:"Упорядочить по:"},comment_thread:{title:"Беседа с %{authorName}"},comments:{blocked_comments_for_user_warning:"Сейчас вам недоступно комментирование, но вы можете прочесть предыдущие комментарии.",blocked_comments_warning:"Комментарии сейчас отключены, но вы можете прочитать предыдущие.",loading:"Загрузка комментариев ...",title:"%{count} комментариев"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} оставил комментарий в %{resource_title}. Вы можете прочитать его на странице:",email_outro:"Вы получили это уведомление, потому что вы следите за %{author_name}. Вы можете отписаться от таких уведомлений, перейдя на страницу профиля этого участника.",email_subject:"В %{resource_title} появился новый комментарий от %{author_name}",notification_title:'В %{resource_title} появился новый комментарий от %{author_name} %{author_nickname}.'},comment_by_followed_user_group:{email_subject:"В %{resource_title} появился новый комментарий от %{author_name}",notification_title:'В %{resource_title} появился новый комментарий от %{author_name} %{author_nickname}.'},comment_created:{email_intro:"%{resource_title} прокомментировали. Вы можете прочитать комментарий на странице:",email_outro:"Вы получили это уведомление, потому что вы следите за «%{resource_title}». Вы можете перестать за ним следить, перейдя по приведенной выше ссылке.",email_subject:"В %{resource_title} появился новый комментарий от %{author_name}",notification_title:'В %{resource_title} появился новый комментарий от %{author_name} %{author_nickname}'},reply_created:{email_intro:"%{author_name} ответил на ваш комментарий в %{resource_title}. Вы можете прочитать его на странице:",email_outro:"Вы получили это уведомление, потому что на ваш комментарий был дан ответ.",email_subject:"%{author_name} ответил на ваш комментарий в %{resource_title}",notification_title:'%{author_name} %{author_nickname} ответил на ваш комментарий в %{resource_title}'},user_mentioned:{email_intro:"Вы были упомянуты",email_outro:"Вы получили это уведомление, потому что вы были упомянуты в %{resource_title}.",email_subject:"Вы были упомянуты в %{resource_title}",notification_title:'%{author_name} %{author_nickname} упомянул вас в %{resource_title}'}}},metrics:{comments:{description:"Количество комментариев, созданных участниками",object:"коментарии",title:"Комментарии"}}},errors:{messages:{cannot_have_comments:"не подлежит комментированию"}}}}},function(e,t){e.exports={si:null}},function(e,t){e.exports={sk:{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"Komentár","decidim/comments/comment_created_event":"Komentár","decidim/comments/reply_created_event":"Odpoveď","decidim/comments/user_group_mentioned_event":"Zmienka","decidim/comments/user_mentioned_event":"Zmienka"}},activerecord:{models:{"decidim/comments/comment":{one:"Komentár",few:"Komentáre",many:"Komentáre",other:"Komentáre"},"decidim/comments/comment_vote":{one:"Hlas",few:"Hlasy",many:"Hlasy",other:"Hlasy"}}},decidim:{comments:{comments:"Komentáre",last_activity:{new_comment_at_html:"Nový komentár na %{link}"},votes:{create:{error:"Pri hlasovaní za komentár sa vyskytol problém."}}},components:{add_comment_form:{account_message:'Prihláste sa so svojím účtom alebo sa zaregistrujte, aby ste pridali svoj komentár.',form:{body:{label:"Komentár",placeholder:"Čo si myslíte o tomto?"},form_error:"Tento text je požadovaný a nesmie byť dlhší, než %{length} znakov.",submit:"Odoslať",user_group_id:{label:"Komentovať ako"}},opinion:{neutral:"Neutrálne"},remaining_characters:"Zostáva %{count} znakov",remaining_characters_1:"Zostáva %{count} znakov",title:"Pridajte svoj komentár"},comment:{alignment:{against:"Proti",in_favor:"Za"},deleted_user:"Zmazaný účastník",hide_replies:"Skryť odpovede",reply:"Odpovedať",report:{action:"Nahlásiť",already_reported:"Tento obsah už bol nahlásený, a je v procese kontroly.",close:"Zavrieť",description:"Je tento obsah nevhodný?",details:"Ďalšie komentáre",reasons:{does_not_belong:"Obsahuje ilegálnu činnosť, vyhrážky, osobné informácie, alebo niečo ďalšie, o čom si myslíte, že nepatrí na %{organization_name}.",offensive:"Obsahuje rasizmus, sexizmus, urážky, osobné útoky, vyhrážky alebo inú podobu nenávistného prejavu.",spam:"Obsahuje clickbait, reklamy, scam alebo je to skriptovací robot."},title:"Nahlásenie problému"},show_replies:"Zobraziť %{replies_count} odpovedí",single_comment_link_title:"Odkaz na komentár"},comment_order_selector:{order:{best_rated:"Najlepšie hodnotené",most_discussed:"Najviac diskutované",older:"Staršie",recent:"Nedávne"},title:"Zoradiť podľa:"},comment_thread:{title:"Konverzácia s %{authorName}"},comments:{blocked_comments_for_user_warning:"V súčasnosti nemôžete komentovať, ale môžete si prečítať predchádzajúce komentáre.",blocked_comments_warning:"Komentáre nie sú v súčasnosti povolené, ale môžete si prečítať predchádzajúce komentáre.",comment_details_title:"Podrobnosti komentára",loading:"Nahrávanie komentárov...",single_comment_warning:'Zvyšné komentáre zobrazíte tu.',single_comment_warning_title:"Zobrazujete jeden komentár",title:"%{count} komentárov"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} komentoval na %{resource_title}. Môžete si to prečítať na stránke:",email_outro:'Túto notifikáciu ste dostali, pretože sledujete autora "%{author_name}". Notifikácie môžete zrušiť po kliknutí na predchádzajúci odkaz.',email_subject:"Je nový komentár od %{author_name} na %{resource_title}",notification_title:'Je nový komentár od %{author_name}%{author_nickname} na %{resource_title}.'},comment_created:{email_intro:"%{resource_title} bol okomentovaný. Komentár si môžete prečítať na stránke:",email_outro:'Túto notifikáciu ste dostali, pretože sledujete "%{resource_title}" alebo autora. Notifikácie môžete zrušiť po kliknutí na predchádzajúci odkaz.',email_subject:"Je nový komentár od %{author_name} na %{resource_title}",notification_title:'Je nový komentár od %{author_name}%{author_nickname} na %{resource_title}'},reply_created:{email_intro:"%{author_name} odpovedal na váš komentár na %{resource_title}. Môžete si to prečítať na stránke:",email_outro:"Túto notifikáciu ste dostali, pretože niekto odpovedal na Váš komentár.",email_subject:"%{author_name} odpovedal na Váš komentár na %{resource_title}",notification_title:'%{author_name}%{author_nickname} odpovedal na váš komentár na %{resource_title}'},user_group_mentioned:{email_intro:"Skupina, do ktorej patríte, bola zmienená",email_outro:"Dostali ste túto notifikáciu, pretože ste členom skupiny %{group_name}, ktorá bola spomenutá v %{resource_title}.",email_subject:"Boli ste spomenutí v %{resource_title}, ako člen skupiny %{group_name}",notification_title:'Boli ste zmienení v %{resource_title} autorom %{author_name} %{author_nickname} ako člen skupiny %{group_name} %{group_nickname}'},user_mentioned:{email_intro:"Niekto vás spomenul",email_outro:"Túto notifikáciu ste dostali, pretože ste boli spomenutí na %{resource_title}.",email_subject:"Boli ste spomenutí na %{resource_title}",notification_title:'Boli ste spomenutí %{author_name}%{author_nickname} na %{resource_title}'}}},metrics:{comments:{description:"Počet komentárov všetkých účastníkov",object:"komentáre",title:"Komentáre"}}},errors:{messages:{cannot_have_comments:"nie je možné komentovať"}}}}},function(e,t){e.exports={sk:{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"Komentár","decidim/comments/comment_created_event":"Komentár","decidim/comments/reply_created_event":"Odpoveď","decidim/comments/user_group_mentioned_event":"Zmienka","decidim/comments/user_mentioned_event":"Zmienka"}},activerecord:{models:{"decidim/comments/comment":{one:"Komentár",few:"Komentáre",many:"Komentáre",other:"Komentáre"},"decidim/comments/comment_vote":{one:"Hlas",few:"Hlasy",many:"Hlasy",other:"Hlasy"}}},decidim:{comments:{comments:"Komentáre",last_activity:{new_comment_at_html:"Nový komentár na %{link}"},votes:{create:{error:"Pri hlasovaní za komentár sa vyskytol problém."}}},components:{add_comment_form:{account_message:'Prihláste sa so svojím účtom alebo sa zaregistrujte, aby ste pridali svoj komentár.',form:{body:{label:"Komentár",placeholder:"Čo si myslíte o tomto?"},form_error:"Tento text je požadovaný a nesmie byť dlhší, než %{length} znakov.",submit:"Odoslať",user_group_id:{label:"Komentovať ako"}},opinion:{neutral:"Neutrálne"},remaining_characters:"Zostáva %{count} znakov",remaining_characters_1:"Zostáva %{count} znakov",title:"Pridajte svoj komentár"},comment:{alignment:{against:"Proti",in_favor:"Za"},deleted_user:"Zmazaný účastník",hide_replies:"Skryť odpovede",reply:"Odpovedať",report:{action:"Nahlásiť",already_reported:"Tento obsah už bol nahlásený, a je v procese kontroly.",close:"Zavrieť",description:"Je tento obsah nevhodný?",details:"Ďalšie komentáre",reasons:{does_not_belong:"Obsahuje ilegálnu činnosť, vyhrážky, osobné informácie, alebo niečo ďalšie, o čom si myslíte, že nepatrí na %{organization_name}.",offensive:"Obsahuje rasizmus, sexizmus, urážky, osobné útoky, vyhrážky alebo inú podobu nenávistného prejavu.",spam:"Obsahuje clickbait, reklamy, scam alebo je to skriptovací robot."}},show_replies:"Zobraziť %{replies_count} odpovedí",single_comment_link_title:"Odkaz na komentár"},comment_order_selector:{order:{best_rated:"Najlepšie hodnotené",most_discussed:"Najviac diskutované",older:"Staršie",recent:"Nedávne"},title:"Zoradiť podľa:"},comment_thread:{title:"Konverzácia s %{authorName}"},comments:{blocked_comments_for_user_warning:"V súčasnosti nemôžete komentovať, ale môžete si prečítať predchádzajúce komentáre.",blocked_comments_warning:"Komentáre nie sú v súčasnosti povolené, ale môžete si prečítať predchádzajúce komentáre.",comment_details_title:"Podrobnosti komentára",loading:"Nahrávanie komentárov...",single_comment_warning:'Zvyšné komentáre zobrazíte tu.',single_comment_warning_title:"Zobrazujete jeden komentár",title:"%{count} komentárov"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} komentoval na %{resource_title}. Môžete si to prečítať na stránke:",email_outro:'Túto notifikáciu ste dostali, pretože sledujete autora "%{author_name}". Notifikácie môžete zrušiť po kliknutí na predchádzajúci odkaz.',email_subject:"Je nový komentár od %{author_name} na %{resource_title}",notification_title:'Je nový komentár od %{author_name}%{author_nickname} na %{resource_title}.'},comment_by_followed_user_group:{email_intro:"Skupina %{author_name} komentovala na %{resource_title}. Môžete si to prečítať na stránke:",email_outro:'Túto notifikáciu ste dostali, pretože sledujete autora "%{author_name}". Notifikácie môžete zrušiť po kliknutí na predchádzajúci odkaz.',email_subject:"Je nový komentár od %{author_name} na %{resource_title}",notification_title:'Je nový komentár od %{author_name}%{author_nickname} na %{resource_title}.'},comment_created:{email_intro:"%{resource_title} bol okomentovaný. Komentár si môžete prečítať na stránke:",email_outro:'Túto notifikáciu ste dostali, pretože sledujete "%{resource_title}" alebo autora. Notifikácie môžete zrušiť po kliknutí na predchádzajúci odkaz.',email_subject:"Je nový komentár od %{author_name} na %{resource_title}",notification_title:'Je nový komentár od %{author_name}%{author_nickname} na %{resource_title}'},reply_created:{email_intro:"%{author_name} odpovedal na váš komentár na %{resource_title}. Môžete si to prečítať na stránke:",email_outro:"Túto notifikáciu ste dostali, pretože niekto odpovedal na Váš komentár.",email_subject:"%{author_name} odpovedal na Váš komentár na %{resource_title}",notification_title:'%{author_name}%{author_nickname} odpovedal na váš komentár na %{resource_title}'},user_group_mentioned:{email_intro:"Skupina, do ktorej patríte, bola zmienená",email_outro:"Dostali ste túto notifikáciu, pretože ste členom skupiny %{group_name}, ktorá bola spomenutá v %{resource_title}.",email_subject:"Boli ste spomenutí v %{resource_title}, ako člen skupiny %{group_name}",notification_title:'Boli ste zmienení v %{resource_title} autorom %{author_name} %{author_nickname} ako člen skupiny %{group_name} %{group_nickname}'},user_mentioned:{email_intro:"Niekto vás spomenul",email_outro:"Túto notifikáciu ste dostali, pretože ste boli spomenutí na %{resource_title}.",email_subject:"Boli ste spomenutí na %{resource_title}",notification_title:'Boli ste spomenutí %{author_name}%{author_nickname} na %{resource_title}'}}},metrics:{comments:{description:"Počet komentárov všetkých účastníkov",object:"komentáre",title:"Komentáre"}}},errors:{messages:{cannot_have_comments:"nie je možné komentovať"}}}}},function(e,t){e.exports={sl:{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"Komentar"}}}}},function(e,t){e.exports={so:null}},function(e,t){e.exports={sr:{decidim:{components:{comment:{hide_replies:"Sakrij odgovore",show_replies:"Prikaži %{replies_count} odgovora",single_comment_link_title:"Nabavi vezu ka jednom komentaru"},comments:{comment_details_title:"Detalji o komentaru",single_comment_warning:'Možete videti ostale komentare ovde.',single_comment_warning_title:"Vidite samo jedan komentar"}},events:{comments:{comment_by_followed_user_group:{email_intro:"Grupa %{author_name} je ostavila komentar na %{resource_title}. Možete ga pročitati na ovoj strani:"},user_group_mentioned:{email_intro:"Grupa kojoj pripadate je pomenuta",email_outro:"Dobili ste ovo obaveštenje jer ste član grupe %{group_name} koja je pomenuta u %{resource_title}.",email_subject:"Pomenuti ste u %{resource_title} kao član grupe %{group_name}",notification_title:'Pomenuti ste u %{resource_title} od strane %{author_name}%{author_nickname} kao član %{group_name}%{group_nickname}'}}}}}}},function(e,t){e.exports={sv:{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"Kommentar","decidim/comments/comment_created_event":"Kommentar","decidim/comments/reply_created_event":"Svar till en kommentar","decidim/comments/user_group_mentioned_event":"Nämn","decidim/comments/user_mentioned_event":"Nämn"}},activerecord:{models:{"decidim/comments/comment":{one:"Kommentar",other:"Kommentarer"},"decidim/comments/comment_vote":{one:"Röst",other:"Röster"}}},decidim:{comments:{comments:"Kommentarer",comments_count:"Antal kommentarer",last_activity:{new_comment_at_html:"Ny kommentar på %{link}"},view:"Visa",votes:{create:{error:"Det gick inte att rösta om kommentaren."}}},components:{add_comment_form:{account_message:'Logga in med ditt konto eller registrera dig för att lägga till din kommentar.',form:{body:{label:"Kommentera",placeholder:"Vad tycker du om detta?"},form_error:"Texten är obligatorisk och den kan inte vara längre än %{length} tecken.",submit:"Skicka",user_group_id:{label:"Kommentera som"}},opinion:{neutral:"Neutral"},remaining_characters:"%{count} tecken kvar",remaining_characters_1:"%{count} tecken kvar",title:"Lägg till din kommentar"},comment:{alignment:{against:"Mot",in_favor:"För"},deleted_user:"Raderad deltagare",hide_replies:"Göm svar",reply:"Svara",report:{action:"Rapportera",already_reported:"Det här innehållet är redan rapporterat och det kommer att granskas av en administratör.",close:"Stäng",description:"Är detta innehåll olämpligt?",details:"Ytterligare kommentarer",reasons:{does_not_belong:"Innehåller olaglig aktivitet, självmordshot, personlig information eller något annat du tycker inte hör hemma på %{organization_name}.",offensive:"Innehåller rasism, sexism, skällsord, personliga attacker, dödshot, uppmaningar att begå självmord eller någon form av hatpropaganda.",spam:"Innehåller clickbait, reklam, bedrägerier eller skriptrobotar."},title:"Rapportera olämpligt innehåll"},show_replies:"Visa %{replies_count} svar",single_comment_link_title:"Få länk till enstaka kommentar"},comment_order_selector:{order:{best_rated:"Bästa betyg",most_discussed:"Mest diskuterade",older:"Äldre",recent:"Senaste"},title:"Sortera efter:"},comment_thread:{title:"Samtal med %{authorName}"},comments:{blocked_comments_for_user_warning:"Du kan inte kommentera just nu, men du kan läsa tidigare kommentarer.",blocked_comments_warning:"Kommentarer är inaktiverade just nu, men du kan läsa de föregående.",comment_details_title:"Kommentarsdetaljer",loading:"Laddar kommentarer...",single_comment_warning:'Läs återstående kommentarer.',single_comment_warning_title:"Du visar en enda kommentar",title:"%{count} kommentarer"},down_vote_button:{text:"Jag håller inte med om denna kommentar"},up_vote_button:{text:"Jag instämmer i denna kommentar"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} har lämnat en kommentar i %{resource_title}. Du kan läsa den på den här sidan:",email_outro:"Du har fått den här notisen eftersom du följer %{author_name}. Du kan avfölja den här användaren från deras profilsida.",email_subject:"Det finns en ny kommentar av %{author_name} i %{resource_title}",notification_title:'Det finns en ny kommentar av %{author_name} %{author_nickname} i %{resource_title}.'},comment_by_followed_user_group:{email_intro:"Gruppen %{author_name} har lämnat en kommentar i %{resource_title}. Du kan läsa den på denna sida:",email_outro:"Du har fått det här meddelandet eftersom du följer %{author_name}. Du kan sluta följa den här gruppen från dess profilsida.",email_subject:"Det finns en ny kommentar av %{author_name} i %{resource_title}",notification_title:'Det finns en ny kommentar av %{author_name} %{author_nickname} i %{resource_title}.'},comment_created:{email_intro:"%{resource_title} har kommenterats. Du kan läsa kommentaren på den här sidan:",email_outro:'Du har fått det här meddelandet eftersom du följer "%{resource_title}" eller dess författare. Du kan avfölja det från föregående länk.',email_subject:"Det finns en ny kommentar från %{author_name} i %{resource_title}",notification_title:'Det finns en ny kommentar från %{author_name} %{author_nickname} i %{resource_title}'},reply_created:{email_intro:"%{author_name} har svarat din kommentar i %{resource_title}. Du kan läsa den på den här sidan:",email_outro:"Du har fått denna notis eftersom din kommentar blev besvarad.",email_subject:"%{author_name} har svarat din kommentar i %{resource_title}",notification_title:'%{author_name} %{author_nickname} har svarat din kommentar i %{resource_title}'},user_group_mentioned:{email_intro:"En grupp som du tillhör har nämnts",email_outro:"Du har fått det här meddelandet eftersom du är medlem i gruppen %{group_name} som har nämnts i %{resource_title}.",email_subject:"Du har nämnts i %{resource_title} som en medlem i %{group_name}",notification_title:'Du har nämnts i %{resource_title} av %{author_name} %{author_nickname} som medlem av %{group_name} %{group_nickname}'},user_mentioned:{email_intro:"Du har nämnts",email_outro:"Du har fått denna notis eftersom du har nämnts i %{resource_title}.",email_subject:"Du har nämnts i %{resource_title}",notification_title:'Du har nämnts i %{resource_title} av %{author_name} %{author_nickname}'}}},metrics:{comments:{description:"Antal kommentarer från deltagare",object:"kommentarer",title:"Kommentarer"}}},errors:{messages:{cannot_have_comments:"kan inte ha kommentarer"}}}}},function(e,t){e.exports={sw:null}},function(e,t){e.exports={ti:null}},function(e,t){e.exports={tr:{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"Yorum","decidim/comments/comment_created_event":"Yorum","decidim/comments/reply_created_event":"Yorum cevabı","decidim/comments/user_group_mentioned_event":"Bahset","decidim/comments/user_mentioned_event":"Bahset"}},activerecord:{models:{"decidim/comments/comment":{one:"Yorum",other:"Yorumlar"},"decidim/comments/comment_vote":{one:"Oy ver",other:"oy"}}},decidim:{comments:{comments:"Yorumlar",comments_count:"Yorum sayısı",last_activity:{new_comment_at_html:" %{link} yeni yorum"},view:"Görünüm",votes:{create:{error:"Yorum oylanırken bir sorun oluştu."}}},components:{add_comment_form:{account_message:'Yorumunuzu eklemek için hesabınızla oturum açın veya kaydolun .',form:{body:{label:"Yorum",placeholder:"Bunun hakkında ne düşünüyorsun?"},form_error:"Metin zorunludur ve %{length} karakterden uzun olamaz.",submit:"Gönder",user_group_id:{label:"Olarak yorum yap"}},opinion:{neutral:"Tarafsız"},remaining_characters:"%{count} karakter kaldı",remaining_characters_1:"%{count} karakter kaldı",title:"Yorum Ekle"},comment:{alignment:{against:"Karşısında",in_favor:"Lehine"},deleted_user:"Silinmiş katılımcı",hide_replies:"Yanıtları gizle",reply:"Cevapla",report:{action:"Rapor",already_reported:"Bu içerik zaten bildirildi ve bir yönetici tarafından incelenecek.",close:"Kapat",description:"Bu içerik uygunsuz mu?",details:"Ek Yorumlar",reasons:{does_not_belong:"Yasadışı faaliyet, intihar tehditleri, kişisel bilgiler veya %{organization_name} kuruluşuna ait olmadığını düşündüğünüz başka bir şey içeriyor.",offensive:"Irkçılık, cinsiyetçilik, hakaretler, kişisel saldırılar, ölüm tehditleri, intihar talepleri veya herhangi bir nefret söylemi içerir.",spam:"Clickbait, reklam, dolandırıcılık veya script botları içerir."},title:"Uygunsuz içerik bildir"},show_replies:"%{replies_count} yanıtı göster",single_comment_link_title:"Tek yorumun bağlantısını al"},comment_order_selector:{order:{best_rated:"En çok oy alan",most_discussed:"En çok tartışılan",older:"Daha eski",recent:"Son"},title:"Tarafından sipariş:"},comment_thread:{title:"%{authorName}ile sohbet"},comments:{blocked_comments_for_user_warning:"Şu anda yorum yapamıyorsunuz, ancak öncekileri okuyabilirsiniz.",blocked_comments_warning:"Yorumlar şu anda devre dışı, ancak öncekileri okuyabilirsiniz.",comment_details_title:"Yorum ayrıntıları",loading:"Yorumlar yükleniyor ...",single_comment_warning:'Yorumların geri kalanını buradan kontrol edebilirsiniz.',single_comment_warning_title:"Tek bir yorum görüyorsunuz",title:"%{count} yorum"},down_vote_button:{text:"Bu yoruma katılmıyorum"},up_vote_button:{text:"Bu yoruma katılıyorum"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} grubu %{resource_title} alanında bir yorum bıraktı. Bu sayfada okuyabilirsiniz:",email_outro:"Bu bildirimi %{author_name} adlı yazarı takip ettiğiniz için aldınız. Bu grubu profil sayfasından takip etmeyi bırakabilirsiniz.",email_subject:"%{author_name} %{resource_title} alanında yeni bir yorum yaptı",notification_title:'%{resource_title} içinde %{author_name} %{author_nickname} tarafından yeni bir yorum var.'},comment_by_followed_user_group:{email_intro:"%{author_name} grubu %{resource_title} alanında bir yorum bıraktı. Bu sayfada okuyabilirsiniz:",email_outro:"Bu bildirimi %{author_name} adlı yazarı takip ettiğiniz için aldınız. Bu grubu profil sayfasından takip etmeyi bırakabilirsiniz.",email_subject:"%{author_name}, %{resource_title} alanında yeni bir yorum yaptı",notification_title:'%{resource_title} içinde %{author_name} %{author_nickname} tarafından yeni bir yorum var.'},comment_created:{email_intro:"%{resource_title} alanında yorum yapıldı. Bu sayfadaki yorumu okuyabilirsiniz:",email_outro:'"%{resource_title}" alanında veya yazarı takip ettiğiniz için bu bildirimi aldınız. Bunu önceki linkten takip edebilirsiniz.',email_subject:"%{author_name}, %{resource_title} alanında yeni bir yorum yaptı",notification_title:'%{resource_title} içinde %{author_name} %{author_nickname} tarafından yeni bir yorum var'},reply_created:{email_intro:"%{author_name}, yorumunuzu %{resource_title} alanında yanıtladı. Bu sayfada okuyabilirsiniz:",email_outro:"Yorumunuz yanıtlandığı için bu bildirimi aldınız.",email_subject:"%{author_name}, yorumunuzu %{resource_title} alanında yanıtladı",notification_title:'%{author_name} %{author_nickname} %{resource_title} alanında yorumunuzu yanıtladı'},user_group_mentioned:{email_intro:"Ait olduğunuz bir gruptan bahsedildi",email_outro:"Bu bildirimi, %{resource_title} içinde adı geçen %{group_name} grubunun bir üyesi olduğunuz için aldınız.",email_subject:"%{resource_title} içinde %{group_name} üyesi olarak bahsedildiniz",notification_title:'%{resource_title} ’de %{author_name} %{author_nickname} tarafından bir %{group_name} %{group_nickname} üyesi'},user_mentioned:{email_intro:"Sen bahsedildin",email_outro:"Bu bildirimi, sizden %{resource_title} alanında bahsedildiği için aldınız.",email_subject:"%{resource_title} alanında bahsedildiniz",notification_title:'%{resource_title} alanında %{author_name} %{author_nickname} tarafından bahsedildi'}}},metrics:{comments:{description:"Katılımcılar tarafından oluşturulan yorum sayısı",object:"yorumlar",title:"Yorumlar"}}},errors:{messages:{cannot_have_comments:"yorum alamaz"}}}}},function(e,t){e.exports={uk:{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"Коментар","decidim/comments/comment_created_event":"Коментар","decidim/comments/reply_created_event":"Відповідь на коментар","decidim/comments/user_group_mentioned_event":"Згадка","decidim/comments/user_mentioned_event":"Згадка"}},activerecord:{models:{"decidim/comments/comment":{one:"Коментар",few:"Коментаря",many:"Коментарів",other:"Коментарів"},"decidim/comments/comment_vote":{one:"Голос",few:"Голоси",many:"Голосів",other:"Голосів"}}},decidim:{comments:{votes:{create:{error:"При голосуванні щодо коментаря сталися помилки."}}},components:{add_comment_form:{account_message:'Увійдіть за допомогою свого облікового запису або зареєструйтесь, щоб додати свій коментар.',form:{body:{label:"Коментар",placeholder:"Що ви думаєте з цього приводу?"},form_error:"Тут обов'язково потрібно ввести текст, але не більше, ніж %{length} символів.",submit:"Надіслати",user_group_id:{label:"Коментувати як"}},opinion:{neutral:"Безсторонньо"},remaining_characters:"Залишилось %{count} символів",remaining_characters_1:"Залишився %{count} символ",title:"Додати свій коментар"},comment:{alignment:{against:"Проти",in_favor:"На підтримку"},deleted_user:"Видалений учасник",reply:"Відповісти",report:{action:"Поскаржитись",already_reported:"Про цей вміст вже передано скаргу, і її перегляне адміністратор.",close:"Закрити",description:"Чи цей вміст неприпустимий?",details:"Додаткові коментарі",reasons:{does_not_belong:"Містить незаконну діяльність, загрози самогубства, особисті відомості чи ще щось, неприпустиме, на вашу думку, для %{organization_name}.",offensive:"Містить расизм, сексизм, образи, особисті напади, погрози вбивства, заяви про самогубство або будь-які ненависницькі висловлювання.",spam:"Містить клацоловки (маніпулятивно-сенсаційні заголовки), рекламу, афери або лохотрони."}}},comment_order_selector:{order:{best_rated:"З найкращим рейтингом",most_discussed:"Найбільш обговорюване",older:"Давніші",recent:"Нещодавнє"},title:"Впорядкувати за:"},comment_thread:{title:"Бесіда з %{authorName}"},comments:{blocked_comments_warning:"Коментарі зараз вимкнені, але ви можете прочитати попередні.",loading:"Завантаження коментарів...",title:"%{count} коментарів"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} залишив коментар у %{resource_title}. Ви можете прочитати його на сторінці:",email_outro:"Ви отримали це сповіщення, тому що ви стежите за %{author_name}. Ви можете припинити стежити за ним на сторінці його профілю.",email_subject:"У %{resource_title} з'явився новий коментар від %{author_name}",notification_title:'У %{resource_title} з\'явився новий коментар від %{author_name} %{author_nickname}.'},comment_by_followed_user_group:{email_subject:"У %{resource_title} з'явився новий коментар від %{author_name}",notification_title:'У %{resource_title} з\'явився новий коментар від %{author_name} %{author_nickname}.'},comment_created:{email_intro:"%{resource_title} прокоментували. Ви можете прочитати коментар на сторінці:",email_outro:'Ви отримали це сповіщення, тому що ви стежите за "%{resource_title}". Ви можете припинити стежити за ним, перейшовши за наведеним вище посиланням.',email_subject:"У %{resource_title} з'явився новий коментар від %{author_name}",notification_title:'У %{resource_title} з\'явився новий коментар від %{author_name} %{author_nickname}'},reply_created:{email_intro:"%{author_name} відповів на ваш коментар у %{resource_title}. Ви можете прочитати його на сторінці:",email_outro:"Ви отримали це сповіщення, оскільки на ваш коментар відповіли.",email_subject:"%{author_name} відповів на ваш коментар у %{resource_title}",notification_title:'%{author_name} %{author_nickname} відповів на ваш коментар у %{resource_title}'},user_mentioned:{email_intro:"Вас згадали",email_outro:"Ви отримали це сповіщення, оскільки вас згадали в %{resource_title}.",email_subject:"Вас згадали у %{resource_title}",notification_title:'%{author_name} %{author_nickname} згадав вас у %{resource_title}'}}}},errors:{messages:{cannot_have_comments:"не підлягає коментуванню"}}}}},function(e,t){e.exports={vi:null}},function(e,t){e.exports={vi:null}},function(e,t){e.exports={"zh-CN":{activemodel:{models:{"decidim/comments/comment_by_followed_user_event":"评论","decidim/comments/comment_created_event":"评论","decidim/comments/reply_created_event":"评论回复","decidim/comments/user_group_mentioned_event":"提到了","decidim/comments/user_mentioned_event":"提到了"}},activerecord:{models:{"decidim/comments/comment":{other:"评论"},"decidim/comments/comment_vote":{other:"所得票数"}}},decidim:{comments:{comments:"评论",comments_count:"评论计数",last_activity:{new_comment_at_html:"在 %{link}的新评论"},view:"查看",votes:{create:{error:"在表决该评论时出现问题。"}}},components:{add_comment_form:{account_message:'使用您的帐户注册 来添加您的评论。',form:{body:{label:"评论",placeholder:"你对此有什么看法?"},form_error:"文本是必需的,不能超过 %{length} 个字符。",submit:"发送",user_group_id:{label:"评论为"}},opinion:{neutral:"中性的"},remaining_characters:"剩余 %{count} 个字符",remaining_characters_1:"剩余 %{count} 个字符",title:"添加您的评论"},comment:{alignment:{against:"反对的",in_favor:"优惠的"},deleted_user:"删除参与者",hide_replies:"隐藏回复",reply:"答复",report:{action:"报告",already_reported:"此内容已经被报告,将由管理员审核。",close:"关闭",description:"这个内容是否不适当?",details:"其他评论",reasons:{does_not_belong:"包含非法活动、自杀威胁、个人信息或你认为不属于 %{organization_name} 的其他东西。",offensive:"包括种族主义、性别主义、污泥、个人攻击、死亡威胁、自杀请求或任何形式的仇恨言论。",spam:"包含点击、广告、骗子或脚本机器人。"},title:"报告不恰当的内容"},show_replies:"显示 %{replies_count} 个回复",single_comment_link_title:"获取单个评论的链接"},comment_order_selector:{order:{best_rated:"最佳评分",most_discussed:"最多讨论",older:"更旧的",recent:"最近的"},title:"排序方式:"},comment_thread:{title:"与 %{authorName} 的对话"},comments:{blocked_comments_for_user_warning:"您此时无法评论,但您可以阅读前面的评论。",blocked_comments_warning:"评论此时被禁用,但您可以阅读前面的评论。",comment_details_title:"评论详情",loading:"正在加载评论...",single_comment_warning:'您可以在这里查看 的其余评论。',single_comment_warning_title:"您正在看到一个评论",title:"%{count} 条评论"},down_vote_button:{text:"我不同意这个评论"},up_vote_button:{text:"我同意这个评论"}},events:{comments:{comment_by_followed_user:{email_intro:"%{author_name} 在 %{resource_title}留下了一条评论。您可以在这个页面阅读:",email_outro:"您收到此通知是因为您正在关注 %{author_name}。您可以从其个人资料页面取消关注此用户。",email_subject:"%{author_name} 在 %{resource_title} 有一个新评论",notification_title:'%{author_name} %{author_nickname}%{resource_title} 有新的评论。'},comment_by_followed_user_group:{email_intro:"组 %{author_name} 在 %{resource_title}留下了一个评论。您可以在这个页面阅读它:",email_outro:"您收到此通知是因为您正在关注 %{author_name}。您可以从其个人资料页面取消关注此组。",email_subject:"%{author_name} 在 %{resource_title} 有一个新评论",notification_title:'%{author_name} %{author_nickname}%{resource_title} 有新的评论。'},comment_created:{email_intro:"%{resource_title} 已被评论。您可以阅读此页面中的评论:",email_outro:'您收到此通知是因为您正在关注"%{resource_title}"或其作者。您可以从上一个链接取消关注它。',email_subject:"%{author_name} 在 %{resource_title} 有一个新评论",notification_title:'来自 %{author_name} %{author_nickname} 的新评论 %{resource_title}'},reply_created:{email_intro:"%{author_name} 在 %{resource_title}回复了您的评论。您可以在这个页面阅读:",email_outro:"您收到此通知是因为您的评论已被回复。",email_subject:"%{author_name} 在 %{resource_title} 回复了您的评论",notification_title:'%{author_name} %{author_nickname} 回复了您在 %{resource_title}'},user_group_mentioned:{email_intro:"已经提到您所属的组",email_outro:"您收到此通知是因为您是在 %{group_name} 中提及的组 %{resource_title} 的成员。",email_subject:"您已在 %{resource_title} 中被提及为 %{group_name} 的成员",notification_title:'您在 %{resource_title}中提到 %{author_name} %{author_nickname} 作为 %{group_name} %{group_nickname}'},user_mentioned:{email_intro:"您已被提到。",email_outro:"您收到此通知是因为您已在 %{resource_title} 中被提及。",email_subject:"您已在 %{resource_title} 中被提及了",notification_title:'您在 %{resource_title}中提到 %{author_name} %{author_nickname}'}}},metrics:{comments:{description:"与会者生成的评论数",object:"评论",title:"评论"}}},errors:{messages:{cannot_have_comments:"不能有评论"}}}}},function(e,t){e.exports={"zh-TW":null}},function(e,t,n){"use strict";(function(e,a){var r,o=n(218);r="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==e?e:a;var i=Object(o.a)(r);t.a=i}).call(this,n(7),n(245)(e))},function(e,t,n){"use strict";function a(e){var t,n=e.Symbol;return"function"==typeof n?n.observable?t=n.observable:(t=n("observable"),n.observable=t):t="@@observable",t}n.d(t,"a",(function(){return a}))},function(e,t){t.version="2.2.5"},function(e,t,n){"use strict";var a=this&&this.__assign||Object.assign||function(e){for(var t,n=1,a=arguments.length;nT.length&&T.push(e)}function H(e,t,n,a){var r=typeof e;"undefined"!==r&&"boolean"!==r||(e=null);var o=!1;if(null===e)o=!0;else switch(r){case"string":case"number":o=!0;break;case"object":switch(e.$$typeof){case s:case u:case d:case l:o=!0}}if(o)return n(a,e,""===t?"."+x(e,0):t),1;if(o=0,t=""===t?".":t+":",Array.isArray(e))for(var i=0;i=(i={attributeName:i,attributeNamespace:null,propertyName:o,mutationMethod:null,mustUseProperty:p(s,t.MUST_USE_PROPERTY),hasBooleanValue:p(s,t.HAS_BOOLEAN_VALUE),hasNumericValue:p(s,t.HAS_NUMERIC_VALUE),hasPositiveNumericValue:p(s,t.HAS_POSITIVE_NUMERIC_VALUE),hasOverloadedBooleanValue:p(s,t.HAS_OVERLOADED_BOOLEAN_VALUE),hasStringBooleanValue:p(s,t.HAS_STRING_BOOLEAN_VALUE)}).hasBooleanValue+i.hasNumericValue+i.hasOverloadedBooleanValue||c("50",o),r.hasOwnProperty(o)&&(i.attributeName=r[o]),a.hasOwnProperty(o)&&(i.attributeNamespace=a[o]),e.hasOwnProperty(o)&&(i.mutationMethod=e[o]),y[o]=i}}},y={};function g(e,t){if(h.hasOwnProperty(e)||2this.eventPool.length&&this.eventPool.push(e)}function Ne(e){e.eventPool=[],e.getPooled=ze,e.release=Ce}function Ae(e,t,n,a){return Pe.call(this,e,t,n,a)}function Fe(e,t,n,a){return Pe.call(this,e,t,n,a)}o(Pe.prototype,{preventDefault:function(){this.defaultPrevented=!0;var e=this.nativeEvent;e&&(e.preventDefault?e.preventDefault():"unknown"!=typeof e.returnValue&&(e.returnValue=!1),this.isDefaultPrevented=i.thatReturnsTrue)},stopPropagation:function(){var e=this.nativeEvent;e&&(e.stopPropagation?e.stopPropagation():"unknown"!=typeof e.cancelBubble&&(e.cancelBubble=!0),this.isPropagationStopped=i.thatReturnsTrue)},persist:function(){this.isPersistent=i.thatReturnsTrue},isPersistent:i.thatReturnsFalse,destructor:function(){var e,t=this.constructor.Interface;for(e in t)this[e]=null;for(t=0;t=parseInt(Ve.version(),10))}var Je=Ie,Qe=r.canUseDOM&&(!Re||qe&&8=qe),Ue=String.fromCharCode(32),Ke={beforeInput:{phasedRegistrationNames:{bubbled:"onBeforeInput",captured:"onBeforeInputCapture"},dependencies:["topCompositionEnd","topKeyPress","topTextInput","topPaste"]},compositionEnd:{phasedRegistrationNames:{bubbled:"onCompositionEnd",captured:"onCompositionEndCapture"},dependencies:"topBlur topCompositionEnd topKeyDown topKeyPress topKeyUp topMouseDown".split(" ")},compositionStart:{phasedRegistrationNames:{bubbled:"onCompositionStart",captured:"onCompositionStartCapture"},dependencies:"topBlur topCompositionStart topKeyDown topKeyPress topKeyUp topMouseDown".split(" ")},compositionUpdate:{phasedRegistrationNames:{bubbled:"onCompositionUpdate",captured:"onCompositionUpdateCapture"},dependencies:"topBlur topCompositionUpdate topKeyDown topKeyPress topKeyUp topMouseDown".split(" ")}},Be=!1;function Ge(e,t){switch(e){case"topKeyUp":return-1!==We.indexOf(t.keyCode);case"topKeyDown":return 229!==t.keyCode;case"topKeyPress":case"topMouseDown":case"topBlur":return!0;default:return!1}}function $e(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var Ze=!1;var Xe={eventTypes:Ke,extractEvents:function(e,t,n,a){var r;if(Re)e:{switch(e){case"topCompositionStart":var o=Ke.compositionStart;break e;case"topCompositionEnd":o=Ke.compositionEnd;break e;case"topCompositionUpdate":o=Ke.compositionUpdate;break e}o=void 0}else Ze?Ge(e,n)&&(o=Ke.compositionEnd):"topKeyDown"===e&&229===n.keyCode&&(o=Ke.compositionStart);return o?(Qe&&(Ze||o!==Ke.compositionStart?o===Ke.compositionEnd&&Ze&&(r=He()):(Se._root=a,Se._startText=xe(),Ze=!0)),o=Ae.getPooled(o,t,n,a),r?o.data=r:null!==(r=$e(n))&&(o.data=r),Ye(o),r=o):r=null,(e=Je?function(e,t){switch(e){case"topCompositionEnd":return $e(t);case"topKeyPress":return 32!==t.which?null:(Be=!0,Ue);case"topTextInput":return(e=t.data)===Ue&&Be?null:e;default:return null}}(e,n):function(e,t){if(Ze)return"topCompositionEnd"===e||!Re&&Ge(e,t)?(e=He(),Se._root=null,Se._startText=null,Se._fallbackText=null,Ze=!1,e):null;switch(e){case"topPaste":return null;case"topKeyPress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1Ut.length&&Ut.push(e)}}}var tn=Object.freeze({get _enabled(){return Bt},get _handleTopLevel(){return Gt},setHandleTopLevel:function(e){Gt=e},setEnabled:$t,isEnabled:function(){return Bt},trapBubbledEvent:Zt,trapCapturedEvent:Xt,dispatchEvent:en});function nn(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n["ms"+e]="MS"+t,n["O"+e]="o"+t.toLowerCase(),n}var an={animationend:nn("Animation","AnimationEnd"),animationiteration:nn("Animation","AnimationIteration"),animationstart:nn("Animation","AnimationStart"),transitionend:nn("Transition","TransitionEnd")},rn={},on={};function sn(e){if(rn[e])return rn[e];if(!an[e])return e;var t,n=an[e];for(t in n)if(n.hasOwnProperty(t)&&t in on)return rn[e]=n[t];return""}r.canUseDOM&&(on=document.createElement("div").style,"AnimationEvent"in window||(delete an.animationend.animation,delete an.animationiteration.animation,delete an.animationstart.animation),"TransitionEvent"in window||delete an.transitionend.transition);var un={topAbort:"abort",topAnimationEnd:sn("animationend")||"animationend",topAnimationIteration:sn("animationiteration")||"animationiteration",topAnimationStart:sn("animationstart")||"animationstart",topBlur:"blur",topCancel:"cancel",topCanPlay:"canplay",topCanPlayThrough:"canplaythrough",topChange:"change",topClick:"click",topClose:"close",topCompositionEnd:"compositionend",topCompositionStart:"compositionstart",topCompositionUpdate:"compositionupdate",topContextMenu:"contextmenu",topCopy:"copy",topCut:"cut",topDoubleClick:"dblclick",topDrag:"drag",topDragEnd:"dragend",topDragEnter:"dragenter",topDragExit:"dragexit",topDragLeave:"dragleave",topDragOver:"dragover",topDragStart:"dragstart",topDrop:"drop",topDurationChange:"durationchange",topEmptied:"emptied",topEncrypted:"encrypted",topEnded:"ended",topError:"error",topFocus:"focus",topInput:"input",topKeyDown:"keydown",topKeyPress:"keypress",topKeyUp:"keyup",topLoadedData:"loadeddata",topLoad:"load",topLoadedMetadata:"loadedmetadata",topLoadStart:"loadstart",topMouseDown:"mousedown",topMouseMove:"mousemove",topMouseOut:"mouseout",topMouseOver:"mouseover",topMouseUp:"mouseup",topPaste:"paste",topPause:"pause",topPlay:"play",topPlaying:"playing",topProgress:"progress",topRateChange:"ratechange",topScroll:"scroll",topSeeked:"seeked",topSeeking:"seeking",topSelectionChange:"selectionchange",topStalled:"stalled",topSuspend:"suspend",topTextInput:"textInput",topTimeUpdate:"timeupdate",topToggle:"toggle",topTouchCancel:"touchcancel",topTouchEnd:"touchend",topTouchMove:"touchmove",topTouchStart:"touchstart",topTransitionEnd:sn("transitionend")||"transitionend",topVolumeChange:"volumechange",topWaiting:"waiting",topWheel:"wheel"},dn={},ln=0,mn="_reactListenersID"+(""+Math.random()).slice(2);function _n(e){return Object.prototype.hasOwnProperty.call(e,mn)||(e[mn]=ln++,dn[e[mn]]={}),dn[e[mn]]}function cn(e){for(;e&&e.firstChild;)e=e.firstChild;return e}function hn(e,t){var n,a=cn(e);for(e=0;a;){if(3===a.nodeType){if(n=e+a.textContent.length,e<=t&&n>=t)return{node:a,offset:t-e};e=n}e:{for(;a;){if(a.nextSibling){a=a.nextSibling;break e}a=a.parentNode}a=void 0}a=cn(a)}}function pn(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&"text"===e.type||"textarea"===t||"true"===e.contentEditable)}var fn=r.canUseDOM&&"documentMode"in document&&11>=document.documentMode,yn={select:{phasedRegistrationNames:{bubbled:"onSelect",captured:"onSelectCapture"},dependencies:"topBlur topContextMenu topFocus topKeyDown topKeyUp topMouseDown topMouseUp topSelectionChange".split(" ")}},gn=null,vn=null,Mn=null,kn=!1;function Ln(e,t){if(kn||null==gn||gn!==u())return null;var n=gn;return"selectionStart"in n&&pn(n)?n={start:n.selectionStart,end:n.selectionEnd}:window.getSelection?n={anchorNode:(n=window.getSelection()).anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}:n=void 0,Mn&&d(Mn,n)?null:(Mn=n,(e=Pe.getPooled(yn.select,vn,e,t)).type="select",e.target=gn,Ye(e),e)}var bn={eventTypes:yn,extractEvents:function(e,t,n,a){var r,o=a.window===a?a.document:9===a.nodeType?a:a.ownerDocument;if(!(r=!o)){e:{o=_n(o),r=V.onSelect;for(var i=0;iFn||(e.current=An[Fn],An[Fn]=null,Fn--)}function Wn(e,t){Fn++,An[Fn]=e.current,e.current=t}new Set;var Rn={current:_},qn={current:!1},Vn=_;function Jn(e){return Un(e)?Vn:Rn.current}function Qn(e,t){var n=e.type.contextTypes;if(!n)return _;var a=e.stateNode;if(a&&a.__reactInternalMemoizedUnmaskedChildContext===t)return a.__reactInternalMemoizedMaskedChildContext;var r,o={};for(r in n)o[r]=t[r];return a&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function Un(e){return 2===e.tag&&null!=e.type.childContextTypes}function Kn(e){Un(e)&&(In(qn),In(Rn))}function Bn(e,t,n){null!=Rn.cursor&&c("168"),Wn(Rn,t),Wn(qn,n)}function Gn(e,t){var n=e.stateNode,a=e.type.childContextTypes;if("function"!=typeof n.getChildContext)return t;for(var r in n=n.getChildContext())r in a||c("108",Rt(e)||"Unknown",r);return o({},t,n)}function $n(e){if(!Un(e))return!1;var t=e.stateNode;return t=t&&t.__reactInternalMemoizedMergedChildContext||_,Vn=Rn.current,Wn(Rn,t),Wn(qn,qn.current),!0}function Zn(e,t){var n=e.stateNode;if(n||c("169"),t){var a=Gn(e,Vn);n.__reactInternalMemoizedMergedChildContext=a,In(qn),In(Rn),Wn(Rn,a)}else In(qn);Wn(qn,t)}function Xn(e,t,n){this.tag=e,this.key=t,this.stateNode=this.type=null,this.sibling=this.child=this.return=null,this.index=0,this.memoizedState=this.updateQueue=this.memoizedProps=this.pendingProps=this.ref=null,this.internalContextTag=n,this.effectTag=0,this.lastEffect=this.firstEffect=this.nextEffect=null,this.expirationTime=0,this.alternate=null}function ea(e,t,n){var a=e.alternate;return null===a?((a=new Xn(e.tag,e.key,e.internalContextTag)).type=e.type,a.stateNode=e.stateNode,a.alternate=e,e.alternate=a):(a.effectTag=0,a.nextEffect=null,a.firstEffect=null,a.lastEffect=null),a.expirationTime=n,a.pendingProps=t,a.child=e.child,a.memoizedProps=e.memoizedProps,a.memoizedState=e.memoizedState,a.updateQueue=e.updateQueue,a.sibling=e.sibling,a.index=e.index,a.ref=e.ref,a}function ta(e,t,n){var a=void 0,r=e.type,o=e.key;return"function"==typeof r?((a=r.prototype&&r.prototype.isReactComponent?new Xn(2,o,t):new Xn(0,o,t)).type=r,a.pendingProps=e.props):"string"==typeof r?((a=new Xn(5,o,t)).type=r,a.pendingProps=e.props):"object"==typeof r&&null!==r&&"number"==typeof r.tag?(a=r).pendingProps=e.props:c("130",null==r?r:typeof r,""),a.expirationTime=n,a}function na(e,t,n,a){return(t=new Xn(10,a,t)).pendingProps=e,t.expirationTime=n,t}function aa(e,t,n){return(t=new Xn(6,null,t)).pendingProps=e,t.expirationTime=n,t}function ra(e,t,n){return(t=new Xn(7,e.key,t)).type=e.handler,t.pendingProps=e,t.expirationTime=n,t}function oa(e,t,n){return(e=new Xn(9,null,t)).expirationTime=n,e}function ia(e,t,n){return(t=new Xn(4,e.key,t)).pendingProps=e.children||[],t.expirationTime=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}var sa=null,ua=null;function da(e){return function(t){try{return e(t)}catch(e){}}}function la(e){"function"==typeof sa&&sa(e)}function ma(e){"function"==typeof ua&&ua(e)}function _a(e){return{baseState:e,expirationTime:0,first:null,last:null,callbackList:null,hasForceUpdate:!1,isInitialized:!1}}function ca(e,t){null===e.last?e.first=e.last=t:(e.last.next=t,e.last=t),(0===e.expirationTime||e.expirationTime>t.expirationTime)&&(e.expirationTime=t.expirationTime)}function ha(e,t){var n=e.alternate,a=e.updateQueue;null===a&&(a=e.updateQueue=_a(null)),null!==n?null===(e=n.updateQueue)&&(e=n.updateQueue=_a(null)):e=null,null===(e=e!==a?e:null)?ca(a,t):null===a.last||null===e.last?(ca(a,t),ca(e,t)):(ca(a,t),e.last=t)}function pa(e,t,n,a){return"function"==typeof(e=e.partialState)?e.call(t,n,a):e}function fa(e,t,n,a,r,i){null!==e&&e.updateQueue===n&&(n=t.updateQueue={baseState:n.baseState,expirationTime:n.expirationTime,first:n.first,last:n.last,isInitialized:n.isInitialized,callbackList:null,hasForceUpdate:!1}),n.expirationTime=0,n.isInitialized?e=n.baseState:(e=n.baseState=t.memoizedState,n.isInitialized=!0);for(var s=!0,u=n.first,d=!1;null!==u;){var l=u.expirationTime;if(l>i){var m=n.expirationTime;(0===m||m>l)&&(n.expirationTime=l),d||(d=!0,n.baseState=e)}else d||(n.first=u.next,null===n.first&&(n.last=null)),u.isReplace?(e=pa(u,a,e,r),s=!0):(l=pa(u,a,e,r))&&(e=s?o({},e,l):o(e,l),s=!1),u.isForced&&(n.hasForceUpdate=!0),null!==u.callback&&(null===(l=n.callbackList)&&(l=n.callbackList=[]),l.push(u));u=u.next}return null!==n.callbackList?t.effectTag|=32:null!==n.first||n.hasForceUpdate||(t.updateQueue=null),d||(n.baseState=e),e}function ya(e,t){var n=e.callbackList;if(null!==n)for(e.callbackList=null,e=0;e_?(c=m,m=null):c=m.sibling;var y=p(r,m,s[_],u);if(null===y){null===m&&(m=c);break}e&&m&&null===y.alternate&&t(r,m),i=o(y,i,_),null===l?d=y:l.sibling=y,l=y,m=c}if(_===s.length)return n(r,m),d;if(null===m){for(;__?(y=m,m=null):y=m.sibling;var v=p(r,m,g.value,u);if(null===v){m||(m=y);break}e&&m&&null===v.alternate&&t(r,m),i=o(v,i,_),null===l?d=v:l.sibling=v,l=v,m=y}if(g.done)return n(r,m),d;if(null===m){for(;!g.done;_++,g=s.next())null!==(g=h(r,g.value,u))&&(i=o(g,i,_),null===l?d=g:l.sibling=g,l=g);return d}for(m=a(r,m);!g.done;_++,g=s.next())null!==(g=f(m,r,_,g.value,u))&&(e&&null!==g.alternate&&m.delete(null===g.key?_:g.key),i=o(g,i,_),null===l?d=g:l.sibling=g,l=g);return e&&m.forEach((function(e){return t(r,e)})),d}return function(e,a,o,s){"object"==typeof o&&null!==o&&o.type===ba&&null===o.key&&(o=o.props.children);var u="object"==typeof o&&null!==o;if(u)switch(o.$$typeof){case va:e:{var d=o.key;for(u=a;null!==u;){if(u.key===d){if(10===u.tag?o.type===ba:u.type===o.type){n(e,u.sibling),(a=r(u,o.type===ba?o.props.children:o.props,s)).ref=Ta(u,o),a.return=e,e=a;break e}n(e,u);break}t(e,u),u=u.sibling}o.type===ba?((a=na(o.props.children,e.internalContextTag,s,o.key)).return=e,e=a):((s=ta(o,e.internalContextTag,s)).ref=Ta(a,o),s.return=e,e=s)}return i(e);case Ma:e:{for(u=o.key;null!==a;){if(a.key===u){if(7===a.tag){n(e,a.sibling),(a=r(a,o,s)).return=e,e=a;break e}n(e,a);break}t(e,a),a=a.sibling}(a=ra(o,e.internalContextTag,s)).return=e,e=a}return i(e);case ka:e:{if(null!==a){if(9===a.tag){n(e,a.sibling),(a=r(a,null,s)).type=o.value,a.return=e,e=a;break e}n(e,a)}(a=oa(o,e.internalContextTag,s)).type=o.value,a.return=e,e=a}return i(e);case La:e:{for(u=o.key;null!==a;){if(a.key===u){if(4===a.tag&&a.stateNode.containerInfo===o.containerInfo&&a.stateNode.implementation===o.implementation){n(e,a.sibling),(a=r(a,o.children||[],s)).return=e,e=a;break e}n(e,a);break}t(e,a),a=a.sibling}(a=ia(o,e.internalContextTag,s)).return=e,e=a}return i(e)}if("string"==typeof o||"number"==typeof o)return o=""+o,null!==a&&6===a.tag?(n(e,a.sibling),a=r(a,o,s)):(n(e,a),a=aa(o,e.internalContextTag,s)),a.return=e,i(e=a);if(Da(o))return y(e,a,o,s);if(wa(o))return g(e,a,o,s);if(u&&ja(e,o),void 0===o)switch(e.tag){case 2:case 1:c("152",(s=e.type).displayName||s.name||"Component")}return n(e,a)}}var Ha=Sa(!0),xa=Sa(!1);function Oa(e,t,n,a,r){function o(e,t,n){var a=t.expirationTime;t.child=null===e?xa(t,null,n,a):Ha(t,e.child,n,a)}function i(e,t){var n=t.ref;null===n||e&&e.ref===n||(t.effectTag|=128)}function s(e,t,n,a){if(i(e,t),!n)return a&&Zn(t,!1),l(e,t);n=t.stateNode,Wt.current=t;var r=n.render();return t.effectTag|=1,o(e,t,r),t.memoizedState=n.state,t.memoizedProps=n.props,a&&Zn(t,!0),t.child}function u(e){var t=e.stateNode;t.pendingContext?Bn(0,t.pendingContext,t.pendingContext!==t.context):t.context&&Bn(0,t.context,!1),g(e,t.containerInfo)}function l(e,t){if(null!==e&&t.child!==e.child&&c("153"),null!==t.child){var n=ea(e=t.child,e.pendingProps,e.expirationTime);for(t.child=n,n.return=t;null!==e.sibling;)e=e.sibling,(n=n.sibling=ea(e,e.pendingProps,e.expirationTime)).return=t;n.sibling=null}return t.child}function m(e,t){switch(t.tag){case 3:u(t);break;case 2:$n(t);break;case 4:g(t,t.stateNode.containerInfo)}return null}var h=e.shouldSetTextContent,p=e.useSyncScheduling,f=e.shouldDeprioritizeSubtree,y=t.pushHostContext,g=t.pushHostContainer,v=n.enterHydrationState,M=n.resetHydrationState,k=n.tryToClaimNextHydratableInstance,L=(e=function(e,t,n,a){function r(e,t){t.updater=o,e.stateNode=t,t._reactInternalFiber=e}var o={isMounted:Vt,enqueueSetState:function(n,a,r){n=n._reactInternalFiber,r=void 0===r?null:r;var o=t(n);ha(n,{expirationTime:o,partialState:a,callback:r,isReplace:!1,isForced:!1,nextCallback:null,next:null}),e(n,o)},enqueueReplaceState:function(n,a,r){n=n._reactInternalFiber,r=void 0===r?null:r;var o=t(n);ha(n,{expirationTime:o,partialState:a,callback:r,isReplace:!0,isForced:!1,nextCallback:null,next:null}),e(n,o)},enqueueForceUpdate:function(n,a){n=n._reactInternalFiber,a=void 0===a?null:a;var r=t(n);ha(n,{expirationTime:r,partialState:null,callback:a,isReplace:!1,isForced:!0,nextCallback:null,next:null}),e(n,r)}};return{adoptClassInstance:r,constructClassInstance:function(e,t){var n=e.type,a=Jn(e),o=2===e.tag&&null!=e.type.contextTypes,i=o?Qn(e,a):_;return r(e,t=new n(t,i)),o&&((e=e.stateNode).__reactInternalMemoizedUnmaskedChildContext=a,e.__reactInternalMemoizedMaskedChildContext=i),t},mountClassInstance:function(e,t){var n=e.alternate,a=e.stateNode,r=a.state||null,i=e.pendingProps;i||c("158");var s=Jn(e);a.props=i,a.state=e.memoizedState=r,a.refs=_,a.context=Qn(e,s),null!=e.type&&null!=e.type.prototype&&!0===e.type.prototype.unstable_isAsyncReactComponent&&(e.internalContextTag|=1),"function"==typeof a.componentWillMount&&(r=a.state,a.componentWillMount(),r!==a.state&&o.enqueueReplaceState(a,a.state,null),null!==(r=e.updateQueue)&&(a.state=fa(n,e,r,a,i,t))),"function"==typeof a.componentDidMount&&(e.effectTag|=4)},updateClassInstance:function(e,t,r){var i=t.stateNode;i.props=t.memoizedProps,i.state=t.memoizedState;var s=t.memoizedProps,u=t.pendingProps;u||null==(u=s)&&c("159");var l=i.context,m=Jn(t);if(m=Qn(t,m),"function"!=typeof i.componentWillReceiveProps||s===u&&l===m||(l=i.state,i.componentWillReceiveProps(u,m),i.state!==l&&o.enqueueReplaceState(i,i.state,null)),l=t.memoizedState,r=null!==t.updateQueue?fa(e,t,t.updateQueue,i,u,r):l,!(s!==u||l!==r||qn.current||null!==t.updateQueue&&t.updateQueue.hasForceUpdate))return"function"!=typeof i.componentDidUpdate||s===e.memoizedProps&&l===e.memoizedState||(t.effectTag|=4),!1;var _=u;if(null===s||null!==t.updateQueue&&t.updateQueue.hasForceUpdate)_=!0;else{var h=t.stateNode,p=t.type;_="function"==typeof h.shouldComponentUpdate?h.shouldComponentUpdate(_,r,m):!p.prototype||!p.prototype.isPureReactComponent||(!d(s,_)||!d(l,r))}return _?("function"==typeof i.componentWillUpdate&&i.componentWillUpdate(u,r,m),"function"==typeof i.componentDidUpdate&&(t.effectTag|=4)):("function"!=typeof i.componentDidUpdate||s===e.memoizedProps&&l===e.memoizedState||(t.effectTag|=4),n(t,u),a(t,r)),i.props=u,i.state=r,i.context=m,_}}}(a,r,(function(e,t){e.memoizedProps=t}),(function(e,t){e.memoizedState=t}))).adoptClassInstance,b=e.constructClassInstance,Y=e.mountClassInstance,w=e.updateClassInstance;return{beginWork:function(e,t,n){if(0===t.expirationTime||t.expirationTime>n)return m(0,t);switch(t.tag){case 0:null!==e&&c("155");var a=t.type,r=t.pendingProps,d=Jn(t);return a=a(r,d=Qn(t,d)),t.effectTag|=1,"object"==typeof a&&null!==a&&"function"==typeof a.render?(t.tag=2,r=$n(t),L(t,a),Y(t,n),t=s(e,t,!0,r)):(t.tag=1,o(e,t,a),t.memoizedProps=r,t=t.child),t;case 1:e:{if(r=t.type,n=t.pendingProps,a=t.memoizedProps,qn.current)null===n&&(n=a);else if(null===n||a===n){t=l(e,t);break e}r=r(n,a=Qn(t,a=Jn(t))),t.effectTag|=1,o(e,t,r),t.memoizedProps=n,t=t.child}return t;case 2:return r=$n(t),a=void 0,null===e?t.stateNode?c("153"):(b(t,t.pendingProps),Y(t,n),a=!0):a=w(e,t,n),s(e,t,a,r);case 3:return u(t),null!==(r=t.updateQueue)?(a=t.memoizedState)===(r=fa(e,t,r,null,null,n))?(M(),t=l(e,t)):(a=r.element,d=t.stateNode,(null===e||null===e.child)&&d.hydrate&&v(t)?(t.effectTag|=2,t.child=xa(t,null,a,n)):(M(),o(e,t,a)),t.memoizedState=r,t=t.child):(M(),t=l(e,t)),t;case 5:y(t),null===e&&k(t),r=t.type;var _=t.memoizedProps;return null===(a=t.pendingProps)&&(null===(a=_)&&c("154")),d=null!==e?e.memoizedProps:null,qn.current||null!==a&&_!==a?(_=a.children,h(r,a)?_=null:d&&h(r,d)&&(t.effectTag|=16),i(e,t),2147483647!==n&&!p&&f(r,a)?(t.expirationTime=2147483647,t=null):(o(e,t,_),t.memoizedProps=a,t=t.child)):t=l(e,t),t;case 6:return null===e&&k(t),null===(e=t.pendingProps)&&(e=t.memoizedProps),t.memoizedProps=e,null;case 8:t.tag=7;case 7:return r=t.pendingProps,qn.current?null===r&&(null===(r=e&&e.memoizedProps)&&c("154")):null!==r&&t.memoizedProps!==r||(r=t.memoizedProps),a=r.children,t.stateNode=null===e?xa(t,t.stateNode,a,n):Ha(t,t.stateNode,a,n),t.memoizedProps=r,t.stateNode;case 9:return null;case 4:e:{if(g(t,t.stateNode.containerInfo),r=t.pendingProps,qn.current)null===r&&(null==(r=e&&e.memoizedProps)&&c("154"));else if(null===r||t.memoizedProps===r){t=l(e,t);break e}null===e?t.child=Ha(t,null,r,n):o(e,t,r),t.memoizedProps=r,t=t.child}return t;case 10:e:{if(n=t.pendingProps,qn.current)null===n&&(n=t.memoizedProps);else if(null===n||t.memoizedProps===n){t=l(e,t);break e}o(e,t,n),t.memoizedProps=n,t=t.child}return t;default:c("156")}},beginFailedWork:function(e,t,n){switch(t.tag){case 2:$n(t);break;case 3:u(t);break;default:c("157")}return t.effectTag|=64,null===e?t.child=null:t.child!==e.child&&(t.child=e.child),0===t.expirationTime||t.expirationTime>n?m(0,t):(t.firstEffect=null,t.lastEffect=null,t.child=null===e?xa(t,null,null,n):Ha(t,e.child,null,n),2===t.tag&&(e=t.stateNode,t.memoizedProps=e.props,t.memoizedState=e.state),t.child)}}}var Ea={};function Pa(e){function t(e){ie=G=!0;var t=e.stateNode;if(t.current===e&&c("177"),t.isReadyForCommit=!1,Wt.current=null,1i.expirationTime)&&(o=i.expirationTime),i=i.sibling;r.expirationTime=o}if(null!==t)return t;if(null!==n&&(null===n.firstEffect&&(n.firstEffect=e.firstEffect),null!==e.lastEffect&&(null!==n.lastEffect&&(n.lastEffect.nextEffect=e.firstEffect),n.lastEffect=e.lastEffect),1e))if(X<=K)for(;null!==$;)$=u($)?r($):a($);else for(;null!==$&&!b();)$=u($)?r($):a($)}else if(!(0===X||X>e))if(X<=K)for(;null!==$;)$=a($);else for(;null!==$&&!b();)$=a($)}function i(e,t){if(G&&c("243"),G=!0,e.isReadyForCommit=!1,e!==Z||t!==X||null===$){for(;-1t)&&(e.expirationTime=t),null!==e.alternate&&(0===e.alternate.expirationTime||e.alternate.expirationTime>t)&&(e.alternate.expirationTime=t),null===e.return){if(3!==e.tag)break;var n=e.stateNode;!G&&n===Z&&tke&&c("185"),null===a.nextScheduledRoot)a.remainingExpirationTime=r,null===de?(ue=de=a,a.nextScheduledRoot=a):(de=de.nextScheduledRoot=a).nextScheduledRoot=ue;else{var o=a.remainingExpirationTime;(0===o||rle)return;q(me)}var t=W()-U;le=e,me=R(M,{timeout:10*(e-2)-t})}function v(){var e=0,t=null;if(null!==de)for(var n=de,a=ue;null!==a;){var r=a.remainingExpirationTime;if(0===r){if((null===n||null===de)&&c("244"),a===a.nextScheduledRoot){ue=de=a.nextScheduledRoot=null;break}if(a===ue)ue=r=a.nextScheduledRoot,de.nextScheduledRoot=r,a.nextScheduledRoot=null;else{if(a===de){(de=n).nextScheduledRoot=ue,a.nextScheduledRoot=null;break}n.nextScheduledRoot=a.nextScheduledRoot,a.nextScheduledRoot=null}a=n.nextScheduledRoot}else{if((0===e||rbe)&&(pe=!0)}function Y(e){null===ce&&c("246"),ce.remainingExpirationTime=0,fe||(fe=!0,ye=e)}var w=function(e){function t(e){return e===Ea&&c("174"),e}var n=e.getChildHostContext,a=e.getRootHostContext,r={current:Ea},o={current:Ea},i={current:Ea};return{getHostContext:function(){return t(r.current)},getRootHostContainer:function(){return t(i.current)},popHostContainer:function(e){In(r),In(o),In(i)},popHostContext:function(e){o.current===e&&(In(r),In(o))},pushHostContainer:function(e,t){Wn(i,t),t=a(t),Wn(o,e),Wn(r,t)},pushHostContext:function(e){var a=t(i.current),s=t(r.current);s!==(a=n(s,e.type,a))&&(Wn(o,e),Wn(r,a))},resetHostContainer:function(){r.current=Ea,i.current=Ea}}}(e),D=function(e){function t(e,t){var n=new Xn(5,null,0);n.type="DELETED",n.stateNode=t,n.return=e,n.effectTag=8,null!==e.lastEffect?(e.lastEffect.nextEffect=n,e.lastEffect=n):e.firstEffect=e.lastEffect=n}function n(e,t){switch(e.tag){case 5:return null!==(t=o(t,e.type,e.pendingProps))&&(e.stateNode=t,!0);case 6:return null!==(t=i(t,e.pendingProps))&&(e.stateNode=t,!0);default:return!1}}function a(e){for(e=e.return;null!==e&&5!==e.tag&&3!==e.tag;)e=e.return;m=e}var r=e.shouldSetTextContent;if(!(e=e.hydration))return{enterHydrationState:function(){return!1},resetHydrationState:function(){},tryToClaimNextHydratableInstance:function(){},prepareToHydrateHostInstance:function(){c("175")},prepareToHydrateHostTextInstance:function(){c("176")},popHydrationState:function(){return!1}};var o=e.canHydrateInstance,i=e.canHydrateTextInstance,s=e.getNextHydratableSibling,u=e.getFirstHydratableChild,d=e.hydrateInstance,l=e.hydrateTextInstance,m=null,_=null,h=!1;return{enterHydrationState:function(e){return _=u(e.stateNode.containerInfo),m=e,h=!0},resetHydrationState:function(){_=m=null,h=!1},tryToClaimNextHydratableInstance:function(e){if(h){var a=_;if(a){if(!n(e,a)){if(!(a=s(a))||!n(e,a))return e.effectTag|=2,h=!1,void(m=e);t(m,_)}m=e,_=u(a)}else e.effectTag|=2,h=!1,m=e}},prepareToHydrateHostInstance:function(e,t,n){return t=d(e.stateNode,e.type,e.memoizedProps,t,n,e),e.updateQueue=t,null!==t},prepareToHydrateHostTextInstance:function(e){return l(e.stateNode,e.memoizedProps,e)},popHydrationState:function(e){if(e!==m)return!1;if(!h)return a(e),h=!0,!1;var n=e.type;if(5!==e.tag||"head"!==n&&"body"!==n&&!r(n,e.memoizedProps))for(n=_;n;)t(e,n),n=s(n);return a(e),_=m?s(e.stateNode):null,!0}}}(e),T=w.popHostContainer,j=w.popHostContext,S=w.resetHostContainer,H=Oa(e,w,D,h,m),x=H.beginWork,O=H.beginFailedWork,E=function(e,t,n){function a(e){e.effectTag|=4}var r=e.createInstance,o=e.createTextInstance,i=e.appendInitialChild,s=e.finalizeInitialChildren,u=e.prepareUpdate,d=e.persistence,l=t.getRootHostContainer,m=t.popHostContext,_=t.getHostContext,h=t.popHostContainer,p=n.prepareToHydrateHostInstance,f=n.prepareToHydrateHostTextInstance,y=n.popHydrationState,g=void 0,v=void 0,M=void 0;return e.mutation?(g=function(){},v=function(e,t,n){(t.updateQueue=n)&&a(t)},M=function(e,t,n,r){n!==r&&a(t)}):c(d?"235":"236"),{completeWork:function(e,t,n){var d=t.pendingProps;switch(null===d?d=t.memoizedProps:2147483647===t.expirationTime&&2147483647!==n||(t.pendingProps=null),t.tag){case 1:return null;case 2:return Kn(t),null;case 3:return h(t),In(qn),In(Rn),(d=t.stateNode).pendingContext&&(d.context=d.pendingContext,d.pendingContext=null),null!==e&&null!==e.child||(y(t),t.effectTag&=-3),g(t),null;case 5:m(t),n=l();var k=t.type;if(null!==e&&null!=t.stateNode){var L=e.memoizedProps,b=t.stateNode,Y=_();b=u(b,k,L,d,n,Y),v(e,t,b,k,L,d,n),e.ref!==t.ref&&(t.effectTag|=128)}else{if(!d)return null===t.stateNode&&c("166"),null;if(e=_(),y(t))p(t,n,e)&&a(t);else{e=r(k,d,n,e,t);e:for(L=t.child;null!==L;){if(5===L.tag||6===L.tag)i(e,L.stateNode);else if(4!==L.tag&&null!==L.child){L.child.return=L,L=L.child;continue}if(L===t)break;for(;null===L.sibling;){if(null===L.return||L.return===t)break e;L=L.return}L.sibling.return=L.return,L=L.sibling}s(e,k,d,n)&&a(t),t.stateNode=e}null!==t.ref&&(t.effectTag|=128)}return null;case 6:if(e&&null!=t.stateNode)M(e,t,e.memoizedProps,d);else{if("string"!=typeof d)return null===t.stateNode&&c("166"),null;e=l(),n=_(),y(t)?f(t)&&a(t):t.stateNode=o(d,e,n,t)}return null;case 7:(d=t.memoizedProps)||c("165"),t.tag=8,k=[];e:for((L=t.stateNode)&&(L.return=t);null!==L;){if(5===L.tag||6===L.tag||4===L.tag)c("247");else if(9===L.tag)k.push(L.type);else if(null!==L.child){L.child.return=L,L=L.child;continue}for(;null===L.sibling;){if(null===L.return||L.return===t)break e;L=L.return}L.sibling.return=L.return,L=L.sibling}return d=(L=d.handler)(d.props,k),t.child=Ha(t,null!==e?e.child:null,d,n),t.child;case 8:return t.tag=7,null;case 9:case 10:return null;case 4:return h(t),g(t),null;case 0:c("167");default:c("156")}}}}(e,w,D).completeWork,P=(w=function(e,t){function n(e){var n=e.ref;if(null!==n)try{n(null)}catch(n){t(e,n)}}function a(e){switch(ma(e),e.tag){case 2:n(e);var a=e.stateNode;if("function"==typeof a.componentWillUnmount)try{a.props=e.memoizedProps,a.state=e.memoizedState,a.componentWillUnmount()}catch(n){t(e,n)}break;case 5:n(e);break;case 7:r(e.stateNode);break;case 4:u&&i(e)}}function r(e){for(var t=e;;)if(a(t),null===t.child||u&&4===t.tag){if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;t=t.return}t.sibling.return=t.return,t=t.sibling}else t.child.return=t,t=t.child}function o(e){return 5===e.tag||3===e.tag||4===e.tag}function i(e){for(var t=e,n=!1,o=void 0,i=void 0;;){if(!n){n=t.return;e:for(;;){switch(null===n&&c("160"),n.tag){case 5:o=n.stateNode,i=!1;break e;case 3:case 4:o=n.stateNode.containerInfo,i=!0;break e}n=n.return}n=!0}if(5===t.tag||6===t.tag)r(t),i?v(o,t.stateNode):g(o,t.stateNode);else if(4===t.tag?o=t.stateNode.containerInfo:a(t),null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return;4===(t=t.return).tag&&(n=!1)}t.sibling.return=t.return,t=t.sibling}}var s=e.getPublicInstance,u=e.mutation;e=e.persistence,u||c(e?"235":"236");var d=u.commitMount,l=u.commitUpdate,m=u.resetTextContent,_=u.commitTextUpdate,h=u.appendChild,p=u.appendChildToContainer,f=u.insertBefore,y=u.insertInContainerBefore,g=u.removeChild,v=u.removeChildFromContainer;return{commitResetTextContent:function(e){m(e.stateNode)},commitPlacement:function(e){e:{for(var t=e.return;null!==t;){if(o(t)){var n=t;break e}t=t.return}c("160"),n=void 0}var a=t=void 0;switch(n.tag){case 5:t=n.stateNode,a=!1;break;case 3:case 4:t=n.stateNode.containerInfo,a=!0;break;default:c("161")}16&n.effectTag&&(m(t),n.effectTag&=-17);e:t:for(n=e;;){for(;null===n.sibling;){if(null===n.return||o(n.return)){n=null;break e}n=n.return}for(n.sibling.return=n.return,n=n.sibling;5!==n.tag&&6!==n.tag;){if(2&n.effectTag)continue t;if(null===n.child||4===n.tag)continue t;n.child.return=n,n=n.child}if(!(2&n.effectTag)){n=n.stateNode;break e}}for(var r=e;;){if(5===r.tag||6===r.tag)n?a?y(t,r.stateNode,n):f(t,r.stateNode,n):a?p(t,r.stateNode):h(t,r.stateNode);else if(4!==r.tag&&null!==r.child){r.child.return=r,r=r.child;continue}if(r===e)break;for(;null===r.sibling;){if(null===r.return||r.return===e)return;r=r.return}r.sibling.return=r.return,r=r.sibling}},commitDeletion:function(e){i(e),e.return=null,e.child=null,e.alternate&&(e.alternate.child=null,e.alternate.return=null)},commitWork:function(e,t){switch(t.tag){case 2:break;case 5:var n=t.stateNode;if(null!=n){var a=t.memoizedProps;e=null!==e?e.memoizedProps:a;var r=t.type,o=t.updateQueue;t.updateQueue=null,null!==o&&l(n,o,r,e,a,t)}break;case 6:null===t.stateNode&&c("162"),n=t.memoizedProps,_(t.stateNode,null!==e?e.memoizedProps:n,n);break;case 3:break;default:c("163")}},commitLifeCycles:function(e,t){switch(t.tag){case 2:var n=t.stateNode;if(4&t.effectTag)if(null===e)n.props=t.memoizedProps,n.state=t.memoizedState,n.componentDidMount();else{var a=e.memoizedProps;e=e.memoizedState,n.props=t.memoizedProps,n.state=t.memoizedState,n.componentDidUpdate(a,e)}null!==(t=t.updateQueue)&&ya(t,n);break;case 3:null!==(n=t.updateQueue)&&ya(n,null!==t.child?t.child.stateNode:null);break;case 5:n=t.stateNode,null===e&&4&t.effectTag&&d(n,t.type,t.memoizedProps,t);break;case 6:case 4:break;default:c("163")}},commitAttachRef:function(e){var t=e.ref;if(null!==t){var n=e.stateNode;switch(e.tag){case 5:t(s(n));break;default:t(n)}}},commitDetachRef:function(e){null!==(e=e.ref)&&e(null)}}}(e,s)).commitResetTextContent,z=w.commitPlacement,C=w.commitDeletion,N=w.commitWork,A=w.commitLifeCycles,F=w.commitAttachRef,I=w.commitDetachRef,W=e.now,R=e.scheduleDeferredCallback,q=e.cancelDeferredCallback,V=e.useSyncScheduling,J=e.prepareForCommit,Q=e.resetAfterCommit,U=W(),K=2,B=0,G=!1,$=null,Z=null,X=0,ee=null,te=null,ne=null,ae=null,re=null,oe=!1,ie=!1,se=!1,ue=null,de=null,le=0,me=-1,_e=!1,ce=null,he=0,pe=!1,fe=!1,ye=null,ge=null,ve=!1,Me=!1,ke=1e3,Le=0,be=1;return{computeAsyncExpiration:l,computeExpirationForFiber:m,scheduleWork:h,batchedUpdates:function(e,t){var n=ve;ve=!0;try{return e(t)}finally{(ve=n)||_e||k(1,null)}},unbatchedUpdates:function(e){if(ve&&!Me){Me=!0;try{return e()}finally{Me=!1}}return e()},flushSync:function(e){var t=ve;ve=!0;try{e:{var n=B;B=1;try{var a=e();break e}finally{B=n}a=void 0}return a}finally{ve=t,_e&&c("187"),k(1,null)}},deferredUpdates:function(e){var t=B;B=l();try{return e()}finally{B=t}}}}function za(e){function t(e){return null===(e=function(e){if(!(e=Qt(e)))return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}(e))?null:e.stateNode}var n=e.getPublicInstance,a=(e=Pa(e)).computeAsyncExpiration,r=e.computeExpirationForFiber,i=e.scheduleWork;return{createContainer:function(e,t){var n=new Xn(3,null,0);return e={current:n,containerInfo:e,pendingChildren:null,remainingExpirationTime:0,isReadyForCommit:!1,finishedWork:null,context:null,pendingContext:null,hydrate:t,nextScheduledRoot:null},n.stateNode=e},updateContainer:function(e,t,n,o){var s=t.current;if(n){var u;e:{for(2===qt(n=n._reactInternalFiber)&&2===n.tag||c("170"),u=n;3!==u.tag;){if(Un(u)){u=u.stateNode.__reactInternalMemoizedMergedChildContext;break e}(u=u.return)||c("171")}u=u.stateNode.context}n=Un(n)?Gn(n,u):u}else n=_;null===t.context?t.context=n:t.pendingContext=n,t=void 0===(t=o)?null:t,ha(s,{expirationTime:o=null!=e&&null!=e.type&&null!=e.type.prototype&&!0===e.type.prototype.unstable_isAsyncReactComponent?a():r(s),partialState:{element:e},callback:t,isReplace:!1,isForced:!1,nextCallback:null,next:null}),i(s,o)},batchedUpdates:e.batchedUpdates,unbatchedUpdates:e.unbatchedUpdates,deferredUpdates:e.deferredUpdates,flushSync:e.flushSync,getPublicRootInstance:function(e){if(!(e=e.current).child)return null;switch(e.child.tag){case 5:return n(e.child.stateNode);default:return e.child.stateNode}},findHostInstance:t,findHostInstanceWithNoPortals:function(e){return null===(e=function(e){if(!(e=Qt(e)))return null;for(var t=e;;){if(5===t.tag||6===t.tag)return t;if(t.child&&4!==t.tag)t.child.return=t,t=t.child;else{if(t===e)break;for(;!t.sibling;){if(!t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}}return null}(e))?null:e.stateNode},injectIntoDevTools:function(e){var n=e.findFiberByHostInstance;return function(e){if("undefined"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var t=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(t.isDisabled||!t.supportsFiber)return!0;try{var n=t.inject(e);sa=da((function(e){return t.onCommitFiberRoot(n,e)})),ua=da((function(e){return t.onCommitFiberUnmount(n,e)}))}catch(e){}return!0}(o({},e,{findHostInstanceByFiber:function(e){return t(e)},findFiberByHostInstance:function(e){return n?n(e):null}}))}}}var Ca=Object.freeze({default:za}),Na=Ca&&za||Ca,Aa=Na.default?Na.default:Na;function Fa(e,t,n){var a=3=Ba-e){if(!(-1!==Ua&&Ua<=e))return void(Ka||(Ka=!0,requestAnimationFrame(Xa)));Va.didTimeout=!0}else Va.didTimeout=!1;Ua=-1,e=Ja,Ja=null,null!==e&&e(Va)}}),!1);var Xa=function(e){Ka=!1;var t=e-Ba+$a;t<$a&&Ga<$a?(8>t&&(t=8),$a=tn||a.hasOverloadedBooleanValue&&!1===n?or(e,t):a.mustUseProperty?e[a.propertyName]=n:(t=a.attributeName,(r=a.attributeNamespace)?e.setAttributeNS(r,t,""+n):a.hasBooleanValue||a.hasOverloadedBooleanValue&&!0===n?e.setAttribute(t,""):e.setAttribute(t,""+n))}else rr(e,t,g(t,n)?n:null)}function rr(e,t,n){(function(e){return!!nr.hasOwnProperty(e)||!tr.hasOwnProperty(e)&&(er.test(e)?nr[e]=!0:(tr[e]=!0,!1))})(t)&&(null==n?e.removeAttribute(t):e.setAttribute(t,""+n))}function or(e,t){var n=v(t);n?(t=n.mutationMethod)?t(e,void 0):n.mustUseProperty?e[n.propertyName]=!n.hasBooleanValue&&"":e.removeAttribute(n.attributeName):e.removeAttribute(t)}function ir(e,t){var n=t.value,a=t.checked;return o({type:void 0,step:void 0,min:void 0,max:void 0},t,{defaultChecked:void 0,defaultValue:void 0,value:null!=n?n:e._wrapperState.initialValue,checked:null!=a?a:e._wrapperState.initialChecked})}function sr(e,t){var n=t.defaultValue;e._wrapperState={initialChecked:null!=t.checked?t.checked:t.defaultChecked,initialValue:null!=t.value?t.value:n,controlled:"checkbox"===t.type||"radio"===t.type?null!=t.checked:null!=t.value}}function ur(e,t){null!=(t=t.checked)&&ar(e,"checked",t)}function dr(e,t){ur(e,t);var n=t.value;null!=n?0===n&&""===e.value?e.value="0":"number"===t.type?(n!=(t=parseFloat(e.value)||0)||n==t&&e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n):(null==t.value&&null!=t.defaultValue&&e.defaultValue!==""+t.defaultValue&&(e.defaultValue=""+t.defaultValue),null==t.checked&&null!=t.defaultChecked&&(e.defaultChecked=!!t.defaultChecked))}function lr(e,t){switch(t.type){case"submit":case"reset":break;case"color":case"date":case"datetime":case"datetime-local":case"month":case"time":case"week":e.value="",e.value=e.defaultValue;break;default:e.value=e.value}""!==(t=e.name)&&(e.name=""),e.defaultChecked=!e.defaultChecked,e.defaultChecked=!e.defaultChecked,""!==t&&(e.name=t)}function mr(e,t){return e=o({children:void 0},t),(t=function(e){var t="";return a.Children.forEach(e,(function(e){null==e||"string"!=typeof e&&"number"!=typeof e||(t+=e)})),t}(t.children))&&(e.children=t),e}function _r(e,t,n,a){if(e=e.options,t){t={};for(var r=0;r=t.length||c("93"),t=t[0]),n=""+t),null==n&&(n="")),e._wrapperState={initialValue:""+n}}function fr(e,t){var n=t.value;null!=n&&((n=""+n)!==e.value&&(e.value=n),null==t.defaultValue&&(e.defaultValue=n)),null!=t.defaultValue&&(e.defaultValue=t.defaultValue)}function yr(e){var t=e.textContent;t===e._wrapperState.initialValue&&(e.value=t)}var gr="http://www.w3.org/1999/xhtml",vr="http://www.w3.org/2000/svg";function Mr(e){switch(e){case"svg":return"http://www.w3.org/2000/svg";case"math":return"http://www.w3.org/1998/Math/MathML";default:return"http://www.w3.org/1999/xhtml"}}function kr(e,t){return null==e||"http://www.w3.org/1999/xhtml"===e?Mr(t):"http://www.w3.org/2000/svg"===e&&"foreignObject"===t?"http://www.w3.org/1999/xhtml":e}var Lr=void 0,br=function(e){return"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction?function(t,n,a,r){MSApp.execUnsafeLocalFunction((function(){return e(t,n)}))}:e}((function(e,t){if(e.namespaceURI!==vr||"innerHTML"in e)e.innerHTML=t;else{for((Lr=Lr||document.createElement("div")).innerHTML=""+t+"",t=Lr.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}}));function Yr(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType)return void(n.nodeValue=t)}e.textContent=t}var wr={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Dr=["Webkit","ms","Moz","O"];function Tr(e,t){for(var n in e=e.style,t)if(t.hasOwnProperty(n)){var a=0===n.indexOf("--"),r=n,o=t[n];r=null==o||"boolean"==typeof o||""===o?"":a||"number"!=typeof o||0===o||wr.hasOwnProperty(r)&&wr[r]?(""+o).trim():o+"px","float"===n&&(n="cssFloat"),a?e.setProperty(n,r):e[n]=r}}Object.keys(wr).forEach((function(e){Dr.forEach((function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),wr[t]=wr[e]}))}));var jr=o({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Sr(e,t,n){t&&(jr[e]&&(null!=t.children||null!=t.dangerouslySetInnerHTML)&&c("137",e,n()),null!=t.dangerouslySetInnerHTML&&(null!=t.children&&c("60"),"object"==typeof t.dangerouslySetInnerHTML&&"__html"in t.dangerouslySetInnerHTML||c("61")),null!=t.style&&"object"!=typeof t.style&&c("62",n()))}function Hr(e,t){if(-1===e.indexOf("-"))return"string"==typeof t.is;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var xr=gr,Or=i.thatReturns("");function Er(e,t){var n=_n(e=9===e.nodeType||11===e.nodeType?e:e.ownerDocument);t=V[t];for(var a=0;a<\/script>",e=e.removeChild(e.firstChild)):e="string"==typeof t.is?n.createElement(e,{is:t.is}):n.createElement(e):e=n.createElementNS(a,e),e}function Cr(e,t){return(9===t.nodeType?t:t.ownerDocument).createTextNode(e)}function Nr(e,t,n,a){var r=Hr(t,n);switch(t){case"iframe":case"object":Zt("topLoad","load",e);var s=n;break;case"video":case"audio":for(s in Pr)Pr.hasOwnProperty(s)&&Zt(s,Pr[s],e);s=n;break;case"source":Zt("topError","error",e),s=n;break;case"img":case"image":Zt("topError","error",e),Zt("topLoad","load",e),s=n;break;case"form":Zt("topReset","reset",e),Zt("topSubmit","submit",e),s=n;break;case"details":Zt("topToggle","toggle",e),s=n;break;case"input":sr(e,n),s=ir(e,n),Zt("topInvalid","invalid",e),Er(a,"onChange");break;case"option":s=mr(e,n);break;case"select":cr(e,n),s=o({},n,{value:void 0}),Zt("topInvalid","invalid",e),Er(a,"onChange");break;case"textarea":pr(e,n),s=hr(e,n),Zt("topInvalid","invalid",e),Er(a,"onChange");break;default:s=n}Sr(t,s,Or);var u,d=s;for(u in d)if(d.hasOwnProperty(u)){var l=d[u];"style"===u?Tr(e,l):"dangerouslySetInnerHTML"===u?null!=(l=l?l.__html:void 0)&&br(e,l):"children"===u?"string"==typeof l?("textarea"!==t||""!==l)&&Yr(e,l):"number"==typeof l&&Yr(e,""+l):"suppressContentEditableWarning"!==u&&"suppressHydrationWarning"!==u&&"autoFocus"!==u&&(q.hasOwnProperty(u)?null!=l&&Er(a,u):r?rr(e,u,l):null!=l&&ar(e,u,l))}switch(t){case"input":yt(e),lr(e,n);break;case"textarea":yt(e),yr(e);break;case"option":null!=n.value&&e.setAttribute("value",n.value);break;case"select":e.multiple=!!n.multiple,null!=(t=n.value)?_r(e,!!n.multiple,t,!1):null!=n.defaultValue&&_r(e,!!n.multiple,n.defaultValue,!0);break;default:"function"==typeof s.onClick&&(e.onclick=i)}}function Ar(e,t,n,a,r){var s,u,d=null;switch(t){case"input":n=ir(e,n),a=ir(e,a),d=[];break;case"option":n=mr(e,n),a=mr(e,a),d=[];break;case"select":n=o({},n,{value:void 0}),a=o({},a,{value:void 0}),d=[];break;case"textarea":n=hr(e,n),a=hr(e,a),d=[];break;default:"function"!=typeof n.onClick&&"function"==typeof a.onClick&&(e.onclick=i)}for(s in Sr(t,a,Or),e=null,n)if(!a.hasOwnProperty(s)&&n.hasOwnProperty(s)&&null!=n[s])if("style"===s)for(u in t=n[s])t.hasOwnProperty(u)&&(e||(e={}),e[u]="");else"dangerouslySetInnerHTML"!==s&&"children"!==s&&"suppressContentEditableWarning"!==s&&"suppressHydrationWarning"!==s&&"autoFocus"!==s&&(q.hasOwnProperty(s)?d||(d=[]):(d=d||[]).push(s,null));for(s in a){var l=a[s];if(t=null!=n?n[s]:void 0,a.hasOwnProperty(s)&&l!==t&&(null!=l||null!=t))if("style"===s)if(t){for(u in t)!t.hasOwnProperty(u)||l&&l.hasOwnProperty(u)||(e||(e={}),e[u]="");for(u in l)l.hasOwnProperty(u)&&t[u]!==l[u]&&(e||(e={}),e[u]=l[u])}else e||(d||(d=[]),d.push(s,e)),e=l;else"dangerouslySetInnerHTML"===s?(l=l?l.__html:void 0,t=t?t.__html:void 0,null!=l&&t!==l&&(d=d||[]).push(s,""+l)):"children"===s?t===l||"string"!=typeof l&&"number"!=typeof l||(d=d||[]).push(s,""+l):"suppressContentEditableWarning"!==s&&"suppressHydrationWarning"!==s&&(q.hasOwnProperty(s)?(null!=l&&Er(r,s),d||t===l||(d=[])):(d=d||[]).push(s,l))}return e&&(d=d||[]).push("style",e),d}function Fr(e,t,n,a,r){"input"===n&&"radio"===r.type&&null!=r.name&&ur(e,r),Hr(n,a),a=Hr(n,r);for(var o=0;oa&&(r=a,a=e,e=r),r=hn(n,e);var o=hn(n,a);if(r&&o&&(1!==t.rangeCount||t.anchorNode!==r.node||t.anchorOffset!==r.offset||t.focusNode!==o.node||t.focusOffset!==o.offset)){var i=document.createRange();i.setStart(r.node,r.offset),t.removeAllRanges(),e>a?(t.addRange(i),t.extend(o.node,o.offset)):(i.setEnd(o.node,o.offset),t.addRange(i))}}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(m(n),n=0;nn?o.createElement("div",{className:""},o.createElement("button",{className:"button expanded",onClick:this.showAllComments(0)},c.t("components.comments.show_all_comments"))):t?o.createElement("div",{className:""},o.createElement("button",{className:"button expanded"},c.t("components.comments.loading"))):void 0},t.prototype.showAllComments=function(e){var t=this;return function(n){n.preventDefault(),t.setState({limit:e}),t.props.refetchCommentsWithLimit(e)}},t.prototype._renderAddCommentForm=function(){var e=this.props,t=e.session,n=e.commentable,a=e.orderBy,r=e.singleCommentId,i=e.commentsMaxLength,s=n.acceptsNewComments,u=n.commentsHaveAlignment,l=n.userAllowedToComment;return r&&""!==r?null:s&&l?o.createElement(d.default,{session:t,commentable:n,arguable:u,rootCommentable:n,orderBy:a,commentsMaxLength:i}):null},t.defaultProps={loading:!1,session:null,commentable:{comments:[]}},t.childContextTypes={locale:s.string,toggleTranslations:s.bool},t}(o.Component);t.Comments=p,window.Comments=p,t.commentsQuery=n(13);var f=i.graphql(t.commentsQuery,{options:{pollInterval:15e3},props:function(e){var t=e.ownProps,n=e.data;if(n){var a=n.loading,r=n.session,o=n.commentable,i=n.refetch;return{loading:a,session:r,commentable:o,orderBy:t.orderBy,limit:t.limit,singleCommentId:t.singleCommentId,reorderComments:function(e){return i({orderBy:e})},refetchCommentsWithLimit:function(e){return i({limit:e})}}}}})(p);t.default=function(e){var t=e.locale,n=e.toggleTranslations,a=e.commentableId,r=e.commentableType,i=e.singleCommentId,s=e.commentsMaxLength,d=e.limit;return o.createElement(u.default,{locale:t},o.createElement(f,{commentsMaxLength:s,commentableId:a,commentableType:r,locale:t,toggleTranslations:n,orderBy:"older",limit:d,singleCommentId:i}))}},function(e,t,n){"use strict";var a=n(11),r=n(235),o=n(236);e.exports=function(){function e(e,t,n,a,i,s){s!==o&&r(!1,"Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types")}function t(){return e}e.isRequired=e;var n={array:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t};return n.checkPropTypes=a,n.PropTypes=n,n}},function(e,t,n){"use strict";e.exports=function(e,t,n,a,r,o,i,s){if(!e){var u;if(void 0===t)u=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var d=[n,a,r,o,i,s],l=0;(u=new Error(t.replace(/%s/g,(function(){return d[l++]})))).name="Invariant Violation"}throw u.framesToPop=1,u}}},function(e,t,n){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},function(e,t,n){(function(t){var n="object"==typeof t&&t&&t.Object===Object&&t,a="object"==typeof self&&self&&self.Object===Object&&self,r=n||a||Function("return this")();function o(e,t,n){switch(n.length){case 0:return e.call(t);case 1:return e.call(t,n[0]);case 2:return e.call(t,n[0],n[1]);case 3:return e.call(t,n[0],n[1],n[2])}return e.apply(t,n)}function i(e,t){for(var n=-1,a=t.length,r=e.length;++n-1&&e%1==0&&e<=9007199254740991}(e.length)&&!function(e){var t=function(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}(e)?d.call(e):"";return"[object Function]"==t||"[object GeneratorFunction]"==t}(e)}(e)}(e)&&u.call(e,"callee")&&(!m.call(e,"callee")||"[object Arguments]"==d.call(e))}(e)||!!(_&&e&&e[_])}var p=Array.isArray;var f,y,g,v=(f=!0,y=function(e){var t=(e=function e(t,n,a,r,o){var s=-1,u=t.length;for(a||(a=h),o||(o=[]);++s0&&a(d)?n>1?e(d,n-1,a,r,o):i(o,d):r||(o[o.length]=d)}return o}(e,1)).length,n=t;for(f&&e.reverse();n--;)if("function"!=typeof e[n])throw new TypeError("Expected a function");return function(){for(var n=0,a=t?e[n].apply(this,arguments):arguments[0];++n-1&&e%1==0&&e<=9007199254740991}(e.length)&&!function(e){var t=function(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}(e)?d.call(e):"";return"[object Function]"==t||"[object GeneratorFunction]"==t}(e)}(e)}(e)&&u.call(e,"callee")&&(!m.call(e,"callee")||"[object Arguments]"==d.call(e))}(e)||!!(_&&e&&e[_])}function p(e){if("string"==typeof e||function(e){return"symbol"==typeof e||y(e)&&"[object Symbol]"==d.call(e)}(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}var f=Array.isArray;function y(e){return!!e&&"object"==typeof e}var g,v,M=(g=function(e,t){return null==e?{}:function(e,t){return function(e,t,n){for(var a=-1,r=t.length,o={};++a0&&a(d)?n>1?e(d,n-1,a,r,o):i(o,d):r||(o[o.length]=d)}return o}(t,1),p))},v=c(void 0===v?g.length-1:v,0),function(){for(var e=arguments,t=-1,n=c(e.length-v,0),a=Array(n);++t1)for(var n=1;n2&&void 0!==arguments[2]?arguments[2]:a,s=void 0,u=Array.isArray(e),d=[e],l=-1,m=[],_=void 0,c=void 0,h=void 0,p=[],f=[],y=e;do{var g=++l===d.length,v=g&&0!==m.length;if(g){if(c=0===f.length?void 0:p[p.length-1],_=h,h=f.pop(),v){if(u)_=_.slice();else{var M={};for(var k in _)_.hasOwnProperty(k)&&(M[k]=_[k]);_=M}for(var L=0,b=0;b1,r=!1,o=arguments[1],s=o;return new n((function(n){return t.subscribe({next:function(t){if(!n.closed){var o=!r;if(r=!0,!o||a)try{s=e(s,t)}catch(e){return n.error(e)}else s=t}},error:function(e){n.error(e)},complete:function(){if(!r&&!a)return n.error(new TypeError("Cannot reduce an empty sequence"));n.next(s),n.complete()}})}))}}),Object.defineProperty(_.prototype,a("observable"),{value:function(){return this},writable:!0,configurable:!0}),s(_,{from:function(e){var t="function"==typeof this?this:_;if(null==e)throw new TypeError(e+" is not an object");var r=o(e,a("observable"));if(r){var i=r.call(e);if(Object(i)!==i)throw new TypeError(i+" is not an object");return i.constructor===t?i:new t((function(e){return i.subscribe(e)}))}if(n("iterator")&&(r=o(e,a("iterator"))))return new t((function(t){for(var n,a=r.call(e)[Symbol.iterator]();!(n=a.next()).done;){var o=n.value;if(t.next(o),t.closed)return}t.complete()}));if(Array.isArray(e))return new t((function(t){for(var n=0;n1){for(var u=Array(i),d=0;d=0||Object.prototype.hasOwnProperty.call(e,a)&&(n[a]=e[a]);return n},possibleConstructorReturn:function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t},selfGlobal:u,set:function e(t,n,a,r){var o=Object.getOwnPropertyDescriptor(t,n);if(void 0===o){var i=Object.getPrototypeOf(t);null!==i&&e(i,n,a,r)}else if("value"in o&&o.writable)o.value=a;else{var s=o.set;void 0!==s&&s.call(r,a)}return a},slicedToArray:d,slicedToArrayLoose:function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e)){for(var n,a=[],r=e[Symbol.iterator]();!(n=r.next()).done&&(a.push(n.value),!t||a.length!==t););return a}throw new TypeError("Invalid attempt to destructure non-iterable instance")},taggedTemplateLiteral:function(e,t){return Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))},taggedTemplateLiteralLoose:function(e,t){return e.raw=t,e},temporalRef:function(e,t,n){if(e===n)throw new ReferenceError(t+" is not defined - temporal dead zone");return e},temporalUndefined:{},toArray:function(e){return Array.isArray(e)?e:Array.from(e)},toConsumableArray:function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t="a"&&n<="z"&&(e=e.slice(0,t)+n.toUpperCase()+e.slice(t+1))}return e}function W(e){return!!P.test(e)&&(!z.test(e)&&!C.test(e))}function R(e){for(var t=void 0,n=void 0,a=1,r=(n=(e=e.toLowerCase()).split("-")).length;a1&&(t.sort(),e=e.replace(RegExp("(?:"+N.source+")+","i"),M.call(t,""))),c.call(F.tags,e)&&(e=F.tags[e]);for(var o=1,i=(n=e.split("-")).length;o-1)return n;var a=n.lastIndexOf("-");if(a<0)return;a>=2&&"-"===n.charAt(a-2)&&(a-=2),n=n.substring(0,a)}}function U(e,t){for(var n=0,a=t.length,r=void 0,o=void 0,i=void 0;n2){var L=s[k+1];-1!==M.call(y,L)&&(v="-"+f+"-"+(g=L))}else{-1!==M(y,"true")&&(g="true")}}if(c.call(n,"[["+f+"]]")){var b=n["[["+f+"]]"];-1!==M.call(y,b)&&b!==g&&(g=b,v="")}l["[["+f+"]]"]=g,m+=v,_++}if(m.length>2){var Y=i.indexOf("-x-");if(-1===Y)i+=m;else{var D=i.substring(0,Y),T=i.substring(Y);i=D+m+T}i=R(i)}return l["[[locale]]"]=i,l}function B(e,t){for(var n=t.length,a=new D,r=0;ra)throw new RangeError("Value is not a number or outside accepted range");return Math.floor(o)}return r}var X={};Object.defineProperty(X,"getCanonicalLocales",{enumerable:!1,configurable:!0,writable:!0,value:function(e){for(var t=J(e),n=[],a=t.length,r=0;ro;o++){var i=n[o],s={};s.type=i["[[type]]"],s.value=i["[[value]]"],a[r]=s,r+=1}return a}function oe(e,t){var n=x(e),a=n["[[dataLocale]]"],r=n["[[numberingSystem]]"],o=b.NumberFormat["[[localeData]]"][a],i=o.symbols[r]||o.symbols.latn,s=void 0;!isNaN(t)&&t<0?(t=-t,s=n["[[negativePattern]]"]):s=n["[[positivePattern]]"];for(var u=new D,d=s.indexOf("{",0),l=0,m=0,_=s.length;d>-1&&d<_;){if(-1===(l=s.indexOf("}",d)))throw new Error;if(d>m){var h=s.substring(m,d);v.call(u,{"[[type]]":"literal","[[value]]":h})}var p=s.substring(d+1,l);if("number"===p)if(isNaN(t)){var f=i.nan;v.call(u,{"[[type]]":"nan","[[value]]":f})}else if(isFinite(t)){"percent"===n["[[style]]"]&&isFinite(t)&&(t*=100);var y=void 0;y=c.call(n,"[[minimumSignificantDigits]]")&&c.call(n,"[[maximumSignificantDigits]]")?se(t,n["[[minimumSignificantDigits]]"],n["[[maximumSignificantDigits]]"]):ue(t,n["[[minimumIntegerDigits]]"],n["[[minimumFractionDigits]]"],n["[[maximumFractionDigits]]"]),de[r]?function(){var e=de[r];y=String(y).replace(/\d/g,(function(t){return e[t]}))}():y=String(y);var g=void 0,M=void 0,L=y.indexOf(".",0);if(L>0?(g=y.substring(0,L),M=y.substring(L+1,L.length)):(g=y,M=void 0),!0===n["[[useGrouping]]"]){var Y=i.group,w=[],T=o.patterns.primaryGroupSize||3,j=o.patterns.secondaryGroupSize||T;if(g.length>T){var S=g.length-T,H=S%j,O=g.slice(0,H);for(O.length&&v.call(w,O);Hr;r++){a+=n[r]["[[value]]"]}return a}function se(e,t,n){var a=n,r=void 0,o=void 0;if(0===e)r=M.call(Array(a+1),"0"),o=0;else{o=function(e){if("function"==typeof Math.log10)return Math.floor(Math.log10(e));var t=Math.round(Math.log(e)*Math.LOG10E);return t-(Number("1e"+t)>e)}(Math.abs(e));var i=Math.round(Math.exp(Math.abs(o-a+1)*Math.LN10));r=String(Math.round(o-a+1<0?e*i:e/i))}if(o>=a)return r+M.call(Array(o-a+1+1),"0");if(o===a-1)return r;if(o>=0?r=r.slice(0,o+1)+"."+r.slice(o+1):o<0&&(r="0."+M.call(Array(1-(o+1)),"0")+r),r.indexOf(".")>=0&&n>t){for(var s=n-t;s>0&&"0"===r.charAt(r.length-1);)r=r.slice(0,-1),s--;"."===r.charAt(r.length-1)&&(r=r.slice(0,-1))}return r}function ue(e,t,n,a){var r,o=a,i=Math.pow(10,o)*e,s=0===i?"0":i.toFixed(0),u=(r=s.indexOf("e"))>-1?s.slice(r+1):0;u&&(s=s.slice(0,r).replace(".",""),s+=M.call(Array(u-(s.length-1)+1),"0"));var d=void 0;if(0!==o){var l=s.length;if(l<=o)s=M.call(Array(o+1-l+1),"0")+s,l=o+1;var m=s.substring(0,l-o),_=s.substring(l-o,s.length);s=m+"."+_,d=m.length}else d=s.length;for(var c=a-n;c>0&&"0"===s.slice(-1);)s=s.slice(0,-1),c--;("."===s.slice(-1)&&(s=s.slice(0,-1)),dn&&(n=s,a=i),r++}return a}(s,L);else{var j=$(n,"hour12","boolean");s.hour12=void 0===j?k.hour12:j,M=function(e,t){var n=[];for(var a in De)c.call(De,a)&&void 0!==e["[["+a+"]]"]&&n.push(a);if(1===n.length){var r=function(e,t){var n;if(ke[e]&&ke[e][t])return n={originalPattern:ke[e][t],_:i({},e,t),extendedPattern:"{"+e+"}"},i(n,e,t),i(n,"pattern12","{"+e+"}"),i(n,"pattern","{"+e+"}"),n}(n[0],e["[["+n[0]+"]]"]);if(r)return r}var o=-1/0,s=void 0,u=0,d=t.length;for(;u=2||M>=2&&v<=1?k>0?m-=6:k<0&&(m-=8):k>1?m-=3:k<-1&&(m-=6)}}l._.hour12!==e.hour12&&(m-=1),m>o&&(o=m,s=l),u++}return s}(s,L)}for(var S in De)if(c.call(De,S)&&c.call(M,S)){var H=M[S];H=M._&&c.call(M._,S)?M._[S]:H,a["[["+S+"]]"]=H}var O=void 0,E=$(n,"hour12","boolean");if(a["[[hour]]"])if(E=void 0===E?k.hour12:E,a["[[hour12]]"]=E,!0===E){var P=k.hourNo0;a["[[hourNo0]]"]=P,O=M.pattern12}else O=M.pattern;else O=M.pattern;return a["[[pattern]]"]=O,a["[[boundFormat]]"]=void 0,a["[[initializedDateTimeFormat]]"]=!0,_&&(e.format=je.call(e)),r(),e}h(X,"DateTimeFormat",{configurable:!0,writable:!0,value:Ye}),h(Ye,"prototype",{writable:!1});var De={weekday:["narrow","short","long"],era:["narrow","short","long"],year:["2-digit","numeric"],month:["2-digit","numeric","narrow","short","long"],day:["2-digit","numeric"],hour:["2-digit","numeric"],minute:["2-digit","numeric"],second:["2-digit","numeric"],timeZoneName:["short","long"]};function Te(e,t,n){if(void 0===e)e=null;else{var a=j(e);for(var r in e=new w,a)e[r]=a[r]}e=f(e);var o=!0;return"date"!==t&&"any"!==t||void 0===e.weekday&&void 0===e.year&&void 0===e.month&&void 0===e.day||(o=!1),"time"!==t&&"any"!==t||void 0===e.hour&&void 0===e.minute&&void 0===e.second||(o=!1),!o||"date"!==n&&"all"!==n||(e.year=e.month=e.day="numeric"),!o||"time"!==n&&"all"!==n||(e.hour=e.minute=e.second="numeric"),e}function je(){var e=null!==this&&"object"===l.typeof(this)&&x(this);if(!e||!e["[[initializedDateTimeFormat]]"])throw new TypeError("`this` value for format() is not an initialized Intl.DateTimeFormat object.");if(void 0===e["[[boundFormat]]"]){var t=L.call((function(){var e=arguments.length<=0||void 0===arguments[0]?void 0:arguments[0],t=void 0===e?Date.now():S(e);return He(this,t)}),this);e["[[boundFormat]]"]=t}return e["[[boundFormat]]"]}function Se(e,t){if(!isFinite(t))throw new RangeError("Invalid valid date passed to format");var n=e.__getInternalProperties(Y);T();for(var a,r,o,i,s=n["[[locale]]"],u=new X.NumberFormat([s],{useGrouping:!1}),d=new X.NumberFormat([s],{minimumIntegerDigits:2,useGrouping:!1}),l=(a=t,n["[[calendar]]"],r=n["[[timeZone]]"],new w({"[[weekday]]":(o=new Date(a))[(i="get"+(r||""))+"Day"](),"[[era]]":+(o[i+"FullYear"]()>=0),"[[year]]":o[i+"FullYear"](),"[[month]]":o[i+"Month"](),"[[day]]":o[i+"Date"](),"[[hour]]":o[i+"Hours"](),"[[minute]]":o[i+"Minutes"](),"[[second]]":o[i+"Seconds"](),"[[inDST]]":!1})),m=n["[[pattern]]"],_=new D,c=0,h=m.indexOf("{"),p=0,f=n["[[dataLocale]]"],y=b.DateTimeFormat["[[localeData]]"][f].calendars,g=n["[[calendar]]"];-1!==h;){var M=void 0;if(-1===(p=m.indexOf("}",h)))throw new Error("Unclosed pattern");h>c&&v.call(_,{type:"literal",value:m.substring(c,h)});var k=m.substring(h+1,p);if(De.hasOwnProperty(k)){var L=n["[["+k+"]]"],j=l["[["+k+"]]"];if("year"===k&&j<=0?j=1-j:"month"===k?j++:"hour"===k&&!0===n["[[hour12]]"]&&0===(j%=12)&&!0===n["[[hourNo0]]"]&&(j=12),"numeric"===L)M=ie(u,j);else if("2-digit"===L)(M=ie(d,j)).length>2&&(M=M.slice(-2));else if(L in Le)switch(k){case"month":M=be(y,g,"months",L,l["[["+k+"]]"]);break;case"weekday":try{M=be(y,g,"days",L,l["[["+k+"]]"])}catch(e){throw new Error("Could not find weekday data for locale "+s)}break;case"timeZoneName":M="";break;case"era":try{M=be(y,g,"eras",L,l["[["+k+"]]"])}catch(e){throw new Error("Could not find era data for locale "+s)}break;default:M=l["[["+k+"]]"]}v.call(_,{type:k,value:M})}else if("ampm"===k){M=be(y,g,"dayPeriods",l["[[hour]]"]>11?"pm":"am",null),v.call(_,{type:"dayPeriod",value:M})}else v.call(_,{type:"literal",value:m.substring(h,p+1)});c=p+1,h=m.indexOf("{",c)}return pr;r++){a+=n[r].value}return a}function xe(e,t){for(var n=Se(e,t),a=[],r=0;n.length>r;r++){var o=n[r];a.push({type:o.type,value:o.value})}return a}b.DateTimeFormat={"[[availableLocales]]":[],"[[relevantExtensionKeys]]":["ca","nu"],"[[localeData]]":{}},h(X.DateTimeFormat,"supportedLocalesOf",{configurable:!0,writable:!0,value:L.call((function(e){if(!c.call(this,"[[availableLocales]]"))throw new TypeError("supportedLocalesOf() is not a constructor");var t=T(),n=arguments[1],a=this["[[availableLocales]]"],r=J(e);return t(),G(a,r,n)}),b.NumberFormat)}),h(X.DateTimeFormat.prototype,"format",{configurable:!0,get:je}),Object.defineProperty(X.DateTimeFormat.prototype,"formatToParts",{enumerable:!1,writable:!0,configurable:!0,value:function(){var e=arguments.length<=0||void 0===arguments[0]?void 0:arguments[0],t=null!==this&&"object"===l.typeof(this)&&x(this);if(!t||!t["[[initializedDateTimeFormat]]"])throw new TypeError("`this` value for formatToParts() is not an initialized Intl.DateTimeFormat object.");var n=void 0===e?Date.now():S(e);return xe(this,n)}}),h(X.DateTimeFormat.prototype,"resolvedOptions",{writable:!0,configurable:!0,value:function(){var e=void 0,t=new w,n=["locale","calendar","numberingSystem","timeZone","hour12","weekday","era","year","month","day","hour","minute","second","timeZoneName"],a=null!==this&&"object"===l.typeof(this)&&x(this);if(!a||!a["[[initializedDateTimeFormat]]"])throw new TypeError("`this` value for resolvedOptions() is not an initialized Intl.DateTimeFormat object.");for(var r=0,o=n.length;r2&&4===r[1].length&&v.call(a,r[0]+"-"+r[2]);for(;n=k.call(a);)v.call(b.NumberFormat["[[availableLocales]]"],n),b.NumberFormat["[[localeData]]"][n]=e.number,e.date&&(e.date.nu=e.number.nu,v.call(b.DateTimeFormat["[[availableLocales]]"],n),b.DateTimeFormat["[[localeData]]"][n]=e.date);void 0===A&&function(e){A=e}(t)}(e,e.locale)}}),h(X,"__disableRegExpRestore",{value:function(){b.disableRegExpRestore=!0}}),e.exports=X}).call(this,n(7))},function(e,t){},function(e,t,n){var a={"./af":22,"./af.js":22,"./ar":23,"./ar-dz":24,"./ar-dz.js":24,"./ar-kw":25,"./ar-kw.js":25,"./ar-ly":26,"./ar-ly.js":26,"./ar-ma":27,"./ar-ma.js":27,"./ar-sa":28,"./ar-sa.js":28,"./ar-tn":29,"./ar-tn.js":29,"./ar.js":23,"./az":30,"./az.js":30,"./be":31,"./be.js":31,"./bg":32,"./bg.js":32,"./bm":33,"./bm.js":33,"./bn":34,"./bn.js":34,"./bo":35,"./bo.js":35,"./br":36,"./br.js":36,"./bs":37,"./bs.js":37,"./ca":38,"./ca.js":38,"./cs":39,"./cs.js":39,"./cv":40,"./cv.js":40,"./cy":41,"./cy.js":41,"./da":42,"./da.js":42,"./de":43,"./de-at":44,"./de-at.js":44,"./de-ch":45,"./de-ch.js":45,"./de.js":43,"./dv":46,"./dv.js":46,"./el":47,"./el.js":47,"./en-au":48,"./en-au.js":48,"./en-ca":49,"./en-ca.js":49,"./en-gb":50,"./en-gb.js":50,"./en-ie":51,"./en-ie.js":51,"./en-il":52,"./en-il.js":52,"./en-nz":53,"./en-nz.js":53,"./eo":54,"./eo.js":54,"./es":55,"./es-do":56,"./es-do.js":56,"./es-us":57,"./es-us.js":57,"./es.js":55,"./et":58,"./et.js":58,"./eu":59,"./eu.js":59,"./fa":60,"./fa.js":60,"./fi":61,"./fi.js":61,"./fo":62,"./fo.js":62,"./fr":63,"./fr-ca":64,"./fr-ca.js":64,"./fr-ch":65,"./fr-ch.js":65,"./fr.js":63,"./fy":66,"./fy.js":66,"./gd":67,"./gd.js":67,"./gl":68,"./gl.js":68,"./gom-latn":69,"./gom-latn.js":69,"./gu":70,"./gu.js":70,"./he":71,"./he.js":71,"./hi":72,"./hi.js":72,"./hr":73,"./hr.js":73,"./hu":74,"./hu.js":74,"./hy-am":75,"./hy-am.js":75,"./id":76,"./id.js":76,"./is":77,"./is.js":77,"./it":78,"./it.js":78,"./ja":79,"./ja.js":79,"./jv":80,"./jv.js":80,"./ka":81,"./ka.js":81,"./kk":82,"./kk.js":82,"./km":83,"./km.js":83,"./kn":84,"./kn.js":84,"./ko":85,"./ko.js":85,"./ky":86,"./ky.js":86,"./lb":87,"./lb.js":87,"./lo":88,"./lo.js":88,"./lt":89,"./lt.js":89,"./lv":90,"./lv.js":90,"./me":91,"./me.js":91,"./mi":92,"./mi.js":92,"./mk":93,"./mk.js":93,"./ml":94,"./ml.js":94,"./mr":95,"./mr.js":95,"./ms":96,"./ms-my":97,"./ms-my.js":97,"./ms.js":96,"./mt":98,"./mt.js":98,"./my":99,"./my.js":99,"./nb":100,"./nb.js":100,"./ne":101,"./ne.js":101,"./nl":102,"./nl-be":103,"./nl-be.js":103,"./nl.js":102,"./nn":104,"./nn.js":104,"./pa-in":105,"./pa-in.js":105,"./pl":106,"./pl.js":106,"./pt":107,"./pt-br":108,"./pt-br.js":108,"./pt.js":107,"./ro":109,"./ro.js":109,"./ru":110,"./ru.js":110,"./sd":111,"./sd.js":111,"./se":112,"./se.js":112,"./si":113,"./si.js":113,"./sk":114,"./sk.js":114,"./sl":115,"./sl.js":115,"./sq":116,"./sq.js":116,"./sr":117,"./sr-cyrl":118,"./sr-cyrl.js":118,"./sr.js":117,"./ss":119,"./ss.js":119,"./sv":120,"./sv.js":120,"./sw":121,"./sw.js":121,"./ta":122,"./ta.js":122,"./te":123,"./te.js":123,"./tet":124,"./tet.js":124,"./tg":125,"./tg.js":125,"./th":126,"./th.js":126,"./tl-ph":127,"./tl-ph.js":127,"./tlh":128,"./tlh.js":128,"./tr":129,"./tr.js":129,"./tzl":130,"./tzl.js":130,"./tzm":131,"./tzm-latn":132,"./tzm-latn.js":132,"./tzm.js":131,"./ug-cn":133,"./ug-cn.js":133,"./uk":134,"./uk.js":134,"./ur":135,"./ur.js":135,"./uz":136,"./uz-latn":137,"./uz-latn.js":137,"./uz.js":136,"./vi":138,"./vi.js":138,"./x-pseudo":139,"./x-pseudo.js":139,"./yo":140,"./yo.js":140,"./zh-cn":141,"./zh-cn.js":141,"./zh-hk":142,"./zh-hk.js":142,"./zh-tw":143,"./zh-tw.js":143};function r(e){var t=o(e);return n(t)}function o(e){if(!n.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}r.keys=function(){return Object.keys(a)},r.resolve=o,e.exports=r,r.id=250},function(e,t,n){!function(e){"use strict"; -//! moment.js locale configuration -e.defineLocale("af",{months:"Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des".split("_"),weekdays:"Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag".split("_"),weekdaysShort:"Son_Maa_Din_Woe_Don_Vry_Sat".split("_"),weekdaysMin:"So_Ma_Di_Wo_Do_Vr_Sa".split("_"),meridiemParse:/vm|nm/i,isPM:function(e){return/^nm$/i.test(e)},meridiem:function(e,t,n){return e<12?n?"vm":"VM":n?"nm":"NM"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Vandag om] LT",nextDay:"[Môre om] LT",nextWeek:"dddd [om] LT",lastDay:"[Gister om] LT",lastWeek:"[Laas] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oor %s",past:"%s gelede",s:"'n paar sekondes",ss:"%d sekondes",m:"'n minuut",mm:"%d minute",h:"'n uur",hh:"%d ure",d:"'n dag",dd:"%d dae",M:"'n maand",MM:"%d maande",y:"'n jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1,doy:4}}), -//! moment.js locale configuration -e.defineLocale("ar-dz",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"أح_إث_ثلا_أر_خم_جم_سب".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:4}}), -//! moment.js locale configuration -e.defineLocale("ar-kw",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:0,doy:12}}); -//! moment.js locale configuration -var t={1:"1",2:"2",3:"3",4:"4",5:"5",6:"6",7:"7",8:"8",9:"9",0:"0"},n=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},a={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},r=function(e){return function(t,r,o,i){var s=n(t),u=a[e][n(t)];return 2===s&&(u=u[r?0:1]),u.replace(/%d/i,t)}},o=["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"];e.defineLocale("ar-ly",{months:o,monthsShort:o,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(e){return"م"===e},meridiem:function(e,t,n){return e<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:r("s"),ss:r("s"),m:r("m"),mm:r("m"),h:r("h"),hh:r("h"),d:r("d"),dd:r("d"),M:r("M"),MM:r("M"),y:r("y"),yy:r("y")},preparse:function(e){return e.replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,(function(e){return t[e]})).replace(/,/g,"،")},week:{dow:6,doy:12}}), -//! moment.js locale configuration -e.defineLocale("ar-ma",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:6,doy:12}}); -//! moment.js locale configuration -var i={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},s={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"};e.defineLocale("ar-sa",{months:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(e){return"م"===e},meridiem:function(e,t,n){return e<12?"ص":"م"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},preparse:function(e){return e.replace(/[١٢٣٤٥٦٧٨٩٠]/g,(function(e){return s[e]})).replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,(function(e){return i[e]})).replace(/,/g,"،")},week:{dow:0,doy:6}}), -//! moment.js locale configuration -e.defineLocale("ar-tn",{months:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),monthsShort:"جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",ss:"%d ثانية",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:1,doy:4}}); -//! moment.js locale configuration -var u={1:"١",2:"٢",3:"٣",4:"٤",5:"٥",6:"٦",7:"٧",8:"٨",9:"٩",0:"٠"},d={"١":"1","٢":"2","٣":"3","٤":"4","٥":"5","٦":"6","٧":"7","٨":"8","٩":"9","٠":"0"},l=function(e){return 0===e?0:1===e?1:2===e?2:e%100>=3&&e%100<=10?3:e%100>=11?4:5},m={s:["أقل من ثانية","ثانية واحدة",["ثانيتان","ثانيتين"],"%d ثوان","%d ثانية","%d ثانية"],m:["أقل من دقيقة","دقيقة واحدة",["دقيقتان","دقيقتين"],"%d دقائق","%d دقيقة","%d دقيقة"],h:["أقل من ساعة","ساعة واحدة",["ساعتان","ساعتين"],"%d ساعات","%d ساعة","%d ساعة"],d:["أقل من يوم","يوم واحد",["يومان","يومين"],"%d أيام","%d يومًا","%d يوم"],M:["أقل من شهر","شهر واحد",["شهران","شهرين"],"%d أشهر","%d شهرا","%d شهر"],y:["أقل من عام","عام واحد",["عامان","عامين"],"%d أعوام","%d عامًا","%d عام"]},_=function(e){return function(t,n,a,r){var o=l(t),i=m[e][l(t)];return 2===o&&(i=i[n?0:1]),i.replace(/%d/i,t)}},c=["يناير","فبراير","مارس","أبريل","مايو","يونيو","يوليو","أغسطس","سبتمبر","أكتوبر","نوفمبر","ديسمبر"];e.defineLocale("ar",{months:c,monthsShort:c,weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/‏M/‏YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/ص|م/,isPM:function(e){return"م"===e},meridiem:function(e,t,n){return e<12?"ص":"م"},calendar:{sameDay:"[اليوم عند الساعة] LT",nextDay:"[غدًا عند الساعة] LT",nextWeek:"dddd [عند الساعة] LT",lastDay:"[أمس عند الساعة] LT",lastWeek:"dddd [عند الساعة] LT",sameElse:"L"},relativeTime:{future:"بعد %s",past:"منذ %s",s:_("s"),ss:_("s"),m:_("m"),mm:_("m"),h:_("h"),hh:_("h"),d:_("d"),dd:_("d"),M:_("M"),MM:_("M"),y:_("y"),yy:_("y")},preparse:function(e){return e.replace(/[١٢٣٤٥٦٧٨٩٠]/g,(function(e){return d[e]})).replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,(function(e){return u[e]})).replace(/,/g,"،")},week:{dow:6,doy:12}}); -//! moment.js locale configuration -var h={1:"-inci",5:"-inci",8:"-inci",70:"-inci",80:"-inci",2:"-nci",7:"-nci",20:"-nci",50:"-nci",3:"-üncü",4:"-üncü",100:"-üncü",6:"-ncı",9:"-uncu",10:"-uncu",30:"-uncu",60:"-ıncı",90:"-ıncı"};function p(e,t,n){return"m"===n?t?"хвіліна":"хвіліну":"h"===n?t?"гадзіна":"гадзіну":e+" "+ -//! moment.js locale configuration -function(e,t){var n=e.split("_");return t%10==1&&t%100!=11?n[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}({ss:t?"секунда_секунды_секунд":"секунду_секунды_секунд",mm:t?"хвіліна_хвіліны_хвілін":"хвіліну_хвіліны_хвілін",hh:t?"гадзіна_гадзіны_гадзін":"гадзіну_гадзіны_гадзін",dd:"дзень_дні_дзён",MM:"месяц_месяцы_месяцаў",yy:"год_гады_гадоў"}[n],+e)}e.defineLocale("az",{months:"yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr".split("_"),monthsShort:"yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek".split("_"),weekdays:"Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə".split("_"),weekdaysShort:"Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən".split("_"),weekdaysMin:"Bz_BE_ÇA_Çə_CA_Cü_Şə".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[sabah saat] LT",nextWeek:"[gələn həftə] dddd [saat] LT",lastDay:"[dünən] LT",lastWeek:"[keçən həftə] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s əvvəl",s:"birneçə saniyyə",ss:"%d saniyə",m:"bir dəqiqə",mm:"%d dəqiqə",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir il",yy:"%d il"},meridiemParse:/gecə|səhər|gündüz|axşam/,isPM:function(e){return/^(gündüz|axşam)$/.test(e)},meridiem:function(e,t,n){return e<4?"gecə":e<12?"səhər":e<17?"gündüz":"axşam"},dayOfMonthOrdinalParse:/\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,ordinal:function(e){if(0===e)return e+"-ıncı";var t=e%10;return e+(h[t]||h[e%100-t]||h[e>=100?100:null])},week:{dow:1,doy:7}}),e.defineLocale("be",{months:{format:"студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня".split("_"),standalone:"студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань".split("_")},monthsShort:"студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж".split("_"),weekdays:{format:"нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу".split("_"),standalone:"нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота".split("_"),isFormat:/\[ ?[Вв] ?(?:мінулую|наступную)? ?\] ?dddd/},weekdaysShort:"нд_пн_ат_ср_чц_пт_сб".split("_"),weekdaysMin:"нд_пн_ат_ср_чц_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., HH:mm",LLLL:"dddd, D MMMM YYYY г., HH:mm"},calendar:{sameDay:"[Сёння ў] LT",nextDay:"[Заўтра ў] LT",lastDay:"[Учора ў] LT",nextWeek:function(){return"[У] dddd [ў] LT"},lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return"[У мінулую] dddd [ў] LT";case 1:case 2:case 4:return"[У мінулы] dddd [ў] LT"}},sameElse:"L"},relativeTime:{future:"праз %s",past:"%s таму",s:"некалькі секунд",m:p,mm:p,h:p,hh:p,d:"дзень",dd:p,M:"месяц",MM:p,y:"год",yy:p},meridiemParse:/ночы|раніцы|дня|вечара/,isPM:function(e){return/^(дня|вечара)$/.test(e)},meridiem:function(e,t,n){return e<4?"ночы":e<12?"раніцы":e<17?"дня":"вечара"},dayOfMonthOrdinalParse:/\d{1,2}-(і|ы|га)/,ordinal:function(e,t){switch(t){case"M":case"d":case"DDD":case"w":case"W":return e%10!=2&&e%10!=3||e%100==12||e%100==13?e+"-ы":e+"-і";case"D":return e+"-га";default:return e}},week:{dow:1,doy:7}}), -//! moment.js locale configuration -e.defineLocale("bg",{months:"януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември".split("_"),monthsShort:"янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек".split("_"),weekdays:"неделя_понеделник_вторник_сряда_четвъртък_петък_събота".split("_"),weekdaysShort:"нед_пон_вто_сря_чет_пет_съб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Днес в] LT",nextDay:"[Утре в] LT",nextWeek:"dddd [в] LT",lastDay:"[Вчера в] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[В изминалата] dddd [в] LT";case 1:case 2:case 4:case 5:return"[В изминалия] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"след %s",past:"преди %s",s:"няколко секунди",ss:"%d секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дни",M:"месец",MM:"%d месеца",y:"година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(e){var t=e%10,n=e%100;return 0===e?e+"-ев":0===n?e+"-ен":n>10&&n<20?e+"-ти":1===t?e+"-ви":2===t?e+"-ри":7===t||8===t?e+"-ми":e+"-ти"},week:{dow:1,doy:7}}), -//! moment.js locale configuration -e.defineLocale("bm",{months:"Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo".split("_"),monthsShort:"Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des".split("_"),weekdays:"Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri".split("_"),weekdaysShort:"Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib".split("_"),weekdaysMin:"Ka_Nt_Ta_Ar_Al_Ju_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"MMMM [tile] D [san] YYYY",LLL:"MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm",LLLL:"dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm"},calendar:{sameDay:"[Bi lɛrɛ] LT",nextDay:"[Sini lɛrɛ] LT",nextWeek:"dddd [don lɛrɛ] LT",lastDay:"[Kunu lɛrɛ] LT",lastWeek:"dddd [tɛmɛnen lɛrɛ] LT",sameElse:"L"},relativeTime:{future:"%s kɔnɔ",past:"a bɛ %s bɔ",s:"sanga dama dama",ss:"sekondi %d",m:"miniti kelen",mm:"miniti %d",h:"lɛrɛ kelen",hh:"lɛrɛ %d",d:"tile kelen",dd:"tile %d",M:"kalo kelen",MM:"kalo %d",y:"san kelen",yy:"san %d"},week:{dow:1,doy:4}}); -//! moment.js locale configuration -var f={1:"১",2:"২",3:"৩",4:"৪",5:"৫",6:"৬",7:"৭",8:"৮",9:"৯",0:"০"},y={"১":"1","২":"2","৩":"3","৪":"4","৫":"5","৬":"6","৭":"7","৮":"8","৯":"9","০":"0"};e.defineLocale("bn",{months:"জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর".split("_"),monthsShort:"জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে".split("_"),weekdays:"রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার".split("_"),weekdaysShort:"রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি".split("_"),weekdaysMin:"রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি".split("_"),longDateFormat:{LT:"A h:mm সময়",LTS:"A h:mm:ss সময়",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm সময়",LLLL:"dddd, D MMMM YYYY, A h:mm সময়"},calendar:{sameDay:"[আজ] LT",nextDay:"[আগামীকাল] LT",nextWeek:"dddd, LT",lastDay:"[গতকাল] LT",lastWeek:"[গত] dddd, LT",sameElse:"L"},relativeTime:{future:"%s পরে",past:"%s আগে",s:"কয়েক সেকেন্ড",ss:"%d সেকেন্ড",m:"এক মিনিট",mm:"%d মিনিট",h:"এক ঘন্টা",hh:"%d ঘন্টা",d:"এক দিন",dd:"%d দিন",M:"এক মাস",MM:"%d মাস",y:"এক বছর",yy:"%d বছর"},preparse:function(e){return e.replace(/[১২৩৪৫৬৭৮৯০]/g,(function(e){return y[e]}))},postformat:function(e){return e.replace(/\d/g,(function(e){return f[e]}))},meridiemParse:/রাত|সকাল|দুপুর|বিকাল|রাত/,meridiemHour:function(e,t){return 12===e&&(e=0),"রাত"===t&&e>=4||"দুপুর"===t&&e<5||"বিকাল"===t?e+12:e},meridiem:function(e,t,n){return e<4?"রাত":e<10?"সকাল":e<17?"দুপুর":e<20?"বিকাল":"রাত"},week:{dow:0,doy:6}}); -//! moment.js locale configuration -var g={1:"༡",2:"༢",3:"༣",4:"༤",5:"༥",6:"༦",7:"༧",8:"༨",9:"༩",0:"༠"},v={"༡":"1","༢":"2","༣":"3","༤":"4","༥":"5","༦":"6","༧":"7","༨":"8","༩":"9","༠":"0"}; -//! moment.js locale configuration -function M(e,t,n){return e+" "+function(e,t){return 2===t?function(e){var t={m:"v",b:"v",d:"z"};return void 0===t[e.charAt(0)]?e:t[e.charAt(0)]+e.substring(1)}(e):e}({mm:"munutenn",MM:"miz",dd:"devezh"}[n],e)} -//! moment.js locale configuration -function k(e,t,n){var a=e+" ";switch(n){case"ss":return a+=1===e?"sekunda":2===e||3===e||4===e?"sekunde":"sekundi";case"m":return t?"jedna minuta":"jedne minute";case"mm":return a+=1===e?"minuta":2===e||3===e||4===e?"minute":"minuta";case"h":return t?"jedan sat":"jednog sata";case"hh":return a+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return a+=1===e?"dan":"dana";case"MM":return a+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return a+=1===e?"godina":2===e||3===e||4===e?"godine":"godina"}}e.defineLocale("bo",{months:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),monthsShort:"ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ".split("_"),weekdays:"གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་".split("_"),weekdaysShort:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),weekdaysMin:"ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[དི་རིང] LT",nextDay:"[སང་ཉིན] LT",nextWeek:"[བདུན་ཕྲག་རྗེས་མ], LT",lastDay:"[ཁ་སང] LT",lastWeek:"[བདུན་ཕྲག་མཐའ་མ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ལ་",past:"%s སྔན་ལ",s:"ལམ་སང",ss:"%d སྐར་ཆ།",m:"སྐར་མ་གཅིག",mm:"%d སྐར་མ",h:"ཆུ་ཚོད་གཅིག",hh:"%d ཆུ་ཚོད",d:"ཉིན་གཅིག",dd:"%d ཉིན་",M:"ཟླ་བ་གཅིག",MM:"%d ཟླ་བ",y:"ལོ་གཅིག",yy:"%d ལོ"},preparse:function(e){return e.replace(/[༡༢༣༤༥༦༧༨༩༠]/g,(function(e){return v[e]}))},postformat:function(e){return e.replace(/\d/g,(function(e){return g[e]}))},meridiemParse:/མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,meridiemHour:function(e,t){return 12===e&&(e=0),"མཚན་མོ"===t&&e>=4||"ཉིན་གུང"===t&&e<5||"དགོང་དག"===t?e+12:e},meridiem:function(e,t,n){return e<4?"མཚན་མོ":e<10?"ཞོགས་ཀས":e<17?"ཉིན་གུང":e<20?"དགོང་དག":"མཚན་མོ"},week:{dow:0,doy:6}}),e.defineLocale("br",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h[e]mm A",LTS:"h[e]mm:ss A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY h[e]mm A",LLLL:"dddd, D [a viz] MMMM YYYY h[e]mm A"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s 'zo",s:"un nebeud segondennoù",ss:"%d eilenn",m:"ur vunutenn",mm:M,h:"un eur",hh:"%d eur",d:"un devezh",dd:M,M:"ur miz",MM:M,y:"ur bloaz",yy:function(e){switch(function e(t){return t>9?e(t%10):t}(e)){case 1:case 3:case 4:case 5:case 9:return e+" bloaz";default:return e+" vloaz"}}},dayOfMonthOrdinalParse:/\d{1,2}(añ|vet)/,ordinal:function(e){return e+(1===e?"añ":"vet")},week:{dow:1,doy:4}}),e.defineLocale("bs",{months:"januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:k,m:k,mm:k,h:k,hh:k,d:"dan",dd:k,M:"mjesec",MM:k,y:"godinu",yy:k},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}), -//! moment.js locale configuration -e.defineLocale("ca",{months:{standalone:"gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),format:"de gener_de febrer_de març_d'abril_de maig_de juny_de juliol_d'agost_de setembre_d'octubre_de novembre_de desembre".split("_"),isFormat:/D[oD]?(\s)+MMMM/},monthsShort:"gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.".split("_"),monthsParseExact:!0,weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"dg_dl_dt_dc_dj_dv_ds".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [de] YYYY",ll:"D MMM YYYY",LLL:"D MMMM [de] YYYY [a les] H:mm",lll:"D MMM YYYY, H:mm",LLLL:"dddd D MMMM [de] YYYY [a les] H:mm",llll:"ddd D MMM YYYY, H:mm"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[demà a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"d'aquí %s",past:"fa %s",s:"uns segons",ss:"%d segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},dayOfMonthOrdinalParse:/\d{1,2}(r|n|t|è|a)/,ordinal:function(e,t){var n=1===e?"r":2===e?"n":3===e?"r":4===e?"t":"è";return"w"!==t&&"W"!==t||(n="a"),e+n},week:{dow:1,doy:4}}); -//! moment.js locale configuration -var L="leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"),b="led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_");function Y(e){return e>1&&e<5&&1!=~~(e/10)}function w(e,t,n,a){var r=e+" ";switch(n){case"s":return t||a?"pár sekund":"pár sekundami";case"ss":return t||a?r+(Y(e)?"sekundy":"sekund"):r+"sekundami";case"m":return t?"minuta":a?"minutu":"minutou";case"mm":return t||a?r+(Y(e)?"minuty":"minut"):r+"minutami";case"h":return t?"hodina":a?"hodinu":"hodinou";case"hh":return t||a?r+(Y(e)?"hodiny":"hodin"):r+"hodinami";case"d":return t||a?"den":"dnem";case"dd":return t||a?r+(Y(e)?"dny":"dní"):r+"dny";case"M":return t||a?"měsíc":"měsícem";case"MM":return t||a?r+(Y(e)?"měsíce":"měsíců"):r+"měsíci";case"y":return t||a?"rok":"rokem";case"yy":return t||a?r+(Y(e)?"roky":"let"):r+"lety"}} -//! moment.js locale configuration -function D(e,t,n,a){var r={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return t?r[n][0]:r[n][1]} -//! moment.js locale configuration -function T(e,t,n,a){var r={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return t?r[n][0]:r[n][1]} -//! moment.js locale configuration -function j(e,t,n,a){var r={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[e+" Tage",e+" Tagen"],M:["ein Monat","einem Monat"],MM:[e+" Monate",e+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[e+" Jahre",e+" Jahren"]};return t?r[n][0]:r[n][1]}e.defineLocale("cs",{months:L,monthsShort:b,monthsParse:function(e,t){var n,a=[];for(n=0;n<12;n++)a[n]=new RegExp("^"+e[n]+"$|^"+t[n]+"$","i");return a}(L,b),shortMonthsParse:function(e){var t,n=[];for(t=0;t<12;t++)n[t]=new RegExp("^"+e[t]+"$","i");return n}(b),longMonthsParse:function(e){var t,n=[];for(t=0;t<12;t++)n[t]=new RegExp("^"+e[t]+"$","i");return n}(L),weekdays:"neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"),weekdaysShort:"ne_po_út_st_čt_pá_so".split("_"),weekdaysMin:"ne_po_út_st_čt_pá_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm",l:"D. M. YYYY"},calendar:{sameDay:"[dnes v] LT",nextDay:"[zítra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v neděli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve středu v] LT";case 4:return"[ve čtvrtek v] LT";case 5:return"[v pátek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[včera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou neděli v] LT";case 1:case 2:return"[minulé] dddd [v] LT";case 3:return"[minulou středu v] LT";case 4:case 5:return"[minulý] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"před %s",s:w,ss:w,m:w,mm:w,h:w,hh:w,d:w,dd:w,M:w,MM:w,y:w,yy:w},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}), -//! moment.js locale configuration -e.defineLocale("cv",{months:"кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав".split("_"),monthsShort:"кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш".split("_"),weekdays:"вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун".split("_"),weekdaysShort:"выр_тун_ытл_юн_кӗҫ_эрн_шӑм".split("_"),weekdaysMin:"вр_тн_ыт_юн_кҫ_эр_шм".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]",LLL:"YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm",LLLL:"dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm"},calendar:{sameDay:"[Паян] LT [сехетре]",nextDay:"[Ыран] LT [сехетре]",lastDay:"[Ӗнер] LT [сехетре]",nextWeek:"[Ҫитес] dddd LT [сехетре]",lastWeek:"[Иртнӗ] dddd LT [сехетре]",sameElse:"L"},relativeTime:{future:function(e){return e+(/сехет$/i.exec(e)?"рен":/ҫул$/i.exec(e)?"тан":"ран")},past:"%s каялла",s:"пӗр-ик ҫеккунт",ss:"%d ҫеккунт",m:"пӗр минут",mm:"%d минут",h:"пӗр сехет",hh:"%d сехет",d:"пӗр кун",dd:"%d кун",M:"пӗр уйӑх",MM:"%d уйӑх",y:"пӗр ҫул",yy:"%d ҫул"},dayOfMonthOrdinalParse:/\d{1,2}-мӗш/,ordinal:"%d-мӗш",week:{dow:1,doy:7}}), -//! moment.js locale configuration -e.defineLocale("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn ôl",s:"ychydig eiliadau",ss:"%d eiliad",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},dayOfMonthOrdinalParse:/\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,ordinal:function(e){var t="";return e>20?t=40===e||50===e||60===e||80===e||100===e?"fed":"ain":e>0&&(t=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"][e]),e+t},week:{dow:1,doy:4}}), -//! moment.js locale configuration -e.defineLocale("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tir_ons_tor_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd [d.] D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"på dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[i] dddd[s kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"få sekunder",ss:"%d sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en måned",MM:"%d måneder",y:"et år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("de-at",{months:"Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:D,mm:"%d Minuten",h:D,hh:"%d Stunden",d:D,dd:D,M:D,MM:D,y:D,yy:D},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("de-ch",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:T,mm:"%d Minuten",h:T,hh:"%d Stunden",d:T,dd:T,M:T,MM:T,y:T,yy:T},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY HH:mm",LLLL:"dddd, D. MMMM YYYY HH:mm"},calendar:{sameDay:"[heute um] LT [Uhr]",sameElse:"L",nextDay:"[morgen um] LT [Uhr]",nextWeek:"dddd [um] LT [Uhr]",lastDay:"[gestern um] LT [Uhr]",lastWeek:"[letzten] dddd [um] LT [Uhr]"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",ss:"%d Sekunden",m:j,mm:"%d Minuten",h:j,hh:"%d Stunden",d:j,dd:j,M:j,MM:j,y:j,yy:j},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}); -//! moment.js locale configuration -var S=["ޖެނުއަރީ","ފެބްރުއަރީ","މާރިޗު","އޭޕްރީލު","މޭ","ޖޫން","ޖުލައި","އޯގަސްޓު","ސެޕްޓެމްބަރު","އޮކްޓޯބަރު","ނޮވެމްބަރު","ޑިސެމްބަރު"],H=["އާދިއްތަ","ހޯމަ","އަންގާރަ","ބުދަ","ބުރާސްފަތި","ހުކުރު","ހޮނިހިރު"];e.defineLocale("dv",{months:S,monthsShort:S,weekdays:H,weekdaysShort:H,weekdaysMin:"އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"D/M/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},meridiemParse:/މކ|މފ/,isPM:function(e){return"މފ"===e},meridiem:function(e,t,n){return e<12?"މކ":"މފ"},calendar:{sameDay:"[މިއަދު] LT",nextDay:"[މާދަމާ] LT",nextWeek:"dddd LT",lastDay:"[އިއްޔެ] LT",lastWeek:"[ފާއިތުވި] dddd LT",sameElse:"L"},relativeTime:{future:"ތެރޭގައި %s",past:"ކުރިން %s",s:"ސިކުންތުކޮޅެއް",ss:"d% ސިކުންތު",m:"މިނިޓެއް",mm:"މިނިޓު %d",h:"ގަޑިއިރެއް",hh:"ގަޑިއިރު %d",d:"ދުވަހެއް",dd:"ދުވަސް %d",M:"މަހެއް",MM:"މަސް %d",y:"އަހަރެއް",yy:"އަހަރު %d"},preparse:function(e){return e.replace(/،/g,",")},postformat:function(e){return e.replace(/,/g,"،")},week:{dow:7,doy:12}}), -//! moment.js locale configuration -e.defineLocale("el",{monthsNominativeEl:"Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"),monthsGenitiveEl:"Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου".split("_"),months:function(e,t){return e?"string"==typeof t&&/D/.test(t.substring(0,t.indexOf("MMMM")))?this._monthsGenitiveEl[e.month()]:this._monthsNominativeEl[e.month()]:this._monthsNominativeEl},monthsShort:"Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ".split("_"),weekdays:"Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο".split("_"),weekdaysShort:"Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ".split("_"),weekdaysMin:"Κυ_Δε_Τρ_Τε_Πε_Πα_Σα".split("_"),meridiem:function(e,t,n){return e>11?n?"μμ":"ΜΜ":n?"πμ":"ΠΜ"},isPM:function(e){return"μ"===(e+"").toLowerCase()[0]},meridiemParse:/[ΠΜ]\.?Μ?\.?/i,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendarEl:{sameDay:"[Σήμερα {}] LT",nextDay:"[Αύριο {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[Χθες {}] LT",lastWeek:function(){switch(this.day()){case 6:return"[το προηγούμενο] dddd [{}] LT";default:return"[την προηγούμενη] dddd [{}] LT"}},sameElse:"L"},calendar:function(e,t){var n,a=this._calendarEl[e],r=t&&t.hours();return((n=a)instanceof Function||"[object Function]"===Object.prototype.toString.call(n))&&(a=a.apply(t)),a.replace("{}",r%12==1?"στη":"στις")},relativeTime:{future:"σε %s",past:"%s πριν",s:"λίγα δευτερόλεπτα",ss:"%d δευτερόλεπτα",m:"ένα λεπτό",mm:"%d λεπτά",h:"μία ώρα",hh:"%d ώρες",d:"μία μέρα",dd:"%d μέρες",M:"ένας μήνας",MM:"%d μήνες",y:"ένας χρόνος",yy:"%d χρόνια"},dayOfMonthOrdinalParse:/\d{1,2}η/,ordinal:"%dη",week:{dow:1,doy:4}}), -//! moment.js locale configuration -e.defineLocale("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10;return e+(1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")},week:{dow:1,doy:4}}), -//! moment.js locale configuration -e.defineLocale("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"YYYY-MM-DD",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10;return e+(1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")}}), -//! moment.js locale configuration -e.defineLocale("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10;return e+(1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")},week:{dow:1,doy:4}}), -//! moment.js locale configuration -e.defineLocale("en-ie",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10;return e+(1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")},week:{dow:1,doy:4}}), -//! moment.js locale configuration -e.defineLocale("en-il",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10;return e+(1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")}}), -//! moment.js locale configuration -e.defineLocale("en-nz",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10;return e+(1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")},week:{dow:1,doy:4}}), -//! moment.js locale configuration -e.defineLocale("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec".split("_"),weekdays:"dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato".split("_"),weekdaysShort:"dim_lun_mard_merk_ĵaŭ_ven_sab".split("_"),weekdaysMin:"di_lu_ma_me_ĵa_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D[-a de] MMMM, YYYY",LLL:"D[-a de] MMMM, YYYY HH:mm",LLLL:"dddd, [la] D[-a de] MMMM, YYYY HH:mm"},meridiemParse:/[ap]\.t\.m/i,isPM:function(e){return"p"===e.charAt(0).toLowerCase()},meridiem:function(e,t,n){return e>11?n?"p.t.m.":"P.T.M.":n?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodiaŭ je] LT",nextDay:"[Morgaŭ je] LT",nextWeek:"dddd [je] LT",lastDay:"[Hieraŭ je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"post %s",past:"antaŭ %s",s:"sekundoj",ss:"%d sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},dayOfMonthOrdinalParse:/\d{1,2}a/,ordinal:"%da",week:{dow:1,doy:7}}); -//! moment.js locale configuration -var x="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),O="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),E=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],P=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i;e.defineLocale("es-do",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,t){return e?/-MMM-/.test(t)?O[e.month()]:x[e.month()]:x},monthsRegex:P,monthsShortRegex:P,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:E,longMonthsParse:E,shortMonthsParse:E,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY h:mm A",LLLL:"dddd, D [de] MMMM [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}}); -//! moment.js locale configuration -var z="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),C="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_");e.defineLocale("es-us",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,t){return e?/-MMM-/.test(t)?C[e.month()]:z[e.month()]:z},monthsParseExact:!0,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"MM/DD/YYYY",LL:"MMMM [de] D [de] YYYY",LLL:"MMMM [de] D [de] YYYY h:mm A",LLLL:"dddd, MMMM [de] D [de] YYYY h:mm A"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:0,doy:6}}); -//! moment.js locale configuration -var N="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),A="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_"),F=[/^ene/i,/^feb/i,/^mar/i,/^abr/i,/^may/i,/^jun/i,/^jul/i,/^ago/i,/^sep/i,/^oct/i,/^nov/i,/^dic/i],I=/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i; -//! moment.js locale configuration -function W(e,t,n,a){var r={s:["mõne sekundi","mõni sekund","paar sekundit"],ss:[e+"sekundi",e+"sekundit"],m:["ühe minuti","üks minut"],mm:[e+" minuti",e+" minutit"],h:["ühe tunni","tund aega","üks tund"],hh:[e+" tunni",e+" tundi"],d:["ühe päeva","üks päev"],M:["kuu aja","kuu aega","üks kuu"],MM:[e+" kuu",e+" kuud"],y:["ühe aasta","aasta","üks aasta"],yy:[e+" aasta",e+" aastat"]};return t?r[n][2]?r[n][2]:r[n][1]:a?r[n][0]:r[n][1]}e.defineLocale("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(e,t){return e?/-MMM-/.test(t)?A[e.month()]:N[e.month()]:N},monthsRegex:I,monthsShortRegex:I,monthsStrictRegex:/^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,monthsShortStrictRegex:/^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i,monthsParse:F,longMonthsParse:F,shortMonthsParse:F,weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"do_lu_ma_mi_ju_vi_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}}),e.defineLocale("et",{months:"jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[Täna,] LT",nextDay:"[Homme,] LT",nextWeek:"[Järgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s pärast",past:"%s tagasi",s:W,ss:W,m:W,mm:W,h:W,hh:W,d:W,dd:"%d päeva",M:W,MM:W,y:W,yy:W},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}), -//! moment.js locale configuration -e.defineLocale("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),monthsParseExact:!0,weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] HH:mm",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] HH:mm",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] HH:mm",llll:"ddd, YYYY[ko] MMM D[a] HH:mm"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",ss:"%d segundo",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}); -//! moment.js locale configuration -var R={1:"۱",2:"۲",3:"۳",4:"۴",5:"۵",6:"۶",7:"۷",8:"۸",9:"۹",0:"۰"},q={"۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","۰":"0"};e.defineLocale("fa",{months:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),monthsShort:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),weekdays:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysShort:"یک‌شنبه_دوشنبه_سه‌شنبه_چهارشنبه_پنج‌شنبه_جمعه_شنبه".split("_"),weekdaysMin:"ی_د_س_چ_پ_ج_ش".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},meridiemParse:/قبل از ظهر|بعد از ظهر/,isPM:function(e){return/بعد از ظهر/.test(e)},meridiem:function(e,t,n){return e<12?"قبل از ظهر":"بعد از ظهر"},calendar:{sameDay:"[امروز ساعت] LT",nextDay:"[فردا ساعت] LT",nextWeek:"dddd [ساعت] LT",lastDay:"[دیروز ساعت] LT",lastWeek:"dddd [پیش] [ساعت] LT",sameElse:"L"},relativeTime:{future:"در %s",past:"%s پیش",s:"چند ثانیه",ss:"ثانیه d%",m:"یک دقیقه",mm:"%d دقیقه",h:"یک ساعت",hh:"%d ساعت",d:"یک روز",dd:"%d روز",M:"یک ماه",MM:"%d ماه",y:"یک سال",yy:"%d سال"},preparse:function(e){return e.replace(/[۰-۹]/g,(function(e){return q[e]})).replace(/،/g,",")},postformat:function(e){return e.replace(/\d/g,(function(e){return R[e]})).replace(/,/g,"،")},dayOfMonthOrdinalParse:/\d{1,2}م/,ordinal:"%dم",week:{dow:6,doy:12}}); -//! moment.js locale configuration -var V="nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" "),J=["nolla","yhden","kahden","kolmen","neljän","viiden","kuuden",V[7],V[8],V[9]];function Q(e,t,n,a){var r="";switch(n){case"s":return a?"muutaman sekunnin":"muutama sekunti";case"ss":return a?"sekunnin":"sekuntia";case"m":return a?"minuutin":"minuutti";case"mm":r=a?"minuutin":"minuuttia";break;case"h":return a?"tunnin":"tunti";case"hh":r=a?"tunnin":"tuntia";break;case"d":return a?"päivän":"päivä";case"dd":r=a?"päivän":"päivää";break;case"M":return a?"kuukauden":"kuukausi";case"MM":r=a?"kuukauden":"kuukautta";break;case"y":return a?"vuoden":"vuosi";case"yy":r=a?"vuoden":"vuotta"}return r=function(e,t){return e<10?t?J[e]:V[e]:e}(e,a)+" "+r}e.defineLocale("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] HH.mm",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] HH.mm",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] HH.mm",llll:"ddd, Do MMM YYYY, [klo] HH.mm"},calendar:{sameDay:"[tänään] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s päästä",past:"%s sitten",s:Q,ss:Q,m:Q,mm:Q,h:Q,hh:Q,d:Q,dd:Q,M:Q,MM:Q,y:Q,yy:Q},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}), -//! moment.js locale configuration -e.defineLocale("fo",{months:"januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur".split("_"),weekdaysShort:"sun_mán_týs_mik_hós_frí_ley".split("_"),weekdaysMin:"su_má_tý_mi_hó_fr_le".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D. MMMM, YYYY HH:mm"},calendar:{sameDay:"[Í dag kl.] LT",nextDay:"[Í morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[Í gjár kl.] LT",lastWeek:"[síðstu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s síðani",s:"fá sekund",ss:"%d sekundir",m:"ein minutt",mm:"%d minuttir",h:"ein tími",hh:"%d tímar",d:"ein dagur",dd:"%d dagar",M:"ein mánaði",MM:"%d mánaðir",y:"eitt ár",yy:"%d ár"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}), -//! moment.js locale configuration -e.defineLocale("fr-ca",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,t){switch(t){default:case"M":case"Q":case"D":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}}}), -//! moment.js locale configuration -e.defineLocale("fr-ch",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|e)/,ordinal:function(e,t){switch(t){default:case"M":case"Q":case"D":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}}), -//! moment.js locale configuration -e.defineLocale("fr",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),monthsParseExact:!0,weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"di_lu_ma_me_je_ve_sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Aujourd’hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",ss:"%d secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},dayOfMonthOrdinalParse:/\d{1,2}(er|)/,ordinal:function(e,t){switch(t){case"D":return e+(1===e?"er":"");default:case"M":case"Q":case"DDD":case"d":return e+(1===e?"er":"e");case"w":case"W":return e+(1===e?"re":"e")}},week:{dow:1,doy:4}}); -//! moment.js locale configuration -var U="jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.".split("_"),K="jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"); -//! moment.js locale configuration -function B(e,t,n,a){var r={s:["thodde secondanim","thodde second"],ss:[e+" secondanim",e+" second"],m:["eka mintan","ek minute"],mm:[e+" mintanim",e+" mintam"],h:["eka horan","ek hor"],hh:[e+" horanim",e+" hor"],d:["eka disan","ek dis"],dd:[e+" disanim",e+" dis"],M:["eka mhoinean","ek mhoino"],MM:[e+" mhoineanim",e+" mhoine"],y:["eka vorsan","ek voros"],yy:[e+" vorsanim",e+" vorsam"]};return t?r[n][0]:r[n][1]}e.defineLocale("fy",{months:"jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber".split("_"),monthsShort:function(e,t){return e?/-MMM-/.test(t)?K[e.month()]:U[e.month()]:U},monthsParseExact:!0,weekdays:"snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon".split("_"),weekdaysShort:"si._mo._ti._wo._to._fr._so.".split("_"),weekdaysMin:"Si_Mo_Ti_Wo_To_Fr_So".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[hjoed om] LT",nextDay:"[moarn om] LT",nextWeek:"dddd [om] LT",lastDay:"[juster om] LT",lastWeek:"[ôfrûne] dddd [om] LT",sameElse:"L"},relativeTime:{future:"oer %s",past:"%s lyn",s:"in pear sekonden",ss:"%d sekonden",m:"ien minút",mm:"%d minuten",h:"ien oere",hh:"%d oeren",d:"ien dei",dd:"%d dagen",M:"ien moanne",MM:"%d moannen",y:"ien jier",yy:"%d jierren"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1,doy:4}}),e.defineLocale("gd",{months:["Am Faoilleach","An Gearran","Am Màrt","An Giblean","An Cèitean","An t-Ògmhios","An t-Iuchar","An Lùnastal","An t-Sultain","An Dàmhair","An t-Samhain","An Dùbhlachd"],monthsShort:["Faoi","Gear","Màrt","Gibl","Cèit","Ògmh","Iuch","Lùn","Sult","Dàmh","Samh","Dùbh"],monthsParseExact:!0,weekdays:["Didòmhnaich","Diluain","Dimàirt","Diciadain","Diardaoin","Dihaoine","Disathairne"],weekdaysShort:["Did","Dil","Dim","Dic","Dia","Dih","Dis"],weekdaysMin:["Dò","Lu","Mà","Ci","Ar","Ha","Sa"],longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[An-diugh aig] LT",nextDay:"[A-màireach aig] LT",nextWeek:"dddd [aig] LT",lastDay:"[An-dè aig] LT",lastWeek:"dddd [seo chaidh] [aig] LT",sameElse:"L"},relativeTime:{future:"ann an %s",past:"bho chionn %s",s:"beagan diogan",ss:"%d diogan",m:"mionaid",mm:"%d mionaidean",h:"uair",hh:"%d uairean",d:"latha",dd:"%d latha",M:"mìos",MM:"%d mìosan",y:"bliadhna",yy:"%d bliadhna"},dayOfMonthOrdinalParse:/\d{1,2}(d|na|mh)/,ordinal:function(e){return e+(1===e?"d":e%10==2?"na":"mh")},week:{dow:1,doy:4}}), -//! moment.js locale configuration -e.defineLocale("gl",{months:"xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro".split("_"),monthsShort:"xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"domingo_luns_martes_mércores_xoves_venres_sábado".split("_"),weekdaysShort:"dom._lun._mar._mér._xov._ven._sáb.".split("_"),weekdaysMin:"do_lu_ma_mé_xo_ve_sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY H:mm",LLLL:"dddd, D [de] MMMM [de] YYYY H:mm"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"ás":"á")+"] LT"},nextDay:function(){return"[mañá "+(1!==this.hours()?"ás":"á")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"ás":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"á":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"ás":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(e){return 0===e.indexOf("un")?"n"+e:"en "+e},past:"hai %s",s:"uns segundos",ss:"%d segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}}),e.defineLocale("gom-latn",{months:"Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr".split("_"),monthsShort:"Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son'var".split("_"),weekdaysShort:"Ait._Som._Mon._Bud._Bre._Suk._Son.".split("_"),weekdaysMin:"Ai_Sm_Mo_Bu_Br_Su_Sn".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"A h:mm [vazta]",LTS:"A h:mm:ss [vazta]",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY A h:mm [vazta]",LLLL:"dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]",llll:"ddd, D MMM YYYY, A h:mm [vazta]"},calendar:{sameDay:"[Aiz] LT",nextDay:"[Faleam] LT",nextWeek:"[Ieta to] dddd[,] LT",lastDay:"[Kal] LT",lastWeek:"[Fatlo] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%s",past:"%s adim",s:B,ss:B,m:B,mm:B,h:B,hh:B,d:B,dd:B,M:B,MM:B,y:B,yy:B},dayOfMonthOrdinalParse:/\d{1,2}(er)/,ordinal:function(e,t){switch(t){case"D":return e+"er";default:case"M":case"Q":case"DDD":case"d":case"w":case"W":return e}},week:{dow:1,doy:4},meridiemParse:/rati|sokalli|donparam|sanje/,meridiemHour:function(e,t){return 12===e&&(e=0),"rati"===t?e<4?e:e+12:"sokalli"===t?e:"donparam"===t?e>12?e:e+12:"sanje"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"rati":e<12?"sokalli":e<16?"donparam":e<20?"sanje":"rati"}}); -//! moment.js locale configuration -var G={1:"૧",2:"૨",3:"૩",4:"૪",5:"૫",6:"૬",7:"૭",8:"૮",9:"૯",0:"૦"},$={"૧":"1","૨":"2","૩":"3","૪":"4","૫":"5","૬":"6","૭":"7","૮":"8","૯":"9","૦":"0"};e.defineLocale("gu",{months:"જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર".split("_"),monthsShort:"જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.".split("_"),monthsParseExact:!0,weekdays:"રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર".split("_"),weekdaysShort:"રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ".split("_"),weekdaysMin:"ર_સો_મં_બુ_ગુ_શુ_શ".split("_"),longDateFormat:{LT:"A h:mm વાગ્યે",LTS:"A h:mm:ss વાગ્યે",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm વાગ્યે",LLLL:"dddd, D MMMM YYYY, A h:mm વાગ્યે"},calendar:{sameDay:"[આજ] LT",nextDay:"[કાલે] LT",nextWeek:"dddd, LT",lastDay:"[ગઇકાલે] LT",lastWeek:"[પાછલા] dddd, LT",sameElse:"L"},relativeTime:{future:"%s મા",past:"%s પેહલા",s:"અમુક પળો",ss:"%d સેકંડ",m:"એક મિનિટ",mm:"%d મિનિટ",h:"એક કલાક",hh:"%d કલાક",d:"એક દિવસ",dd:"%d દિવસ",M:"એક મહિનો",MM:"%d મહિનો",y:"એક વર્ષ",yy:"%d વર્ષ"},preparse:function(e){return e.replace(/[૧૨૩૪૫૬૭૮૯૦]/g,(function(e){return $[e]}))},postformat:function(e){return e.replace(/\d/g,(function(e){return G[e]}))},meridiemParse:/રાત|બપોર|સવાર|સાંજ/,meridiemHour:function(e,t){return 12===e&&(e=0),"રાત"===t?e<4?e:e+12:"સવાર"===t?e:"બપોર"===t?e>=10?e:e+12:"સાંજ"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"રાત":e<10?"સવાર":e<17?"બપોર":e<20?"સાંજ":"રાત"},week:{dow:0,doy:6}}), -//! moment.js locale configuration -e.defineLocale("he",{months:"ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר".split("_"),monthsShort:"ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳".split("_"),weekdays:"ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת".split("_"),weekdaysShort:"א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳".split("_"),weekdaysMin:"א_ב_ג_ד_ה_ו_ש".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [ב]MMMM YYYY",LLL:"D [ב]MMMM YYYY HH:mm",LLLL:"dddd, D [ב]MMMM YYYY HH:mm",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[היום ב־]LT",nextDay:"[מחר ב־]LT",nextWeek:"dddd [בשעה] LT",lastDay:"[אתמול ב־]LT",lastWeek:"[ביום] dddd [האחרון בשעה] LT",sameElse:"L"},relativeTime:{future:"בעוד %s",past:"לפני %s",s:"מספר שניות",ss:"%d שניות",m:"דקה",mm:"%d דקות",h:"שעה",hh:function(e){return 2===e?"שעתיים":e+" שעות"},d:"יום",dd:function(e){return 2===e?"יומיים":e+" ימים"},M:"חודש",MM:function(e){return 2===e?"חודשיים":e+" חודשים"},y:"שנה",yy:function(e){return 2===e?"שנתיים":e%10==0&&10!==e?e+" שנה":e+" שנים"}},meridiemParse:/אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,isPM:function(e){return/^(אחה"צ|אחרי הצהריים|בערב)$/.test(e)},meridiem:function(e,t,n){return e<5?"לפנות בוקר":e<10?"בבוקר":e<12?n?'לפנה"צ':"לפני הצהריים":e<18?n?'אחה"צ':"אחרי הצהריים":"בערב"}}); -//! moment.js locale configuration -var Z={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},X={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"}; -//! moment.js locale configuration -function ee(e,t,n){var a=e+" ";switch(n){case"ss":return a+=1===e?"sekunda":2===e||3===e||4===e?"sekunde":"sekundi";case"m":return t?"jedna minuta":"jedne minute";case"mm":return a+=1===e?"minuta":2===e||3===e||4===e?"minute":"minuta";case"h":return t?"jedan sat":"jednog sata";case"hh":return a+=1===e?"sat":2===e||3===e||4===e?"sata":"sati";case"dd":return a+=1===e?"dan":"dana";case"MM":return a+=1===e?"mjesec":2===e||3===e||4===e?"mjeseca":"mjeseci";case"yy":return a+=1===e?"godina":2===e||3===e||4===e?"godine":"godina"}}e.defineLocale("hi",{months:"जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर".split("_"),monthsShort:"जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm बजे",LTS:"A h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm बजे",LLLL:"dddd, D MMMM YYYY, A h:mm बजे"},calendar:{sameDay:"[आज] LT",nextDay:"[कल] LT",nextWeek:"dddd, LT",lastDay:"[कल] LT",lastWeek:"[पिछले] dddd, LT",sameElse:"L"},relativeTime:{future:"%s में",past:"%s पहले",s:"कुछ ही क्षण",ss:"%d सेकंड",m:"एक मिनट",mm:"%d मिनट",h:"एक घंटा",hh:"%d घंटे",d:"एक दिन",dd:"%d दिन",M:"एक महीने",MM:"%d महीने",y:"एक वर्ष",yy:"%d वर्ष"},preparse:function(e){return e.replace(/[१२३४५६७८९०]/g,(function(e){return X[e]}))},postformat:function(e){return e.replace(/\d/g,(function(e){return Z[e]}))},meridiemParse:/रात|सुबह|दोपहर|शाम/,meridiemHour:function(e,t){return 12===e&&(e=0),"रात"===t?e<4?e:e+12:"सुबह"===t?e:"दोपहर"===t?e>=10?e:e+12:"शाम"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"रात":e<10?"सुबह":e<17?"दोपहर":e<20?"शाम":"रात"},week:{dow:0,doy:6}}),e.defineLocale("hr",{months:{format:"siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca".split("_"),standalone:"siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_")},monthsShort:"sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",ss:ee,m:ee,mm:ee,h:ee,hh:ee,d:"dan",dd:ee,M:"mjesec",MM:ee,y:"godinu",yy:ee},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}); -//! moment.js locale configuration -var te="vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton".split(" ");function ne(e,t,n,a){var r=e;switch(n){case"s":return a||t?"néhány másodperc":"néhány másodperce";case"ss":return r+(a||t)?" másodperc":" másodperce";case"m":return"egy"+(a||t?" perc":" perce");case"mm":return r+(a||t?" perc":" perce");case"h":return"egy"+(a||t?" óra":" órája");case"hh":return r+(a||t?" óra":" órája");case"d":return"egy"+(a||t?" nap":" napja");case"dd":return r+(a||t?" nap":" napja");case"M":return"egy"+(a||t?" hónap":" hónapja");case"MM":return r+(a||t?" hónap":" hónapja");case"y":return"egy"+(a||t?" év":" éve");case"yy":return r+(a||t?" év":" éve")}return""}function ae(e){return(e?"":"[múlt] ")+"["+te[this.day()]+"] LT[-kor]"} -//! moment.js locale configuration -function re(e){return e%100==11||e%10!=1}function oe(e,t,n,a){var r=e+" ";switch(n){case"s":return t||a?"nokkrar sekúndur":"nokkrum sekúndum";case"ss":return re(e)?r+(t||a?"sekúndur":"sekúndum"):r+"sekúnda";case"m":return t?"mínúta":"mínútu";case"mm":return re(e)?r+(t||a?"mínútur":"mínútum"):t?r+"mínúta":r+"mínútu";case"hh":return re(e)?r+(t||a?"klukkustundir":"klukkustundum"):r+"klukkustund";case"d":return t?"dagur":a?"dag":"degi";case"dd":return re(e)?t?r+"dagar":r+(a?"daga":"dögum"):t?r+"dagur":r+(a?"dag":"degi");case"M":return t?"mánuður":a?"mánuð":"mánuði";case"MM":return re(e)?t?r+"mánuðir":r+(a?"mánuði":"mánuðum"):t?r+"mánuður":r+(a?"mánuð":"mánuði");case"y":return t||a?"ár":"ári";case"yy":return re(e)?r+(t||a?"ár":"árum"):r+(t||a?"ár":"ári")}}e.defineLocale("hu",{months:"január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"),monthsShort:"jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec".split("_"),weekdays:"vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat".split("_"),weekdaysShort:"vas_hét_kedd_sze_csüt_pén_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D. H:mm",LLLL:"YYYY. MMMM D., dddd H:mm"},meridiemParse:/de|du/i,isPM:function(e){return"u"===e.charAt(1).toLowerCase()},meridiem:function(e,t,n){return e<12?!0===n?"de":"DE":!0===n?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return ae.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return ae.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s múlva",past:"%s",s:ne,ss:ne,m:ne,mm:ne,h:ne,hh:ne,d:ne,dd:ne,M:ne,MM:ne,y:ne,yy:ne},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}), -//! moment.js locale configuration -e.defineLocale("hy-am",{months:{format:"հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի".split("_"),standalone:"հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր".split("_")},monthsShort:"հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ".split("_"),weekdays:"կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ".split("_"),weekdaysShort:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),weekdaysMin:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY թ.",LLL:"D MMMM YYYY թ., HH:mm",LLLL:"dddd, D MMMM YYYY թ., HH:mm"},calendar:{sameDay:"[այսօր] LT",nextDay:"[վաղը] LT",lastDay:"[երեկ] LT",nextWeek:function(){return"dddd [օրը ժամը] LT"},lastWeek:function(){return"[անցած] dddd [օրը ժամը] LT"},sameElse:"L"},relativeTime:{future:"%s հետո",past:"%s առաջ",s:"մի քանի վայրկյան",ss:"%d վայրկյան",m:"րոպե",mm:"%d րոպե",h:"ժամ",hh:"%d ժամ",d:"օր",dd:"%d օր",M:"ամիս",MM:"%d ամիս",y:"տարի",yy:"%d տարի"},meridiemParse:/գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,isPM:function(e){return/^(ցերեկվա|երեկոյան)$/.test(e)},meridiem:function(e){return e<4?"գիշերվա":e<12?"առավոտվա":e<17?"ցերեկվա":"երեկոյան"},dayOfMonthOrdinalParse:/\d{1,2}|\d{1,2}-(ին|րդ)/,ordinal:function(e,t){switch(t){case"DDD":case"w":case"W":case"DDDo":return 1===e?e+"-ին":e+"-րդ";default:return e}},week:{dow:1,doy:7}}), -//! moment.js locale configuration -e.defineLocale("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|siang|sore|malam/,meridiemHour:function(e,t){return 12===e&&(e=0),"pagi"===t?e:"siang"===t?e>=11?e:e+12:"sore"===t||"malam"===t?e+12:void 0},meridiem:function(e,t,n){return e<11?"pagi":e<15?"siang":e<19?"sore":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",ss:"%d detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}),e.defineLocale("is",{months:"janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember".split("_"),monthsShort:"jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des".split("_"),weekdays:"sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur".split("_"),weekdaysShort:"sun_mán_þri_mið_fim_fös_lau".split("_"),weekdaysMin:"Su_Má_Þr_Mi_Fi_Fö_La".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd, D. MMMM YYYY [kl.] H:mm"},calendar:{sameDay:"[í dag kl.] LT",nextDay:"[á morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[í gær kl.] LT",lastWeek:"[síðasta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s síðan",s:oe,ss:oe,m:oe,mm:oe,h:"klukkustund",hh:oe,d:oe,dd:oe,M:oe,MM:oe,y:oe,yy:oe},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}), -//! moment.js locale configuration -e.defineLocale("it",{months:"gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre".split("_"),monthsShort:"gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic".split("_"),weekdays:"domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato".split("_"),weekdaysShort:"dom_lun_mar_mer_gio_ven_sab".split("_"),weekdaysMin:"do_lu_ma_me_gi_ve_sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:function(){switch(this.day()){case 0:return"[la scorsa] dddd [alle] LT";default:return"[lo scorso] dddd [alle] LT"}},sameElse:"L"},relativeTime:{future:function(e){return(/^[0-9].+$/.test(e)?"tra":"in")+" "+e},past:"%s fa",s:"alcuni secondi",ss:"%d secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}}), -//! moment.js locale configuration -e.defineLocale("ja",{months:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"),weekdaysShort:"日_月_火_水_木_金_土".split("_"),weekdaysMin:"日_月_火_水_木_金_土".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日 HH:mm dddd",l:"YYYY/MM/DD",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日 HH:mm dddd"},meridiemParse:/午前|午後/i,isPM:function(e){return"午後"===e},meridiem:function(e,t,n){return e<12?"午前":"午後"},calendar:{sameDay:"[今日] LT",nextDay:"[明日] LT",nextWeek:"[来週]dddd LT",lastDay:"[昨日] LT",lastWeek:"[前週]dddd LT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}日/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"日";default:return e}},relativeTime:{future:"%s後",past:"%s前",s:"数秒",ss:"%d秒",m:"1分",mm:"%d分",h:"1時間",hh:"%d時間",d:"1日",dd:"%d日",M:"1ヶ月",MM:"%dヶ月",y:"1年",yy:"%d年"}}), -//! moment.js locale configuration -e.defineLocale("jv",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des".split("_"),weekdays:"Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu".split("_"),weekdaysShort:"Min_Sen_Sel_Reb_Kem_Jem_Sep".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sp".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/enjing|siyang|sonten|ndalu/,meridiemHour:function(e,t){return 12===e&&(e=0),"enjing"===t?e:"siyang"===t?e>=11?e:e+12:"sonten"===t||"ndalu"===t?e+12:void 0},meridiem:function(e,t,n){return e<11?"enjing":e<15?"siyang":e<19?"sonten":"ndalu"},calendar:{sameDay:"[Dinten puniko pukul] LT",nextDay:"[Mbenjang pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kala wingi pukul] LT",lastWeek:"dddd [kepengker pukul] LT",sameElse:"L"},relativeTime:{future:"wonten ing %s",past:"%s ingkang kepengker",s:"sawetawis detik",ss:"%d detik",m:"setunggal menit",mm:"%d menit",h:"setunggal jam",hh:"%d jam",d:"sedinten",dd:"%d dinten",M:"sewulan",MM:"%d wulan",y:"setaun",yy:"%d taun"},week:{dow:1,doy:7}}), -//! moment.js locale configuration -e.defineLocale("ka",{months:{standalone:"იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი".split("_"),format:"იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს".split("_")},monthsShort:"იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ".split("_"),weekdays:{standalone:"კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი".split("_"),format:"კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს".split("_"),isFormat:/(წინა|შემდეგ)/},weekdaysShort:"კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ".split("_"),weekdaysMin:"კვ_ორ_სა_ოთ_ხუ_პა_შა".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[დღეს] LT[-ზე]",nextDay:"[ხვალ] LT[-ზე]",lastDay:"[გუშინ] LT[-ზე]",nextWeek:"[შემდეგ] dddd LT[-ზე]",lastWeek:"[წინა] dddd LT-ზე",sameElse:"L"},relativeTime:{future:function(e){return/(წამი|წუთი|საათი|წელი)/.test(e)?e.replace(/ი$/,"ში"):e+"ში"},past:function(e){return/(წამი|წუთი|საათი|დღე|თვე)/.test(e)?e.replace(/(ი|ე)$/,"ის უკან"):/წელი/.test(e)?e.replace(/წელი$/,"წლის უკან"):void 0},s:"რამდენიმე წამი",ss:"%d წამი",m:"წუთი",mm:"%d წუთი",h:"საათი",hh:"%d საათი",d:"დღე",dd:"%d დღე",M:"თვე",MM:"%d თვე",y:"წელი",yy:"%d წელი"},dayOfMonthOrdinalParse:/0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,ordinal:function(e){return 0===e?e:1===e?e+"-ლი":e<20||e<=100&&e%20==0||e%100==0?"მე-"+e:e+"-ე"},week:{dow:1,doy:7}}); -//! moment.js locale configuration -var ie={0:"-ші",1:"-ші",2:"-ші",3:"-ші",4:"-ші",5:"-ші",6:"-шы",7:"-ші",8:"-ші",9:"-шы",10:"-шы",20:"-шы",30:"-шы",40:"-шы",50:"-ші",60:"-шы",70:"-ші",80:"-ші",90:"-шы",100:"-ші"};e.defineLocale("kk",{months:"қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан".split("_"),monthsShort:"қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел".split("_"),weekdays:"жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі".split("_"),weekdaysShort:"жек_дүй_сей_сәр_бей_жұм_сен".split("_"),weekdaysMin:"жк_дй_сй_ср_бй_жм_сн".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгін сағат] LT",nextDay:"[Ертең сағат] LT",nextWeek:"dddd [сағат] LT",lastDay:"[Кеше сағат] LT",lastWeek:"[Өткен аптаның] dddd [сағат] LT",sameElse:"L"},relativeTime:{future:"%s ішінде",past:"%s бұрын",s:"бірнеше секунд",ss:"%d секунд",m:"бір минут",mm:"%d минут",h:"бір сағат",hh:"%d сағат",d:"бір күн",dd:"%d күн",M:"бір ай",MM:"%d ай",y:"бір жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(ші|шы)/,ordinal:function(e){return e+(ie[e]||ie[e%10]||ie[e>=100?100:null])},week:{dow:1,doy:7}}), -//! moment.js locale configuration -e.defineLocale("km",{months:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),monthsShort:"មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),weekdays:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysShort:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysMin:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[ថ្ងៃនេះ ម៉ោង] LT",nextDay:"[ស្អែក ម៉ោង] LT",nextWeek:"dddd [ម៉ោង] LT",lastDay:"[ម្សិលមិញ ម៉ោង] LT",lastWeek:"dddd [សប្តាហ៍មុន] [ម៉ោង] LT",sameElse:"L"},relativeTime:{future:"%sទៀត",past:"%sមុន",s:"ប៉ុន្មានវិនាទី",ss:"%d វិនាទី",m:"មួយនាទី",mm:"%d នាទី",h:"មួយម៉ោង",hh:"%d ម៉ោង",d:"មួយថ្ងៃ",dd:"%d ថ្ងៃ",M:"មួយខែ",MM:"%d ខែ",y:"មួយឆ្នាំ",yy:"%d ឆ្នាំ"},week:{dow:1,doy:4}}); -//! moment.js locale configuration -var se={1:"೧",2:"೨",3:"೩",4:"೪",5:"೫",6:"೬",7:"೭",8:"೮",9:"೯",0:"೦"},ue={"೧":"1","೨":"2","೩":"3","೪":"4","೫":"5","೬":"6","೭":"7","೮":"8","೯":"9","೦":"0"};e.defineLocale("kn",{months:"ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್".split("_"),monthsShort:"ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ".split("_"),monthsParseExact:!0,weekdays:"ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ".split("_"),weekdaysShort:"ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ".split("_"),weekdaysMin:"ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[ಇಂದು] LT",nextDay:"[ನಾಳೆ] LT",nextWeek:"dddd, LT",lastDay:"[ನಿನ್ನೆ] LT",lastWeek:"[ಕೊನೆಯ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ನಂತರ",past:"%s ಹಿಂದೆ",s:"ಕೆಲವು ಕ್ಷಣಗಳು",ss:"%d ಸೆಕೆಂಡುಗಳು",m:"ಒಂದು ನಿಮಿಷ",mm:"%d ನಿಮಿಷ",h:"ಒಂದು ಗಂಟೆ",hh:"%d ಗಂಟೆ",d:"ಒಂದು ದಿನ",dd:"%d ದಿನ",M:"ಒಂದು ತಿಂಗಳು",MM:"%d ತಿಂಗಳು",y:"ಒಂದು ವರ್ಷ",yy:"%d ವರ್ಷ"},preparse:function(e){return e.replace(/[೧೨೩೪೫೬೭೮೯೦]/g,(function(e){return ue[e]}))},postformat:function(e){return e.replace(/\d/g,(function(e){return se[e]}))},meridiemParse:/ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,meridiemHour:function(e,t){return 12===e&&(e=0),"ರಾತ್ರಿ"===t?e<4?e:e+12:"ಬೆಳಿಗ್ಗೆ"===t?e:"ಮಧ್ಯಾಹ್ನ"===t?e>=10?e:e+12:"ಸಂಜೆ"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"ರಾತ್ರಿ":e<10?"ಬೆಳಿಗ್ಗೆ":e<17?"ಮಧ್ಯಾಹ್ನ":e<20?"ಸಂಜೆ":"ರಾತ್ರಿ"},dayOfMonthOrdinalParse:/\d{1,2}(ನೇ)/,ordinal:function(e){return e+"ನೇ"},week:{dow:0,doy:6}}), -//! moment.js locale configuration -e.defineLocale("ko",{months:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),monthsShort:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),weekdays:"일요일_월요일_화요일_수요일_목요일_금요일_토요일".split("_"),weekdaysShort:"일_월_화_수_목_금_토".split("_"),weekdaysMin:"일_월_화_수_목_금_토".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"YYYY.MM.DD.",LL:"YYYY년 MMMM D일",LLL:"YYYY년 MMMM D일 A h:mm",LLLL:"YYYY년 MMMM D일 dddd A h:mm",l:"YYYY.MM.DD.",ll:"YYYY년 MMMM D일",lll:"YYYY년 MMMM D일 A h:mm",llll:"YYYY년 MMMM D일 dddd A h:mm"},calendar:{sameDay:"오늘 LT",nextDay:"내일 LT",nextWeek:"dddd LT",lastDay:"어제 LT",lastWeek:"지난주 dddd LT",sameElse:"L"},relativeTime:{future:"%s 후",past:"%s 전",s:"몇 초",ss:"%d초",m:"1분",mm:"%d분",h:"한 시간",hh:"%d시간",d:"하루",dd:"%d일",M:"한 달",MM:"%d달",y:"일 년",yy:"%d년"},dayOfMonthOrdinalParse:/\d{1,2}(일|월|주)/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"일";case"M":return e+"월";case"w":case"W":return e+"주";default:return e}},meridiemParse:/오전|오후/,isPM:function(e){return"오후"===e},meridiem:function(e,t,n){return e<12?"오전":"오후"}}); -//! moment.js locale configuration -var de={0:"-чү",1:"-чи",2:"-чи",3:"-чү",4:"-чү",5:"-чи",6:"-чы",7:"-чи",8:"-чи",9:"-чу",10:"-чу",20:"-чы",30:"-чу",40:"-чы",50:"-чү",60:"-чы",70:"-чи",80:"-чи",90:"-чу",100:"-чү"}; -//! moment.js locale configuration -function le(e,t,n,a){var r={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],M:["ee Mount","engem Mount"],y:["ee Joer","engem Joer"]};return t?r[n][0]:r[n][1]}function me(e){if(e=parseInt(e,10),isNaN(e))return!1;if(e<0)return!0;if(e<10)return 4<=e&&e<=7;if(e<100){var t=e%10;return me(0===t?e/10:t)}if(e<1e4){for(;e>=10;)e/=10;return me(e)}return me(e/=1e3)}e.defineLocale("ky",{months:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"),monthsShort:"янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек".split("_"),weekdays:"Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби".split("_"),weekdaysShort:"Жек_Дүй_Шей_Шар_Бей_Жум_Ише".split("_"),weekdaysMin:"Жк_Дй_Шй_Шр_Бй_Жм_Иш".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Бүгүн саат] LT",nextDay:"[Эртең саат] LT",nextWeek:"dddd [саат] LT",lastDay:"[Кече саат] LT",lastWeek:"[Өткен аптанын] dddd [күнү] [саат] LT",sameElse:"L"},relativeTime:{future:"%s ичинде",past:"%s мурун",s:"бирнече секунд",ss:"%d секунд",m:"бир мүнөт",mm:"%d мүнөт",h:"бир саат",hh:"%d саат",d:"бир күн",dd:"%d күн",M:"бир ай",MM:"%d ай",y:"бир жыл",yy:"%d жыл"},dayOfMonthOrdinalParse:/\d{1,2}-(чи|чы|чү|чу)/,ordinal:function(e){return e+(de[e]||de[e%10]||de[e>=100?100:null])},week:{dow:1,doy:7}}),e.defineLocale("lb",{months:"Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),monthsParseExact:!0,weekdays:"Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._Mé._Dë._Më._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mé_Dë_Më_Do_Fr_Sa".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm [Auer]",LTS:"H:mm:ss [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm [Auer]",LLLL:"dddd, D. MMMM YYYY H:mm [Auer]"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[Gëschter um] LT",lastWeek:function(){switch(this.day()){case 2:case 4:return"[Leschten] dddd [um] LT";default:return"[Leschte] dddd [um] LT"}}},relativeTime:{future:function(e){return me(e.substr(0,e.indexOf(" ")))?"a "+e:"an "+e},past:function(e){return me(e.substr(0,e.indexOf(" ")))?"viru "+e:"virun "+e},s:"e puer Sekonnen",ss:"%d Sekonnen",m:le,mm:"%d Minutten",h:le,hh:"%d Stonnen",d:le,dd:"%d Deeg",M:le,MM:"%d Méint",y:le,yy:"%d Joer"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}), -//! moment.js locale configuration -e.defineLocale("lo",{months:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),monthsShort:"ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ".split("_"),weekdays:"ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysShort:"ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ".split("_"),weekdaysMin:"ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"ວັນdddd D MMMM YYYY HH:mm"},meridiemParse:/ຕອນເຊົ້າ|ຕອນແລງ/,isPM:function(e){return"ຕອນແລງ"===e},meridiem:function(e,t,n){return e<12?"ຕອນເຊົ້າ":"ຕອນແລງ"},calendar:{sameDay:"[ມື້ນີ້ເວລາ] LT",nextDay:"[ມື້ອື່ນເວລາ] LT",nextWeek:"[ວັນ]dddd[ໜ້າເວລາ] LT",lastDay:"[ມື້ວານນີ້ເວລາ] LT",lastWeek:"[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT",sameElse:"L"},relativeTime:{future:"ອີກ %s",past:"%sຜ່ານມາ",s:"ບໍ່ເທົ່າໃດວິນາທີ",ss:"%d ວິນາທີ",m:"1 ນາທີ",mm:"%d ນາທີ",h:"1 ຊົ່ວໂມງ",hh:"%d ຊົ່ວໂມງ",d:"1 ມື້",dd:"%d ມື້",M:"1 ເດືອນ",MM:"%d ເດືອນ",y:"1 ປີ",yy:"%d ປີ"},dayOfMonthOrdinalParse:/(ທີ່)\d{1,2}/,ordinal:function(e){return"ທີ່"+e}}); -//! moment.js locale configuration -var _e={ss:"sekundė_sekundžių_sekundes",m:"minutė_minutės_minutę",mm:"minutės_minučių_minutes",h:"valanda_valandos_valandą",hh:"valandos_valandų_valandas",d:"diena_dienos_dieną",dd:"dienos_dienų_dienas",M:"mėnuo_mėnesio_mėnesį",MM:"mėnesiai_mėnesių_mėnesius",y:"metai_metų_metus",yy:"metai_metų_metus"};function ce(e,t,n,a){return t?pe(n)[0]:a?pe(n)[1]:pe(n)[2]}function he(e){return e%10==0||e>10&&e<20}function pe(e){return _e[e].split("_")}function fe(e,t,n,a){var r=e+" ";return 1===e?r+ce(0,t,n[0],a):t?r+(he(e)?pe(n)[1]:pe(n)[0]):a?r+pe(n)[1]:r+(he(e)?pe(n)[1]:pe(n)[2])}e.defineLocale("lt",{months:{format:"sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio".split("_"),standalone:"sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis".split("_"),isFormat:/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/},monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:{format:"sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį".split("_"),standalone:"sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis".split("_"),isFormat:/dddd HH:mm/},weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_Šeš".split("_"),weekdaysMin:"S_P_A_T_K_Pn_Š".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], HH:mm [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], HH:mm [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]"},calendar:{sameDay:"[Šiandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Praėjusį] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prieš %s",s:function(e,t,n,a){return t?"kelios sekundės":a?"kelių sekundžių":"kelias sekundes"},ss:fe,m:ce,mm:fe,h:ce,hh:fe,d:ce,dd:fe,M:ce,MM:fe,y:ce,yy:fe},dayOfMonthOrdinalParse:/\d{1,2}-oji/,ordinal:function(e){return e+"-oji"},week:{dow:1,doy:4}}); -//! moment.js locale configuration -var ye={ss:"sekundes_sekundēm_sekunde_sekundes".split("_"),m:"minūtes_minūtēm_minūte_minūtes".split("_"),mm:"minūtes_minūtēm_minūte_minūtes".split("_"),h:"stundas_stundām_stunda_stundas".split("_"),hh:"stundas_stundām_stunda_stundas".split("_"),d:"dienas_dienām_diena_dienas".split("_"),dd:"dienas_dienām_diena_dienas".split("_"),M:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),MM:"mēneša_mēnešiem_mēnesis_mēneši".split("_"),y:"gada_gadiem_gads_gadi".split("_"),yy:"gada_gadiem_gads_gadi".split("_")};function ge(e,t,n){return n?t%10==1&&t%100!=11?e[2]:e[3]:t%10==1&&t%100!=11?e[0]:e[1]}function ve(e,t,n){return e+" "+ge(ye[n],e,t)}function Me(e,t,n){return ge(ye[n],e,t)}e.defineLocale("lv",{months:"janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec".split("_"),weekdays:"svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY.",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, HH:mm",LLLL:"YYYY. [gada] D. MMMM, dddd, HH:mm"},calendar:{sameDay:"[Šodien pulksten] LT",nextDay:"[Rīt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pagājušā] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"pēc %s",past:"pirms %s",s:function(e,t){return t?"dažas sekundes":"dažām sekundēm"},ss:ve,m:Me,mm:ve,h:Me,hh:ve,d:Me,dd:ve,M:Me,MM:ve,y:Me,yy:ve},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}); -//! moment.js locale configuration -var ke={words:{ss:["sekund","sekunda","sekundi"],m:["jedan minut","jednog minuta"],mm:["minut","minuta","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mjesec","mjeseca","mjeseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(e,t){return 1===e?t[0]:e>=2&&e<=4?t[1]:t[2]},translate:function(e,t,n){var a=ke.words[n];return 1===n.length?t?a[0]:a[1]:e+" "+ke.correctGrammaticalCase(e,a)}};e.defineLocale("me",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sjutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){return["[prošle] [nedjelje] [u] LT","[prošlog] [ponedjeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srijede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"nekoliko sekundi",ss:ke.translate,m:ke.translate,mm:ke.translate,h:ke.translate,hh:ke.translate,d:"dan",dd:ke.translate,M:"mjesec",MM:ke.translate,y:"godinu",yy:ke.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}), -//! moment.js locale configuration -e.defineLocale("mi",{months:"Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea".split("_"),monthsShort:"Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki".split("_"),monthsRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i,monthsShortStrictRegex:/(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i,weekdays:"Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei".split("_"),weekdaysShort:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),weekdaysMin:"Ta_Ma_Tū_We_Tāi_Pa_Hā".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [i] HH:mm",LLLL:"dddd, D MMMM YYYY [i] HH:mm"},calendar:{sameDay:"[i teie mahana, i] LT",nextDay:"[apopo i] LT",nextWeek:"dddd [i] LT",lastDay:"[inanahi i] LT",lastWeek:"dddd [whakamutunga i] LT",sameElse:"L"},relativeTime:{future:"i roto i %s",past:"%s i mua",s:"te hēkona ruarua",ss:"%d hēkona",m:"he meneti",mm:"%d meneti",h:"te haora",hh:"%d haora",d:"he ra",dd:"%d ra",M:"he marama",MM:"%d marama",y:"he tau",yy:"%d tau"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}}), -//! moment.js locale configuration -e.defineLocale("mk",{months:"јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември".split("_"),monthsShort:"јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек".split("_"),weekdays:"недела_понеделник_вторник_среда_четврток_петок_сабота".split("_"),weekdaysShort:"нед_пон_вто_сре_чет_пет_саб".split("_"),weekdaysMin:"нe_пo_вт_ср_че_пе_сa".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[Денес во] LT",nextDay:"[Утре во] LT",nextWeek:"[Во] dddd [во] LT",lastDay:"[Вчера во] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[Изминатата] dddd [во] LT";case 1:case 2:case 4:case 5:return"[Изминатиот] dddd [во] LT"}},sameElse:"L"},relativeTime:{future:"после %s",past:"пред %s",s:"неколку секунди",ss:"%d секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дена",M:"месец",MM:"%d месеци",y:"година",yy:"%d години"},dayOfMonthOrdinalParse:/\d{1,2}-(ев|ен|ти|ви|ри|ми)/,ordinal:function(e){var t=e%10,n=e%100;return 0===e?e+"-ев":0===n?e+"-ен":n>10&&n<20?e+"-ти":1===t?e+"-ви":2===t?e+"-ри":7===t||8===t?e+"-ми":e+"-ти"},week:{dow:1,doy:7}}), -//! moment.js locale configuration -e.defineLocale("ml",{months:"ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ".split("_"),monthsShort:"ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.".split("_"),monthsParseExact:!0,weekdays:"ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച".split("_"),weekdaysShort:"ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി".split("_"),weekdaysMin:"ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ".split("_"),longDateFormat:{LT:"A h:mm -നു",LTS:"A h:mm:ss -നു",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm -നു",LLLL:"dddd, D MMMM YYYY, A h:mm -നു"},calendar:{sameDay:"[ഇന്ന്] LT",nextDay:"[നാളെ] LT",nextWeek:"dddd, LT",lastDay:"[ഇന്നലെ] LT",lastWeek:"[കഴിഞ്ഞ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s കഴിഞ്ഞ്",past:"%s മുൻപ്",s:"അൽപ നിമിഷങ്ങൾ",ss:"%d സെക്കൻഡ്",m:"ഒരു മിനിറ്റ്",mm:"%d മിനിറ്റ്",h:"ഒരു മണിക്കൂർ",hh:"%d മണിക്കൂർ",d:"ഒരു ദിവസം",dd:"%d ദിവസം",M:"ഒരു മാസം",MM:"%d മാസം",y:"ഒരു വർഷം",yy:"%d വർഷം"},meridiemParse:/രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,meridiemHour:function(e,t){return 12===e&&(e=0),"രാത്രി"===t&&e>=4||"ഉച്ച കഴിഞ്ഞ്"===t||"വൈകുന്നേരം"===t?e+12:e},meridiem:function(e,t,n){return e<4?"രാത്രി":e<12?"രാവിലെ":e<17?"ഉച്ച കഴിഞ്ഞ്":e<20?"വൈകുന്നേരം":"രാത്രി"}}); -//! moment.js locale configuration -var Le={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},be={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};function Ye(e,t,n,a){var r="";if(t)switch(n){case"s":r="काही सेकंद";break;case"ss":r="%d सेकंद";break;case"m":r="एक मिनिट";break;case"mm":r="%d मिनिटे";break;case"h":r="एक तास";break;case"hh":r="%d तास";break;case"d":r="एक दिवस";break;case"dd":r="%d दिवस";break;case"M":r="एक महिना";break;case"MM":r="%d महिने";break;case"y":r="एक वर्ष";break;case"yy":r="%d वर्षे"}else switch(n){case"s":r="काही सेकंदां";break;case"ss":r="%d सेकंदां";break;case"m":r="एका मिनिटा";break;case"mm":r="%d मिनिटां";break;case"h":r="एका तासा";break;case"hh":r="%d तासां";break;case"d":r="एका दिवसा";break;case"dd":r="%d दिवसां";break;case"M":r="एका महिन्या";break;case"MM":r="%d महिन्यां";break;case"y":r="एका वर्षा";break;case"yy":r="%d वर्षां"}return r.replace(/%d/i,e)}e.defineLocale("mr",{months:"जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर".split("_"),monthsShort:"जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.".split("_"),monthsParseExact:!0,weekdays:"रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm वाजता",LTS:"A h:mm:ss वाजता",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm वाजता",LLLL:"dddd, D MMMM YYYY, A h:mm वाजता"},calendar:{sameDay:"[आज] LT",nextDay:"[उद्या] LT",nextWeek:"dddd, LT",lastDay:"[काल] LT",lastWeek:"[मागील] dddd, LT",sameElse:"L"},relativeTime:{future:"%sमध्ये",past:"%sपूर्वी",s:Ye,ss:Ye,m:Ye,mm:Ye,h:Ye,hh:Ye,d:Ye,dd:Ye,M:Ye,MM:Ye,y:Ye,yy:Ye},preparse:function(e){return e.replace(/[१२३४५६७८९०]/g,(function(e){return be[e]}))},postformat:function(e){return e.replace(/\d/g,(function(e){return Le[e]}))},meridiemParse:/रात्री|सकाळी|दुपारी|सायंकाळी/,meridiemHour:function(e,t){return 12===e&&(e=0),"रात्री"===t?e<4?e:e+12:"सकाळी"===t?e:"दुपारी"===t?e>=10?e:e+12:"सायंकाळी"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"रात्री":e<10?"सकाळी":e<17?"दुपारी":e<20?"सायंकाळी":"रात्री"},week:{dow:0,doy:6}}), -//! moment.js locale configuration -e.defineLocale("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,t){return 12===e&&(e=0),"pagi"===t?e:"tengahari"===t?e>=11?e:e+12:"petang"===t||"malam"===t?e+12:void 0},meridiem:function(e,t,n){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}), -//! moment.js locale configuration -e.defineLocale("ms",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] HH.mm",LLLL:"dddd, D MMMM YYYY [pukul] HH.mm"},meridiemParse:/pagi|tengahari|petang|malam/,meridiemHour:function(e,t){return 12===e&&(e=0),"pagi"===t?e:"tengahari"===t?e>=11?e:e+12:"petang"===t||"malam"===t?e+12:void 0},meridiem:function(e,t,n){return e<11?"pagi":e<15?"tengahari":e<19?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",ss:"%d saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}}), -//! moment.js locale configuration -e.defineLocale("mt",{months:"Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru".split("_"),monthsShort:"Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ".split("_"),weekdays:"Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt".split("_"),weekdaysShort:"Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib".split("_"),weekdaysMin:"Ħa_Tn_Tl_Er_Ħa_Ġi_Si".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Illum fil-]LT",nextDay:"[Għada fil-]LT",nextWeek:"dddd [fil-]LT",lastDay:"[Il-bieraħ fil-]LT",lastWeek:"dddd [li għadda] [fil-]LT",sameElse:"L"},relativeTime:{future:"f’ %s",past:"%s ilu",s:"ftit sekondi",ss:"%d sekondi",m:"minuta",mm:"%d minuti",h:"siegħa",hh:"%d siegħat",d:"ġurnata",dd:"%d ġranet",M:"xahar",MM:"%d xhur",y:"sena",yy:"%d sni"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}}); -//! moment.js locale configuration -var we={1:"၁",2:"၂",3:"၃",4:"၄",5:"၅",6:"၆",7:"၇",8:"၈",9:"၉",0:"၀"},De={"၁":"1","၂":"2","၃":"3","၄":"4","၅":"5","၆":"6","၇":"7","၈":"8","၉":"9","၀":"0"};e.defineLocale("my",{months:"ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ".split("_"),monthsShort:"ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ".split("_"),weekdays:"တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ".split("_"),weekdaysShort:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),weekdaysMin:"နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ယနေ.] LT [မှာ]",nextDay:"[မနက်ဖြန်] LT [မှာ]",nextWeek:"dddd LT [မှာ]",lastDay:"[မနေ.က] LT [မှာ]",lastWeek:"[ပြီးခဲ့သော] dddd LT [မှာ]",sameElse:"L"},relativeTime:{future:"လာမည့် %s မှာ",past:"လွန်ခဲ့သော %s က",s:"စက္ကန်.အနည်းငယ်",ss:"%d စက္ကန့်",m:"တစ်မိနစ်",mm:"%d မိနစ်",h:"တစ်နာရီ",hh:"%d နာရီ",d:"တစ်ရက်",dd:"%d ရက်",M:"တစ်လ",MM:"%d လ",y:"တစ်နှစ်",yy:"%d နှစ်"},preparse:function(e){return e.replace(/[၁၂၃၄၅၆၇၈၉၀]/g,(function(e){return De[e]}))},postformat:function(e){return e.replace(/\d/g,(function(e){return we[e]}))},week:{dow:1,doy:4}}), -//! moment.js locale configuration -e.defineLocale("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"),monthsParseExact:!0,weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"sø._ma._ti._on._to._fr._lø.".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] HH:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"noen sekunder",ss:"%d sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en måned",MM:"%d måneder",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}); -//! moment.js locale configuration -var Te={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},je={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};e.defineLocale("ne",{months:"जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर".split("_"),monthsShort:"जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.".split("_"),monthsParseExact:!0,weekdays:"आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार".split("_"),weekdaysShort:"आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.".split("_"),weekdaysMin:"आ._सो._मं._बु._बि._शु._श.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"Aको h:mm बजे",LTS:"Aको h:mm:ss बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, Aको h:mm बजे",LLLL:"dddd, D MMMM YYYY, Aको h:mm बजे"},preparse:function(e){return e.replace(/[१२३४५६७८९०]/g,(function(e){return je[e]}))},postformat:function(e){return e.replace(/\d/g,(function(e){return Te[e]}))},meridiemParse:/राति|बिहान|दिउँसो|साँझ/,meridiemHour:function(e,t){return 12===e&&(e=0),"राति"===t?e<4?e:e+12:"बिहान"===t?e:"दिउँसो"===t?e>=10?e:e+12:"साँझ"===t?e+12:void 0},meridiem:function(e,t,n){return e<3?"राति":e<12?"बिहान":e<16?"दिउँसो":e<20?"साँझ":"राति"},calendar:{sameDay:"[आज] LT",nextDay:"[भोलि] LT",nextWeek:"[आउँदो] dddd[,] LT",lastDay:"[हिजो] LT",lastWeek:"[गएको] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%sमा",past:"%s अगाडि",s:"केही क्षण",ss:"%d सेकेण्ड",m:"एक मिनेट",mm:"%d मिनेट",h:"एक घण्टा",hh:"%d घण्टा",d:"एक दिन",dd:"%d दिन",M:"एक महिना",MM:"%d महिना",y:"एक बर्ष",yy:"%d बर्ष"},week:{dow:0,doy:6}}); -//! moment.js locale configuration -var Se="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),He="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),xe=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],Oe=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;e.defineLocale("nl-be",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,t){return e?/-MMM-/.test(t)?He[e.month()]:Se[e.month()]:Se},monthsRegex:Oe,monthsShortRegex:Oe,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:xe,longMonthsParse:xe,shortMonthsParse:xe,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1,doy:4}}); -//! moment.js locale configuration -var Ee="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),Pe="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_"),ze=[/^jan/i,/^feb/i,/^maart|mrt.?$/i,/^apr/i,/^mei$/i,/^jun[i.]?$/i,/^jul[i.]?$/i,/^aug/i,/^sep/i,/^okt/i,/^nov/i,/^dec/i],Ce=/^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i;e.defineLocale("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(e,t){return e?/-MMM-/.test(t)?Pe[e.month()]:Ee[e.month()]:Ee},monthsRegex:Ce,monthsShortRegex:Ce,monthsStrictRegex:/^(januari|februari|maart|mei|ju[nl]i|april|augustus|september|oktober|november|december)/i,monthsShortStrictRegex:/^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i,monthsParse:ze,longMonthsParse:ze,shortMonthsParse:ze,weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"zo_ma_di_wo_do_vr_za".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",ss:"%d seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},dayOfMonthOrdinalParse:/\d{1,2}(ste|de)/,ordinal:function(e){return e+(1===e||8===e||e>=20?"ste":"de")},week:{dow:1,doy:4}}), -//! moment.js locale configuration -e.defineLocale("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_mån_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_må_ty_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] H:mm",LLLL:"dddd D. MMMM YYYY [kl.] HH:mm"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I går klokka] LT",lastWeek:"[Føregåande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s sidan",s:"nokre sekund",ss:"%d sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",M:"ein månad",MM:"%d månader",y:"eit år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}); -//! moment.js locale configuration -var Ne={1:"੧",2:"੨",3:"੩",4:"੪",5:"੫",6:"੬",7:"੭",8:"੮",9:"੯",0:"੦"},Ae={"੧":"1","੨":"2","੩":"3","੪":"4","੫":"5","੬":"6","੭":"7","੮":"8","੯":"9","੦":"0"};e.defineLocale("pa-in",{months:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),monthsShort:"ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ".split("_"),weekdays:"ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ".split("_"),weekdaysShort:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),weekdaysMin:"ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ".split("_"),longDateFormat:{LT:"A h:mm ਵਜੇ",LTS:"A h:mm:ss ਵਜੇ",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm ਵਜੇ",LLLL:"dddd, D MMMM YYYY, A h:mm ਵਜੇ"},calendar:{sameDay:"[ਅਜ] LT",nextDay:"[ਕਲ] LT",nextWeek:"dddd, LT",lastDay:"[ਕਲ] LT",lastWeek:"[ਪਿਛਲੇ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s ਵਿੱਚ",past:"%s ਪਿਛਲੇ",s:"ਕੁਝ ਸਕਿੰਟ",ss:"%d ਸਕਿੰਟ",m:"ਇਕ ਮਿੰਟ",mm:"%d ਮਿੰਟ",h:"ਇੱਕ ਘੰਟਾ",hh:"%d ਘੰਟੇ",d:"ਇੱਕ ਦਿਨ",dd:"%d ਦਿਨ",M:"ਇੱਕ ਮਹੀਨਾ",MM:"%d ਮਹੀਨੇ",y:"ਇੱਕ ਸਾਲ",yy:"%d ਸਾਲ"},preparse:function(e){return e.replace(/[੧੨੩੪੫੬੭੮੯੦]/g,(function(e){return Ae[e]}))},postformat:function(e){return e.replace(/\d/g,(function(e){return Ne[e]}))},meridiemParse:/ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,meridiemHour:function(e,t){return 12===e&&(e=0),"ਰਾਤ"===t?e<4?e:e+12:"ਸਵੇਰ"===t?e:"ਦੁਪਹਿਰ"===t?e>=10?e:e+12:"ਸ਼ਾਮ"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"ਰਾਤ":e<10?"ਸਵੇਰ":e<17?"ਦੁਪਹਿਰ":e<20?"ਸ਼ਾਮ":"ਰਾਤ"},week:{dow:0,doy:6}}); -//! moment.js locale configuration -var Fe="styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),Ie="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_");function We(e){return e%10<5&&e%10>1&&~~(e/10)%10!=1}function Re(e,t,n){var a=e+" ";switch(n){case"ss":return a+(We(e)?"sekundy":"sekund");case"m":return t?"minuta":"minutę";case"mm":return a+(We(e)?"minuty":"minut");case"h":return t?"godzina":"godzinę";case"hh":return a+(We(e)?"godziny":"godzin");case"MM":return a+(We(e)?"miesiące":"miesięcy");case"yy":return a+(We(e)?"lata":"lat")}} -//! moment.js locale configuration -function qe(e,t,n){var a=" ";return(e%100>=20||e>=100&&e%100==0)&&(a=" de "),e+a+{ss:"secunde",mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"}[n]}function Ve(e,t,n){return"m"===n?t?"минута":"минуту":e+" "+ -//! moment.js locale configuration -function(e,t){var n=e.split("_");return t%10==1&&t%100!=11?n[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}({ss:t?"секунда_секунды_секунд":"секунду_секунды_секунд",mm:t?"минута_минуты_минут":"минуту_минуты_минут",hh:"час_часа_часов",dd:"день_дня_дней",MM:"месяц_месяца_месяцев",yy:"год_года_лет"}[n],+e)}e.defineLocale("pl",{months:function(e,t){return e?""===t?"("+Ie[e.month()]+"|"+Fe[e.month()]+")":/D MMMM/.test(t)?Ie[e.month()]:Fe[e.month()]:Fe},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),weekdays:"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),weekdaysShort:"ndz_pon_wt_śr_czw_pt_sob".split("_"),weekdaysMin:"Nd_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Dziś o] LT",nextDay:"[Jutro o] LT",nextWeek:function(){switch(this.day()){case 0:return"[W niedzielę o] LT";case 2:return"[We wtorek o] LT";case 3:return"[W środę o] LT";case 6:return"[W sobotę o] LT";default:return"[W] dddd [o] LT"}},lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zeszłą niedzielę o] LT";case 3:return"[W zeszłą środę o] LT";case 6:return"[W zeszłą sobotę o] LT";default:return"[W zeszły] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",ss:Re,m:Re,mm:Re,h:Re,hh:Re,d:"1 dzień",dd:"%d dni",M:"miesiąc",MM:Re,y:"rok",yy:Re},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}), -//! moment.js locale configuration -e.defineLocale("pt-br",{months:"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY [às] HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"poucos segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº"}), -//! moment.js locale configuration -e.defineLocale("pt",{months:"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),weekdaysShort:"Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),weekdaysMin:"Do_2ª_3ª_4ª_5ª_6ª_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY HH:mm",LLLL:"dddd, D [de] MMMM [de] YYYY HH:mm"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"há %s",s:"segundos",ss:"%d segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},dayOfMonthOrdinalParse:/\d{1,2}º/,ordinal:"%dº",week:{dow:1,doy:4}}),e.defineLocale("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"duminică_luni_marți_miercuri_joi_vineri_sâmbătă".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[mâine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s în urmă",s:"câteva secunde",ss:qe,m:"un minut",mm:qe,h:"o oră",hh:qe,d:"o zi",dd:qe,M:"o lună",MM:qe,y:"un an",yy:qe},week:{dow:1,doy:7}});var Je=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i];e.defineLocale("ru",{months:{format:"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_"),standalone:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_")},monthsShort:{format:"янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.".split("_"),standalone:"янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.".split("_")},weekdays:{standalone:"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),format:"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу".split("_"),isFormat:/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/},weekdaysShort:"вс_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"вс_пн_вт_ср_чт_пт_сб".split("_"),monthsParse:Je,longMonthsParse:Je,shortMonthsParse:Je,monthsRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsShortRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsStrictRegex:/^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,monthsShortStrictRegex:/^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., H:mm",LLLL:"dddd, D MMMM YYYY г., H:mm"},calendar:{sameDay:"[Сегодня в] LT",nextDay:"[Завтра в] LT",lastDay:"[Вчера в] LT",nextWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В следующее] dddd [в] LT";case 1:case 2:case 4:return"[В следующий] dddd [в] LT";case 3:case 5:case 6:return"[В следующую] dddd [в] LT"}},lastWeek:function(e){if(e.week()===this.week())return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT";switch(this.day()){case 0:return"[В прошлое] dddd [в] LT";case 1:case 2:case 4:return"[В прошлый] dddd [в] LT";case 3:case 5:case 6:return"[В прошлую] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",ss:Ve,m:Ve,mm:Ve,h:"час",hh:Ve,d:"день",dd:Ve,M:"месяц",MM:Ve,y:"год",yy:Ve},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(e){return/^(дня|вечера)$/.test(e)},meridiem:function(e,t,n){return e<4?"ночи":e<12?"утра":e<17?"дня":"вечера"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го|я)/,ordinal:function(e,t){switch(t){case"M":case"d":case"DDD":return e+"-й";case"D":return e+"-го";case"w":case"W":return e+"-я";default:return e}},week:{dow:1,doy:4}}); -//! moment.js locale configuration -var Qe=["جنوري","فيبروري","مارچ","اپريل","مئي","جون","جولاءِ","آگسٽ","سيپٽمبر","آڪٽوبر","نومبر","ڊسمبر"],Ue=["آچر","سومر","اڱارو","اربع","خميس","جمع","ڇنڇر"];e.defineLocale("sd",{months:Qe,monthsShort:Qe,weekdays:Ue,weekdaysShort:Ue,weekdaysMin:Ue,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,n){return e<12?"صبح":"شام"},calendar:{sameDay:"[اڄ] LT",nextDay:"[سڀاڻي] LT",nextWeek:"dddd [اڳين هفتي تي] LT",lastDay:"[ڪالهه] LT",lastWeek:"[گزريل هفتي] dddd [تي] LT",sameElse:"L"},relativeTime:{future:"%s پوء",past:"%s اڳ",s:"چند سيڪنڊ",ss:"%d سيڪنڊ",m:"هڪ منٽ",mm:"%d منٽ",h:"هڪ ڪلاڪ",hh:"%d ڪلاڪ",d:"هڪ ڏينهن",dd:"%d ڏينهن",M:"هڪ مهينو",MM:"%d مهينا",y:"هڪ سال",yy:"%d سال"},preparse:function(e){return e.replace(/،/g,",")},postformat:function(e){return e.replace(/,/g,"،")},week:{dow:1,doy:4}}), -//! moment.js locale configuration -e.defineLocale("se",{months:"ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu".split("_"),monthsShort:"ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov".split("_"),weekdays:"sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat".split("_"),weekdaysShort:"sotn_vuos_maŋ_gask_duor_bear_láv".split("_"),weekdaysMin:"s_v_m_g_d_b_L".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"MMMM D. [b.] YYYY",LLL:"MMMM D. [b.] YYYY [ti.] HH:mm",LLLL:"dddd, MMMM D. [b.] YYYY [ti.] HH:mm"},calendar:{sameDay:"[otne ti] LT",nextDay:"[ihttin ti] LT",nextWeek:"dddd [ti] LT",lastDay:"[ikte ti] LT",lastWeek:"[ovddit] dddd [ti] LT",sameElse:"L"},relativeTime:{future:"%s geažes",past:"maŋit %s",s:"moadde sekunddat",ss:"%d sekunddat",m:"okta minuhta",mm:"%d minuhtat",h:"okta diimmu",hh:"%d diimmut",d:"okta beaivi",dd:"%d beaivvit",M:"okta mánnu",MM:"%d mánut",y:"okta jahki",yy:"%d jagit"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}), -//! moment.js locale configuration -e.defineLocale("si",{months:"ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්".split("_"),monthsShort:"ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ".split("_"),weekdays:"ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා".split("_"),weekdaysShort:"ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන".split("_"),weekdaysMin:"ඉ_ස_අ_බ_බ්‍ර_සි_සෙ".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"a h:mm",LTS:"a h:mm:ss",L:"YYYY/MM/DD",LL:"YYYY MMMM D",LLL:"YYYY MMMM D, a h:mm",LLLL:"YYYY MMMM D [වැනි] dddd, a h:mm:ss"},calendar:{sameDay:"[අද] LT[ට]",nextDay:"[හෙට] LT[ට]",nextWeek:"dddd LT[ට]",lastDay:"[ඊයේ] LT[ට]",lastWeek:"[පසුගිය] dddd LT[ට]",sameElse:"L"},relativeTime:{future:"%sකින්",past:"%sකට පෙර",s:"තත්පර කිහිපය",ss:"තත්පර %d",m:"මිනිත්තුව",mm:"මිනිත්තු %d",h:"පැය",hh:"පැය %d",d:"දිනය",dd:"දින %d",M:"මාසය",MM:"මාස %d",y:"වසර",yy:"වසර %d"},dayOfMonthOrdinalParse:/\d{1,2} වැනි/,ordinal:function(e){return e+" වැනි"},meridiemParse:/පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,isPM:function(e){return"ප.ව."===e||"පස් වරු"===e},meridiem:function(e,t,n){return e>11?n?"ප.ව.":"පස් වරු":n?"පෙ.ව.":"පෙර වරු"}}); -//! moment.js locale configuration -var Ke="január_február_marec_apríl_máj_jún_júl_august_september_október_november_december".split("_"),Be="jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec".split("_");function Ge(e){return e>1&&e<5}function $e(e,t,n,a){var r=e+" ";switch(n){case"s":return t||a?"pár sekúnd":"pár sekundami";case"ss":return t||a?r+(Ge(e)?"sekundy":"sekúnd"):r+"sekundami";case"m":return t?"minúta":a?"minútu":"minútou";case"mm":return t||a?r+(Ge(e)?"minúty":"minút"):r+"minútami";case"h":return t?"hodina":a?"hodinu":"hodinou";case"hh":return t||a?r+(Ge(e)?"hodiny":"hodín"):r+"hodinami";case"d":return t||a?"deň":"dňom";case"dd":return t||a?r+(Ge(e)?"dni":"dní"):r+"dňami";case"M":return t||a?"mesiac":"mesiacom";case"MM":return t||a?r+(Ge(e)?"mesiace":"mesiacov"):r+"mesiacmi";case"y":return t||a?"rok":"rokom";case"yy":return t||a?r+(Ge(e)?"roky":"rokov"):r+"rokmi"}} -//! moment.js locale configuration -function Ze(e,t,n,a){var r=e+" ";switch(n){case"s":return t||a?"nekaj sekund":"nekaj sekundami";case"ss":return r+=1===e?t?"sekundo":"sekundi":2===e?t||a?"sekundi":"sekundah":e<5?t||a?"sekunde":"sekundah":"sekund";case"m":return t?"ena minuta":"eno minuto";case"mm":return r+=1===e?t?"minuta":"minuto":2===e?t||a?"minuti":"minutama":e<5?t||a?"minute":"minutami":t||a?"minut":"minutami";case"h":return t?"ena ura":"eno uro";case"hh":return r+=1===e?t?"ura":"uro":2===e?t||a?"uri":"urama":e<5?t||a?"ure":"urami":t||a?"ur":"urami";case"d":return t||a?"en dan":"enim dnem";case"dd":return r+=1===e?t||a?"dan":"dnem":2===e?t||a?"dni":"dnevoma":t||a?"dni":"dnevi";case"M":return t||a?"en mesec":"enim mesecem";case"MM":return r+=1===e?t||a?"mesec":"mesecem":2===e?t||a?"meseca":"mesecema":e<5?t||a?"mesece":"meseci":t||a?"mesecev":"meseci";case"y":return t||a?"eno leto":"enim letom";case"yy":return r+=1===e?t||a?"leto":"letom":2===e?t||a?"leti":"letoma":e<5?t||a?"leta":"leti":t||a?"let":"leti"}}e.defineLocale("sk",{months:Ke,monthsShort:Be,weekdays:"nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_št_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_št_pi_so".split("_"),longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd D. MMMM YYYY H:mm"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nedeľu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo štvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[včera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulú nedeľu o] LT";case 1:case 2:return"[minulý] dddd [o] LT";case 3:return"[minulú stredu o] LT";case 4:case 5:return"[minulý] dddd [o] LT";case 6:return"[minulú sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:$e,ss:$e,m:$e,mm:$e,h:$e,hh:$e,d:$e,dd:$e,M:$e,MM:$e,y:$e,yy:$e},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._čet._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_če_pe_so".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[včeraj ob] LT",lastWeek:function(){switch(this.day()){case 0:return"[prejšnjo] [nedeljo] [ob] LT";case 3:return"[prejšnjo] [sredo] [ob] LT";case 6:return"[prejšnjo] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[prejšnji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"čez %s",past:"pred %s",s:Ze,ss:Ze,m:Ze,mm:Ze,h:Ze,hh:Ze,d:Ze,dd:Ze,M:Ze,MM:Ze,y:Ze,yy:Ze},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}), -//! moment.js locale configuration -e.defineLocale("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj".split("_"),weekdays:"E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë".split("_"),weekdaysShort:"Die_Hën_Mar_Mër_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_Më_E_P_Sh".split("_"),weekdaysParseExact:!0,meridiemParse:/PD|MD/,isPM:function(e){return"M"===e.charAt(0)},meridiem:function(e,t,n){return e<12?"PD":"MD"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Sot në] LT",nextDay:"[Nesër në] LT",nextWeek:"dddd [në] LT",lastDay:"[Dje në] LT",lastWeek:"dddd [e kaluar në] LT",sameElse:"L"},relativeTime:{future:"në %s",past:"%s më parë",s:"disa sekonda",ss:"%d sekonda",m:"një minutë",mm:"%d minuta",h:"një orë",hh:"%d orë",d:"një ditë",dd:"%d ditë",M:"një muaj",MM:"%d muaj",y:"një vit",yy:"%d vite"},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}); -//! moment.js locale configuration -var Xe={words:{ss:["секунда","секунде","секунди"],m:["један минут","једне минуте"],mm:["минут","минуте","минута"],h:["један сат","једног сата"],hh:["сат","сата","сати"],dd:["дан","дана","дана"],MM:["месец","месеца","месеци"],yy:["година","године","година"]},correctGrammaticalCase:function(e,t){return 1===e?t[0]:e>=2&&e<=4?t[1]:t[2]},translate:function(e,t,n){var a=Xe.words[n];return 1===n.length?t?a[0]:a[1]:e+" "+Xe.correctGrammaticalCase(e,a)}};e.defineLocale("sr-cyrl",{months:"јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар".split("_"),monthsShort:"јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.".split("_"),monthsParseExact:!0,weekdays:"недеља_понедељак_уторак_среда_четвртак_петак_субота".split("_"),weekdaysShort:"нед._пон._уто._сре._чет._пет._суб.".split("_"),weekdaysMin:"не_по_ут_ср_че_пе_су".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[данас у] LT",nextDay:"[сутра у] LT",nextWeek:function(){switch(this.day()){case 0:return"[у] [недељу] [у] LT";case 3:return"[у] [среду] [у] LT";case 6:return"[у] [суботу] [у] LT";case 1:case 2:case 4:case 5:return"[у] dddd [у] LT"}},lastDay:"[јуче у] LT",lastWeek:function(){return["[прошле] [недеље] [у] LT","[прошлог] [понедељка] [у] LT","[прошлог] [уторка] [у] LT","[прошле] [среде] [у] LT","[прошлог] [четвртка] [у] LT","[прошлог] [петка] [у] LT","[прошле] [суботе] [у] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"за %s",past:"пре %s",s:"неколико секунди",ss:Xe.translate,m:Xe.translate,mm:Xe.translate,h:Xe.translate,hh:Xe.translate,d:"дан",dd:Xe.translate,M:"месец",MM:Xe.translate,y:"годину",yy:Xe.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}); -//! moment.js locale configuration -var et={words:{ss:["sekunda","sekunde","sekundi"],m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(e,t){return 1===e?t[0]:e>=2&&e<=4?t[1]:t[2]},translate:function(e,t,n){var a=et.words[n];return 1===n.length?t?a[0]:a[1]:e+" "+et.correctGrammaticalCase(e,a)}};e.defineLocale("sr",{months:"januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.".split("_"),monthsParseExact:!0,weekdays:"nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sre._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY H:mm",LLLL:"dddd, D. MMMM YYYY H:mm"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){return["[prošle] [nedelje] [u] LT","[prošlog] [ponedeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"][this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",ss:et.translate,m:et.translate,mm:et.translate,h:et.translate,hh:et.translate,d:"dan",dd:et.translate,M:"mesec",MM:et.translate,y:"godinu",yy:et.translate},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:7}}), -//! moment.js locale configuration -e.defineLocale("ss",{months:"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split("_"),monthsShort:"Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo".split("_"),weekdays:"Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo".split("_"),weekdaysShort:"Lis_Umb_Lsb_Les_Lsi_Lsh_Umg".split("_"),weekdaysMin:"Li_Us_Lb_Lt_Ls_Lh_Ug".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Namuhla nga] LT",nextDay:"[Kusasa nga] LT",nextWeek:"dddd [nga] LT",lastDay:"[Itolo nga] LT",lastWeek:"dddd [leliphelile] [nga] LT",sameElse:"L"},relativeTime:{future:"nga %s",past:"wenteka nga %s",s:"emizuzwana lomcane",ss:"%d mzuzwana",m:"umzuzu",mm:"%d emizuzu",h:"lihora",hh:"%d emahora",d:"lilanga",dd:"%d emalanga",M:"inyanga",MM:"%d tinyanga",y:"umnyaka",yy:"%d iminyaka"},meridiemParse:/ekuseni|emini|entsambama|ebusuku/,meridiem:function(e,t,n){return e<11?"ekuseni":e<15?"emini":e<19?"entsambama":"ebusuku"},meridiemHour:function(e,t){return 12===e&&(e=0),"ekuseni"===t?e:"emini"===t?e>=11?e:e+12:"entsambama"===t||"ebusuku"===t?0===e?0:e+12:void 0},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:"%d",week:{dow:1,doy:4}}), -//! moment.js locale configuration -e.defineLocale("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag".split("_"),weekdaysShort:"sön_mån_tis_ons_tor_fre_lör".split("_"),weekdaysMin:"sö_må_ti_on_to_fr_lö".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [kl.] HH:mm",LLLL:"dddd D MMMM YYYY [kl.] HH:mm",lll:"D MMM YYYY HH:mm",llll:"ddd D MMM YYYY HH:mm"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Igår] LT",nextWeek:"[På] dddd LT",lastWeek:"[I] dddd[s] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"för %s sedan",s:"några sekunder",ss:"%d sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en månad",MM:"%d månader",y:"ett år",yy:"%d år"},dayOfMonthOrdinalParse:/\d{1,2}(e|a)/,ordinal:function(e){var t=e%10;return e+(1==~~(e%100/10)?"e":1===t||2===t?"a":"e")},week:{dow:1,doy:4}}), -//! moment.js locale configuration -e.defineLocale("sw",{months:"Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des".split("_"),weekdays:"Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi".split("_"),weekdaysShort:"Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos".split("_"),weekdaysMin:"J2_J3_J4_J5_Al_Ij_J1".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[leo saa] LT",nextDay:"[kesho saa] LT",nextWeek:"[wiki ijayo] dddd [saat] LT",lastDay:"[jana] LT",lastWeek:"[wiki iliyopita] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s baadaye",past:"tokea %s",s:"hivi punde",ss:"sekunde %d",m:"dakika moja",mm:"dakika %d",h:"saa limoja",hh:"masaa %d",d:"siku moja",dd:"masiku %d",M:"mwezi mmoja",MM:"miezi %d",y:"mwaka mmoja",yy:"miaka %d"},week:{dow:1,doy:7}}); -//! moment.js locale configuration -var tt={1:"௧",2:"௨",3:"௩",4:"௪",5:"௫",6:"௬",7:"௭",8:"௮",9:"௯",0:"௦"},nt={"௧":"1","௨":"2","௩":"3","௪":"4","௫":"5","௬":"6","௭":"7","௮":"8","௯":"9","௦":"0"};e.defineLocale("ta",{months:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),monthsShort:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),weekdays:"ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை".split("_"),weekdaysShort:"ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி".split("_"),weekdaysMin:"ஞா_தி_செ_பு_வி_வெ_ச".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, HH:mm",LLLL:"dddd, D MMMM YYYY, HH:mm"},calendar:{sameDay:"[இன்று] LT",nextDay:"[நாளை] LT",nextWeek:"dddd, LT",lastDay:"[நேற்று] LT",lastWeek:"[கடந்த வாரம்] dddd, LT",sameElse:"L"},relativeTime:{future:"%s இல்",past:"%s முன்",s:"ஒரு சில விநாடிகள்",ss:"%d விநாடிகள்",m:"ஒரு நிமிடம்",mm:"%d நிமிடங்கள்",h:"ஒரு மணி நேரம்",hh:"%d மணி நேரம்",d:"ஒரு நாள்",dd:"%d நாட்கள்",M:"ஒரு மாதம்",MM:"%d மாதங்கள்",y:"ஒரு வருடம்",yy:"%d ஆண்டுகள்"},dayOfMonthOrdinalParse:/\d{1,2}வது/,ordinal:function(e){return e+"வது"},preparse:function(e){return e.replace(/[௧௨௩௪௫௬௭௮௯௦]/g,(function(e){return nt[e]}))},postformat:function(e){return e.replace(/\d/g,(function(e){return tt[e]}))},meridiemParse:/யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,meridiem:function(e,t,n){return e<2?" யாமம்":e<6?" வைகறை":e<10?" காலை":e<14?" நண்பகல்":e<18?" எற்பாடு":e<22?" மாலை":" யாமம்"},meridiemHour:function(e,t){return 12===e&&(e=0),"யாமம்"===t?e<2?e:e+12:"வைகறை"===t||"காலை"===t||"நண்பகல்"===t&&e>=10?e:e+12},week:{dow:0,doy:6}}), -//! moment.js locale configuration -e.defineLocale("te",{months:"జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్".split("_"),monthsShort:"జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.".split("_"),monthsParseExact:!0,weekdays:"ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం".split("_"),weekdaysShort:"ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని".split("_"),weekdaysMin:"ఆ_సో_మం_బు_గు_శు_శ".split("_"),longDateFormat:{LT:"A h:mm",LTS:"A h:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, A h:mm",LLLL:"dddd, D MMMM YYYY, A h:mm"},calendar:{sameDay:"[నేడు] LT",nextDay:"[రేపు] LT",nextWeek:"dddd, LT",lastDay:"[నిన్న] LT",lastWeek:"[గత] dddd, LT",sameElse:"L"},relativeTime:{future:"%s లో",past:"%s క్రితం",s:"కొన్ని క్షణాలు",ss:"%d సెకన్లు",m:"ఒక నిమిషం",mm:"%d నిమిషాలు",h:"ఒక గంట",hh:"%d గంటలు",d:"ఒక రోజు",dd:"%d రోజులు",M:"ఒక నెల",MM:"%d నెలలు",y:"ఒక సంవత్సరం",yy:"%d సంవత్సరాలు"},dayOfMonthOrdinalParse:/\d{1,2}వ/,ordinal:"%dవ",meridiemParse:/రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,meridiemHour:function(e,t){return 12===e&&(e=0),"రాత్రి"===t?e<4?e:e+12:"ఉదయం"===t?e:"మధ్యాహ్నం"===t?e>=10?e:e+12:"సాయంత్రం"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"రాత్రి":e<10?"ఉదయం":e<17?"మధ్యాహ్నం":e<20?"సాయంత్రం":"రాత్రి"},week:{dow:0,doy:6}}), -//! moment.js locale configuration -e.defineLocale("tet",{months:"Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru".split("_"),monthsShort:"Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),weekdays:"Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu".split("_"),weekdaysShort:"Dom_Seg_Ters_Kua_Kint_Sest_Sab".split("_"),weekdaysMin:"Do_Seg_Te_Ku_Ki_Ses_Sa".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Ohin iha] LT",nextDay:"[Aban iha] LT",nextWeek:"dddd [iha] LT",lastDay:"[Horiseik iha] LT",lastWeek:"dddd [semana kotuk] [iha] LT",sameElse:"L"},relativeTime:{future:"iha %s",past:"%s liuba",s:"minutu balun",ss:"minutu %d",m:"minutu ida",mm:"minutu %d",h:"oras ida",hh:"oras %d",d:"loron ida",dd:"loron %d",M:"fulan ida",MM:"fulan %d",y:"tinan ida",yy:"tinan %d"},dayOfMonthOrdinalParse:/\d{1,2}(st|nd|rd|th)/,ordinal:function(e){var t=e%10;return e+(1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")},week:{dow:1,doy:4}}); -//! moment.js locale configuration -var at={0:"-ум",1:"-ум",2:"-юм",3:"-юм",4:"-ум",5:"-ум",6:"-ум",7:"-ум",8:"-ум",9:"-ум",10:"-ум",12:"-ум",13:"-ум",20:"-ум",30:"-юм",40:"-ум",50:"-ум",60:"-ум",70:"-ум",80:"-ум",90:"-ум",100:"-ум"};e.defineLocale("tg",{months:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе".split("_"),weekdaysShort:"яшб_дшб_сшб_чшб_пшб_ҷум_шнб".split("_"),weekdaysMin:"яш_дш_сш_чш_пш_ҷм_шб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[Имрӯз соати] LT",nextDay:"[Пагоҳ соати] LT",lastDay:"[Дирӯз соати] LT",nextWeek:"dddd[и] [ҳафтаи оянда соати] LT",lastWeek:"dddd[и] [ҳафтаи гузашта соати] LT",sameElse:"L"},relativeTime:{future:"баъди %s",past:"%s пеш",s:"якчанд сония",m:"як дақиқа",mm:"%d дақиқа",h:"як соат",hh:"%d соат",d:"як рӯз",dd:"%d рӯз",M:"як моҳ",MM:"%d моҳ",y:"як сол",yy:"%d сол"},meridiemParse:/шаб|субҳ|рӯз|бегоҳ/,meridiemHour:function(e,t){return 12===e&&(e=0),"шаб"===t?e<4?e:e+12:"субҳ"===t?e:"рӯз"===t?e>=11?e:e+12:"бегоҳ"===t?e+12:void 0},meridiem:function(e,t,n){return e<4?"шаб":e<11?"субҳ":e<16?"рӯз":e<19?"бегоҳ":"шаб"},dayOfMonthOrdinalParse:/\d{1,2}-(ум|юм)/,ordinal:function(e){return e+(at[e]||at[e%10]||at[e>=100?100:null])},week:{dow:1,doy:7}}), -//! moment.js locale configuration -e.defineLocale("th",{months:"มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม".split("_"),monthsShort:"ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.".split("_"),monthsParseExact:!0,weekdays:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์".split("_"),weekdaysShort:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์".split("_"),weekdaysMin:"อา._จ._อ._พ._พฤ._ศ._ส.".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY เวลา H:mm",LLLL:"วันddddที่ D MMMM YYYY เวลา H:mm"},meridiemParse:/ก่อนเที่ยง|หลังเที่ยง/,isPM:function(e){return"หลังเที่ยง"===e},meridiem:function(e,t,n){return e<12?"ก่อนเที่ยง":"หลังเที่ยง"},calendar:{sameDay:"[วันนี้ เวลา] LT",nextDay:"[พรุ่งนี้ เวลา] LT",nextWeek:"dddd[หน้า เวลา] LT",lastDay:"[เมื่อวานนี้ เวลา] LT",lastWeek:"[วัน]dddd[ที่แล้ว เวลา] LT",sameElse:"L"},relativeTime:{future:"อีก %s",past:"%sที่แล้ว",s:"ไม่กี่วินาที",ss:"%d วินาที",m:"1 นาที",mm:"%d นาที",h:"1 ชั่วโมง",hh:"%d ชั่วโมง",d:"1 วัน",dd:"%d วัน",M:"1 เดือน",MM:"%d เดือน",y:"1 ปี",yy:"%d ปี"}}), -//! moment.js locale configuration -e.defineLocale("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY HH:mm",LLLL:"dddd, MMMM DD, YYYY HH:mm"},calendar:{sameDay:"LT [ngayong araw]",nextDay:"[Bukas ng] LT",nextWeek:"LT [sa susunod na] dddd",lastDay:"LT [kahapon]",lastWeek:"LT [noong nakaraang] dddd",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",ss:"%d segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}}); -//! moment.js locale configuration -var rt="pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut".split("_");function ot(e,t,n,a){var r=function(e){var t=Math.floor(e%1e3/100),n=Math.floor(e%100/10),a=e%10,r="";return t>0&&(r+=rt[t]+"vatlh"),n>0&&(r+=(""!==r?" ":"")+rt[n]+"maH"),a>0&&(r+=(""!==r?" ":"")+rt[a]),""===r?"pagh":r}(e);switch(n){case"ss":return r+" lup";case"mm":return r+" tup";case"hh":return r+" rep";case"dd":return r+" jaj";case"MM":return r+" jar";case"yy":return r+" DIS"}}e.defineLocale("tlh",{months:"tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’".split("_"),monthsShort:"jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’".split("_"),monthsParseExact:!0,weekdays:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysShort:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),weekdaysMin:"lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[DaHjaj] LT",nextDay:"[wa’leS] LT",nextWeek:"LLL",lastDay:"[wa’Hu’] LT",lastWeek:"LLL",sameElse:"L"},relativeTime:{future:function(e){var t=e;return t=-1!==e.indexOf("jaj")?t.slice(0,-3)+"leS":-1!==e.indexOf("jar")?t.slice(0,-3)+"waQ":-1!==e.indexOf("DIS")?t.slice(0,-3)+"nem":t+" pIq"},past:function(e){var t=e;return t=-1!==e.indexOf("jaj")?t.slice(0,-3)+"Hu’":-1!==e.indexOf("jar")?t.slice(0,-3)+"wen":-1!==e.indexOf("DIS")?t.slice(0,-3)+"ben":t+" ret"},s:"puS lup",ss:ot,m:"wa’ tup",mm:ot,h:"wa’ rep",hh:ot,d:"wa’ jaj",dd:ot,M:"wa’ jar",MM:ot,y:"wa’ DIS",yy:ot},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}});var it={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'üncü",4:"'üncü",100:"'üncü",6:"'ncı",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ıncı",90:"'ıncı"};function st(e,t,n,a){var r={s:["viensas secunds","'iensas secunds"],ss:[e+" secunds",e+" secunds"],m:["'n míut","'iens míut"],mm:[e+" míuts",e+" míuts"],h:["'n þora","'iensa þora"],hh:[e+" þoras",e+" þoras"],d:["'n ziua","'iensa ziua"],dd:[e+" ziuas",e+" ziuas"],M:["'n mes","'iens mes"],MM:[e+" mesen",e+" mesen"],y:["'n ar","'iens ar"],yy:[e+" ars",e+" ars"]};return a||t?r[n][0]:r[n][1]} -//! moment.js locale configuration -function ut(e,t,n){return"m"===n?t?"хвилина":"хвилину":"h"===n?t?"година":"годину":e+" "+ -//! moment.js locale configuration -function(e,t){var n=e.split("_");return t%10==1&&t%100!=11?n[0]:t%10>=2&&t%10<=4&&(t%100<10||t%100>=20)?n[1]:n[2]}({ss:t?"секунда_секунди_секунд":"секунду_секунди_секунд",mm:t?"хвилина_хвилини_хвилин":"хвилину_хвилини_хвилин",hh:t?"година_години_годин":"годину_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"}[n],+e)}function dt(e){return function(){return e+"о"+(11===this.hours()?"б":"")+"] LT"}}e.defineLocale("tr",{months:"Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık".split("_"),monthsShort:"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_Çar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[yarın saat] LT",nextWeek:"[gelecek] dddd [saat] LT",lastDay:"[dün] LT",lastWeek:"[geçen] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s önce",s:"birkaç saniye",ss:"%d saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir yıl",yy:"%d yıl"},ordinal:function(e,t){switch(t){case"d":case"D":case"Do":case"DD":return e;default:if(0===e)return e+"'ıncı";var n=e%10;return e+(it[n]||it[e%100-n]||it[e>=100?100:null])}},week:{dow:1,doy:7}}), -//! moment.js locale configuration -e.defineLocale("tzl",{months:"Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar".split("_"),monthsShort:"Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec".split("_"),weekdays:"Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi".split("_"),weekdaysShort:"Súl_Lún_Mai_Már_Xhú_Vié_Sát".split("_"),weekdaysMin:"Sú_Lú_Ma_Má_Xh_Vi_Sá".split("_"),longDateFormat:{LT:"HH.mm",LTS:"HH.mm.ss",L:"DD.MM.YYYY",LL:"D. MMMM [dallas] YYYY",LLL:"D. MMMM [dallas] YYYY HH.mm",LLLL:"dddd, [li] D. MMMM [dallas] YYYY HH.mm"},meridiemParse:/d\'o|d\'a/i,isPM:function(e){return"d'o"===e.toLowerCase()},meridiem:function(e,t,n){return e>11?n?"d'o":"D'O":n?"d'a":"D'A"},calendar:{sameDay:"[oxhi à] LT",nextDay:"[demà à] LT",nextWeek:"dddd [à] LT",lastDay:"[ieiri à] LT",lastWeek:"[sür el] dddd [lasteu à] LT",sameElse:"L"},relativeTime:{future:"osprei %s",past:"ja%s",s:st,ss:st,m:st,mm:st,h:st,hh:st,d:st,dd:st,M:st,MM:st,y:st,yy:st},dayOfMonthOrdinalParse:/\d{1,2}\./,ordinal:"%d.",week:{dow:1,doy:4}}),e.defineLocale("tzm-latn",{months:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",ss:"%d imik",m:"minuḍ",mm:"%d minuḍ",h:"saɛa",hh:"%d tassaɛin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}}), -//! moment.js locale configuration -e.defineLocale("tzm",{months:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),monthsShort:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),weekdays:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysShort:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysMin:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd D MMMM YYYY HH:mm"},calendar:{sameDay:"[ⴰⵙⴷⵅ ⴴ] LT",nextDay:"[ⴰⵙⴽⴰ ⴴ] LT",nextWeek:"dddd [ⴴ] LT",lastDay:"[ⴰⵚⴰⵏⵜ ⴴ] LT",lastWeek:"dddd [ⴴ] LT",sameElse:"L"},relativeTime:{future:"ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s",past:"ⵢⴰⵏ %s",s:"ⵉⵎⵉⴽ",ss:"%d ⵉⵎⵉⴽ",m:"ⵎⵉⵏⵓⴺ",mm:"%d ⵎⵉⵏⵓⴺ",h:"ⵙⴰⵄⴰ",hh:"%d ⵜⴰⵙⵙⴰⵄⵉⵏ",d:"ⴰⵙⵙ",dd:"%d oⵙⵙⴰⵏ",M:"ⴰⵢoⵓⵔ",MM:"%d ⵉⵢⵢⵉⵔⵏ",y:"ⴰⵙⴳⴰⵙ",yy:"%d ⵉⵙⴳⴰⵙⵏ"},week:{dow:6,doy:12}}), -//! moment.js language configuration -e.defineLocale("ug-cn",{months:"يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر".split("_"),monthsShort:"يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر".split("_"),weekdays:"يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە".split("_"),weekdaysShort:"يە_دۈ_سە_چا_پە_جۈ_شە".split("_"),weekdaysMin:"يە_دۈ_سە_چا_پە_جۈ_شە".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY-MM-DD",LL:"YYYY-يىلىM-ئاينىڭD-كۈنى",LLL:"YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm",LLLL:"dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm"},meridiemParse:/يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,meridiemHour:function(e,t){return 12===e&&(e=0),"يېرىم كېچە"===t||"سەھەر"===t||"چۈشتىن بۇرۇن"===t?e:"چۈشتىن كېيىن"===t||"كەچ"===t?e+12:e>=11?e:e+12},meridiem:function(e,t,n){var a=100*e+t;return a<600?"يېرىم كېچە":a<900?"سەھەر":a<1130?"چۈشتىن بۇرۇن":a<1230?"چۈش":a<1800?"چۈشتىن كېيىن":"كەچ"},calendar:{sameDay:"[بۈگۈن سائەت] LT",nextDay:"[ئەتە سائەت] LT",nextWeek:"[كېلەركى] dddd [سائەت] LT",lastDay:"[تۆنۈگۈن] LT",lastWeek:"[ئالدىنقى] dddd [سائەت] LT",sameElse:"L"},relativeTime:{future:"%s كېيىن",past:"%s بۇرۇن",s:"نەچچە سېكونت",ss:"%d سېكونت",m:"بىر مىنۇت",mm:"%d مىنۇت",h:"بىر سائەت",hh:"%d سائەت",d:"بىر كۈن",dd:"%d كۈن",M:"بىر ئاي",MM:"%d ئاي",y:"بىر يىل",yy:"%d يىل"},dayOfMonthOrdinalParse:/\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"-كۈنى";case"w":case"W":return e+"-ھەپتە";default:return e}},preparse:function(e){return e.replace(/،/g,",")},postformat:function(e){return e.replace(/,/g,"،")},week:{dow:1,doy:7}}),e.defineLocale("uk",{months:{format:"січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня".split("_"),standalone:"січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень".split("_")},monthsShort:"січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд".split("_"),weekdays:function(e,t){var n={nominative:"неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота".split("_"),accusative:"неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу".split("_"),genitive:"неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи".split("_")};return e?n[/(\[[ВвУу]\]) ?dddd/.test(t)?"accusative":/\[?(?:минулої|наступної)? ?\] ?dddd/.test(t)?"genitive":"nominative"][e.day()]:n.nominative},weekdaysShort:"нд_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY р.",LLL:"D MMMM YYYY р., HH:mm",LLLL:"dddd, D MMMM YYYY р., HH:mm"},calendar:{sameDay:dt("[Сьогодні "),nextDay:dt("[Завтра "),lastDay:dt("[Вчора "),nextWeek:dt("[У] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return dt("[Минулої] dddd [").call(this);case 1:case 2:case 4:return dt("[Минулого] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"за %s",past:"%s тому",s:"декілька секунд",ss:ut,m:ut,mm:ut,h:"годину",hh:ut,d:"день",dd:ut,M:"місяць",MM:ut,y:"рік",yy:ut},meridiemParse:/ночі|ранку|дня|вечора/,isPM:function(e){return/^(дня|вечора)$/.test(e)},meridiem:function(e,t,n){return e<4?"ночі":e<12?"ранку":e<17?"дня":"вечора"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го)/,ordinal:function(e,t){switch(t){case"M":case"d":case"DDD":case"w":case"W":return e+"-й";case"D":return e+"-го";default:return e}},week:{dow:1,doy:7}}); -//! moment.js locale configuration -var lt=["جنوری","فروری","مارچ","اپریل","مئی","جون","جولائی","اگست","ستمبر","اکتوبر","نومبر","دسمبر"],mt=["اتوار","پیر","منگل","بدھ","جمعرات","جمعہ","ہفتہ"];e.defineLocale("ur",{months:lt,monthsShort:lt,weekdays:mt,weekdaysShort:mt,weekdaysMin:mt,longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd، D MMMM YYYY HH:mm"},meridiemParse:/صبح|شام/,isPM:function(e){return"شام"===e},meridiem:function(e,t,n){return e<12?"صبح":"شام"},calendar:{sameDay:"[آج بوقت] LT",nextDay:"[کل بوقت] LT",nextWeek:"dddd [بوقت] LT",lastDay:"[گذشتہ روز بوقت] LT",lastWeek:"[گذشتہ] dddd [بوقت] LT",sameElse:"L"},relativeTime:{future:"%s بعد",past:"%s قبل",s:"چند سیکنڈ",ss:"%d سیکنڈ",m:"ایک منٹ",mm:"%d منٹ",h:"ایک گھنٹہ",hh:"%d گھنٹے",d:"ایک دن",dd:"%d دن",M:"ایک ماہ",MM:"%d ماہ",y:"ایک سال",yy:"%d سال"},preparse:function(e){return e.replace(/،/g,",")},postformat:function(e){return e.replace(/,/g,"،")},week:{dow:1,doy:4}}), -//! moment.js locale configuration -e.defineLocale("uz-latn",{months:"Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr".split("_"),monthsShort:"Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek".split("_"),weekdays:"Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba".split("_"),weekdaysShort:"Yak_Dush_Sesh_Chor_Pay_Jum_Shan".split("_"),weekdaysMin:"Ya_Du_Se_Cho_Pa_Ju_Sha".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Bugun soat] LT [da]",nextDay:"[Ertaga] LT [da]",nextWeek:"dddd [kuni soat] LT [da]",lastDay:"[Kecha soat] LT [da]",lastWeek:"[O'tgan] dddd [kuni soat] LT [da]",sameElse:"L"},relativeTime:{future:"Yaqin %s ichida",past:"Bir necha %s oldin",s:"soniya",ss:"%d soniya",m:"bir daqiqa",mm:"%d daqiqa",h:"bir soat",hh:"%d soat",d:"bir kun",dd:"%d kun",M:"bir oy",MM:"%d oy",y:"bir yil",yy:"%d yil"},week:{dow:1,doy:7}}), -//! moment.js locale configuration -e.defineLocale("uz",{months:"январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба".split("_"),weekdaysShort:"Якш_Душ_Сеш_Чор_Пай_Жум_Шан".split("_"),weekdaysMin:"Як_Ду_Се_Чо_Па_Жу_Ша".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"D MMMM YYYY, dddd HH:mm"},calendar:{sameDay:"[Бугун соат] LT [да]",nextDay:"[Эртага] LT [да]",nextWeek:"dddd [куни соат] LT [да]",lastDay:"[Кеча соат] LT [да]",lastWeek:"[Утган] dddd [куни соат] LT [да]",sameElse:"L"},relativeTime:{future:"Якин %s ичида",past:"Бир неча %s олдин",s:"фурсат",ss:"%d фурсат",m:"бир дакика",mm:"%d дакика",h:"бир соат",hh:"%d соат",d:"бир кун",dd:"%d кун",M:"бир ой",MM:"%d ой",y:"бир йил",yy:"%d йил"},week:{dow:1,doy:7}}), -//! moment.js locale configuration -e.defineLocale("vi",{months:"tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12".split("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),monthsParseExact:!0,weekdays:"chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysParseExact:!0,meridiemParse:/sa|ch/i,isPM:function(e){return/^ch$/i.test(e)},meridiem:function(e,t,n){return e<12?n?"sa":"SA":n?"ch":"CH"},longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"DD/MM/YYYY",LL:"D MMMM [năm] YYYY",LLL:"D MMMM [năm] YYYY HH:mm",LLLL:"dddd, D MMMM [năm] YYYY HH:mm",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY HH:mm",llll:"ddd, D MMM YYYY HH:mm"},calendar:{sameDay:"[Hôm nay lúc] LT",nextDay:"[Ngày mai lúc] LT",nextWeek:"dddd [tuần tới lúc] LT",lastDay:"[Hôm qua lúc] LT",lastWeek:"dddd [tuần rồi lúc] LT",sameElse:"L"},relativeTime:{future:"%s tới",past:"%s trước",s:"vài giây",ss:"%d giây",m:"một phút",mm:"%d phút",h:"một giờ",hh:"%d giờ",d:"một ngày",dd:"%d ngày",M:"một tháng",MM:"%d tháng",y:"một năm",yy:"%d năm"},dayOfMonthOrdinalParse:/\d{1,2}/,ordinal:function(e){return e},week:{dow:1,doy:4}}), -//! moment.js locale configuration -e.defineLocale("x-pseudo",{months:"J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér".split("_"),monthsShort:"J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc".split("_"),monthsParseExact:!0,weekdays:"S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý".split("_"),weekdaysShort:"S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát".split("_"),weekdaysMin:"S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá".split("_"),weekdaysParseExact:!0,longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY HH:mm",LLLL:"dddd, D MMMM YYYY HH:mm"},calendar:{sameDay:"[T~ódá~ý át] LT",nextDay:"[T~ómó~rró~w át] LT",nextWeek:"dddd [át] LT",lastDay:"[Ý~ést~érdá~ý át] LT",lastWeek:"[L~ást] dddd [át] LT",sameElse:"L"},relativeTime:{future:"í~ñ %s",past:"%s á~gó",s:"á ~féw ~sécó~ñds",ss:"%d s~écóñ~ds",m:"á ~míñ~úté",mm:"%d m~íñú~tés",h:"á~ñ hó~úr",hh:"%d h~óúrs",d:"á ~dáý",dd:"%d d~áýs",M:"á ~móñ~th",MM:"%d m~óñt~hs",y:"á ~ýéár",yy:"%d ý~éárs"},dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10;return e+(1==~~(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th")},week:{dow:1,doy:4}}), -//! moment.js locale configuration -e.defineLocale("yo",{months:"Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀".split("_"),monthsShort:"Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀".split("_"),weekdays:"Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta".split("_"),weekdaysShort:"Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá".split("_"),weekdaysMin:"Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb".split("_"),longDateFormat:{LT:"h:mm A",LTS:"h:mm:ss A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY h:mm A",LLLL:"dddd, D MMMM YYYY h:mm A"},calendar:{sameDay:"[Ònì ni] LT",nextDay:"[Ọ̀la ni] LT",nextWeek:"dddd [Ọsẹ̀ tón'bọ] [ni] LT",lastDay:"[Àna ni] LT",lastWeek:"dddd [Ọsẹ̀ tólọ́] [ni] LT",sameElse:"L"},relativeTime:{future:"ní %s",past:"%s kọjá",s:"ìsẹjú aayá die",ss:"aayá %d",m:"ìsẹjú kan",mm:"ìsẹjú %d",h:"wákati kan",hh:"wákati %d",d:"ọjọ́ kan",dd:"ọjọ́ %d",M:"osù kan",MM:"osù %d",y:"ọdún kan",yy:"ọdún %d"},dayOfMonthOrdinalParse:/ọjọ́\s\d{1,2}/,ordinal:"ọjọ́ %d",week:{dow:1,doy:4}}), -//! moment.js locale configuration -e.defineLocale("zh-cn",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日Ah点mm分",LLLL:"YYYY年M月D日ddddAh点mm分",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,t){return 12===e&&(e=0),"凌晨"===t||"早上"===t||"上午"===t?e:"下午"===t||"晚上"===t?e+12:e>=11?e:e+12},meridiem:function(e,t,n){var a=100*e+t;return a<600?"凌晨":a<900?"早上":a<1130?"上午":a<1230?"中午":a<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|周)/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"日";case"M":return e+"月";case"w":case"W":return e+"周";default:return e}},relativeTime:{future:"%s内",past:"%s前",s:"几秒",ss:"%d 秒",m:"1 分钟",mm:"%d 分钟",h:"1 小时",hh:"%d 小时",d:"1 天",dd:"%d 天",M:"1 个月",MM:"%d 个月",y:"1 年",yy:"%d 年"},week:{dow:1,doy:4}}), -//! moment.js locale configuration -e.defineLocale("zh-hk",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日dddd HH:mm",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,t){return 12===e&&(e=0),"凌晨"===t||"早上"===t||"上午"===t?e:"中午"===t?e>=11?e:e+12:"下午"===t||"晚上"===t?e+12:void 0},meridiem:function(e,t,n){var a=100*e+t;return a<600?"凌晨":a<900?"早上":a<1130?"上午":a<1230?"中午":a<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"日";case"M":return e+"月";case"w":case"W":return e+"週";default:return e}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",ss:"%d 秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}}), -//! moment.js locale configuration -e.defineLocale("zh-tw",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"HH:mm",LTS:"HH:mm:ss",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日 HH:mm",LLLL:"YYYY年M月D日dddd HH:mm",l:"YYYY/M/D",ll:"YYYY年M月D日",lll:"YYYY年M月D日 HH:mm",llll:"YYYY年M月D日dddd HH:mm"},meridiemParse:/凌晨|早上|上午|中午|下午|晚上/,meridiemHour:function(e,t){return 12===e&&(e=0),"凌晨"===t||"早上"===t||"上午"===t?e:"中午"===t?e>=11?e:e+12:"下午"===t||"晚上"===t?e+12:void 0},meridiem:function(e,t,n){var a=100*e+t;return a<600?"凌晨":a<900?"早上":a<1130?"上午":a<1230?"中午":a<1800?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},dayOfMonthOrdinalParse:/\d{1,2}(日|月|週)/,ordinal:function(e,t){switch(t){case"d":case"D":case"DDD":return e+"日";case"M":return e+"月";case"w":case"W":return e+"週";default:return e}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",ss:"%d 秒",m:"1 分鐘",mm:"%d 分鐘",h:"1 小時",hh:"%d 小時",d:"1 天",dd:"%d 天",M:"1 個月",MM:"%d 個月",y:"1 年",yy:"%d 年"}}),e.locale("en")}(n(0))},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=Object.assign||function(e){for(var t=1;ts)&&void 0===e.nsecs&&(p=0),p>=1e4)throw new Error("uuid.v1(): Can't create more than 10M uuids/sec");s=h,u=p,r=_;var y=(1e4*(268435455&(h+=122192928e5))+p)%4294967296;l[d++]=y>>>24&255,l[d++]=y>>>16&255,l[d++]=y>>>8&255,l[d++]=255&y;var g=h/4294967296*1e4&268435455;l[d++]=g>>>8&255,l[d++]=255&g,l[d++]=g>>>24&15|16,l[d++]=g>>>16&255,l[d++]=_>>>8|128,l[d++]=255&_;for(var v=0;v<6;++v)l[d+v]=m[v];return t||i(l)}},function(e,t,n){var a=n(146),r=n(147);e.exports=function(e,t,n){var o=t&&n||0;"string"==typeof e&&(t="binary"===e?new Array(16):null,e=null);var i=(e=e||{}).random||(e.rng||a)();if(i[6]=15&i[6]|64,i[8]=63&i[8]|128,t)for(var s=0;s<16;++s)t[o+s]=i[s];return t||r(i)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e){var t=window.DecidimComments.assets[e];if(!t)throw new Error('Asset "'+e+"\" can't be found on decidim comments manifest.");return t}},function(e,t,n){var a={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"mutation",name:{kind:"Name",value:"addComment"},variableDefinitions:[{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"commentableId"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"commentableType"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"body"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"alignment"}},type:{kind:"NamedType",name:{kind:"Name",value:"Int"}}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"userGroupId"}},type:{kind:"NamedType",name:{kind:"Name",value:"ID"}}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"locale"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"String"}}}},{kind:"VariableDefinition",variable:{kind:"Variable",name:{kind:"Name",value:"toggleTranslations"}},type:{kind:"NonNullType",type:{kind:"NamedType",name:{kind:"Name",value:"Boolean"}}}}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"commentable"},arguments:[{kind:"Argument",name:{kind:"Name",value:"id"},value:{kind:"Variable",name:{kind:"Name",value:"commentableId"}}},{kind:"Argument",name:{kind:"Name",value:"type"},value:{kind:"Variable",name:{kind:"Name",value:"commentableType"}}},{kind:"Argument",name:{kind:"Name",value:"locale"},value:{kind:"Variable",name:{kind:"Name",value:"locale"}}},{kind:"Argument",name:{kind:"Name",value:"toggleTranslations"},value:{kind:"Variable",name:{kind:"Name",value:"toggleTranslations"}}}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"addComment"},arguments:[{kind:"Argument",name:{kind:"Name",value:"body"},value:{kind:"Variable",name:{kind:"Name",value:"body"}}},{kind:"Argument",name:{kind:"Name",value:"alignment"},value:{kind:"Variable",name:{kind:"Name",value:"alignment"}}},{kind:"Argument",name:{kind:"Name",value:"userGroupId"},value:{kind:"Variable",name:{kind:"Name",value:"userGroupId"}}}],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"FragmentSpread",name:{kind:"Name",value:"CommentThread"},directives:[]}]}}]}}]}}],loc:{start:0,end:464}};a.loc.source={body:'#import "../fragments/comment_thread.fragment.graphql"\n\nmutation addComment($commentableId: String!, $commentableType: String!, $body: String!, $alignment: Int, $userGroupId: ID, $locale: String!, $toggleTranslations: Boolean!) {\n commentable(id: $commentableId, type: $commentableType, locale: $locale, toggleTranslations: $toggleTranslations) {\n addComment(body: $body, alignment: $alignment, userGroupId: $userGroupId) {\n ...CommentThread\n }\n }\n}\n',name:"GraphQL request",locationOffset:{line:1,column:1}};var r={};a.definitions=a.definitions.concat(n(148).definitions.filter((function(e){if("FragmentDefinition"!==e.kind)return!0;var t=e.name.value;return!r[t]&&(r[t]=!0,!0)})));var o={};function i(e,t){return e.definitions.find((function(e){return!!e.name&&e.name.value==t}))}a.definitions.forEach((function(e){if(e.name){var t=new Set;!function e(t,n){if("FragmentSpread"===t.kind)n.add(t.name.value);else if("VariableDefinition"===t.kind){var a=t.type;"NamedType"===a.kind&&n.add(a.name.value)}t.selectionSet&&t.selectionSet.selections.forEach((function(t){e(t,n)})),t.variableDefinitions&&t.variableDefinitions.forEach((function(t){e(t,n)})),t.definitions&&t.definitions.forEach((function(t){e(t,n)}))}(e,t),o[e.name.value]=t}})),e.exports=a,e.exports.addComment=function(e,t){var n=Object.assign({},e),a=i(e,t);n.definitions=[a];for(var r=o[t]||new Set,s=new Set,u=new Set(r);u.size>0;){var d=u;u=new Set,d.forEach((function(e){s.has(e)||(s.add(e),(o[e]||new Set).forEach((function(e){u.add(e)})))}))}return s.forEach((function(t){var a=i(e,t);a&&n.definitions.push(a)})),n}(a,"addComment")},function(e,t,n){var a={kind:"Document",definitions:[{kind:"FragmentDefinition",name:{kind:"Name",value:"CommentData"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Comment"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"sgid"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"type"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"body"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"formattedBody"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"createdAt"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"formattedCreatedAt"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"author"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"name"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"nickname"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"avatarUrl"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"profilePath"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"deleted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"badge"},arguments:[],directives:[]}]}},{kind:"Field",name:{kind:"Name",value:"hasComments"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"acceptsNewComments"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"userAllowedToComment"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"alignment"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"alreadyReported"},arguments:[],directives:[]},{kind:"FragmentSpread",name:{kind:"Name",value:"UpVoteButton"},directives:[]},{kind:"FragmentSpread",name:{kind:"Name",value:"DownVoteButton"},directives:[]}]}}],loc:{start:0,end:439}};a.loc.source={body:'#import "../fragments/up_vote_button.fragment.graphql"\n#import "../fragments/down_vote_button.fragment.graphql"\n\nfragment CommentData on Comment {\n id\n sgid\n type\n body\n formattedBody\n createdAt\n formattedCreatedAt\n author {\n name\n nickname\n avatarUrl\n profilePath\n deleted\n badge\n }\n hasComments\n acceptsNewComments\n userAllowedToComment\n alignment\n alreadyReported\n ...UpVoteButton\n ...DownVoteButton\n}\n',name:"GraphQL request",locationOffset:{line:1,column:1}};var r={};function o(e){return e.filter((function(e){if("FragmentDefinition"!==e.kind)return!0;var t=e.name.value;return!r[t]&&(r[t]=!0,!0)}))}a.definitions=a.definitions.concat(o(n(260).definitions)),a.definitions=a.definitions.concat(o(n(261).definitions)),e.exports=a},function(e,t){var n={kind:"Document",definitions:[{kind:"FragmentDefinition",name:{kind:"Name",value:"UpVoteButton"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Comment"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"upVotes"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"upVoted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"downVoted"},arguments:[],directives:[]}]}}],loc:{start:0,end:74}};n.loc.source={body:"fragment UpVoteButton on Comment {\n id\n upVotes\n upVoted\n downVoted\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};e.exports=n},function(e,t){var n={kind:"Document",definitions:[{kind:"FragmentDefinition",name:{kind:"Name",value:"DownVoteButton"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Comment"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"downVotes"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"downVoted"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"upVoted"},arguments:[],directives:[]}]}}],loc:{start:0,end:78}};n.loc.source={body:"fragment DownVoteButton on Comment {\n id\n downVotes\n downVoted\n upVoted\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};e.exports=n},function(e,t){var n={kind:"Document",definitions:[{kind:"FragmentDefinition",name:{kind:"Name",value:"AddCommentFormSession"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Session"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"verifiedUserGroups"},arguments:[],directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"name"},arguments:[],directives:[]}]}}]}}],loc:{start:0,end:89}};n.loc.source={body:"fragment AddCommentFormSession on Session {\n verifiedUserGroups {\n id\n name\n }\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};e.exports=n},function(e,t){var n={kind:"Document",definitions:[{kind:"FragmentDefinition",name:{kind:"Name",value:"AddCommentFormCommentable"},typeCondition:{kind:"NamedType",name:{kind:"Name",value:"Commentable"}},directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",name:{kind:"Name",value:"id"},arguments:[],directives:[]},{kind:"Field",name:{kind:"Name",value:"type"},arguments:[],directives:[]}]}}],loc:{start:0,end:66}};n.loc.source={body:"fragment AddCommentFormCommentable on Commentable {\n id\n type\n}\n",name:"GraphQL request",locationOffset:{line:1,column:1}};e.exports=n},function(e,t,n){"use strict";var a,r=this&&this.__extends||(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,t){function n(){this.constructor=e}a(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(3),i=n(5).I18n,s=function(e){function t(t){var n=e.call(this,t)||this;return n.setDropdown=function(e){return n.dropdown=e},n.updateOrder=function(e){return function(t){t.preventDefault(),n.setState({orderBy:e}),n.props.reorderComments(e)}},n.state={orderBy:n.props.defaultOrderBy},n}return r(t,e),t.prototype.componentDidMount=function(){window.$(this.dropdown).foundation()},t.prototype.render=function(){var e=this.state.orderBy;return o.createElement("div",{className:"order-by__dropdown order-by__dropdown--right"},o.createElement("span",{className:"order-by__text"},i.t("components.comment_order_selector.title")),o.createElement("ul",{className:"dropdown menu","data-dropdown-menu":"data-dropdown-menu","data-autoclose":"false","data-disable-hover":"true","data-click-open":"true","data-close-on-click":"true",tabIndex:-1,ref:this.setDropdown},o.createElement("li",{className:"is-dropdown-submenu-parent",tabIndex:-1},o.createElement("a",{href:"#",id:"comments-order-menu-control","aria-label":i.t("components.comment_order_selector.title"),"aria-controls":"comments-order-menu","aria-haspopup":"true"},i.t("components.comment_order_selector.order."+e)),o.createElement("ul",{className:"menu is-dropdown-submenu",id:"language-chooser-menu",role:"menu","aria-labelledby":"comments-order-menu-control",tabIndex:-1},o.createElement("li",null,o.createElement("a",{href:"#",className:"test",onClick:this.updateOrder("best_rated"),tabIndex:-1},i.t("components.comment_order_selector.order.best_rated"))),o.createElement("li",null,o.createElement("a",{href:"#",onClick:this.updateOrder("recent"),tabIndex:-1},i.t("components.comment_order_selector.order.recent"))),o.createElement("li",null,o.createElement("a",{href:"#",onClick:this.updateOrder("older"),tabIndex:-1},i.t("components.comment_order_selector.order.older"))),o.createElement("li",null,o.createElement("a",{href:"",onClick:this.updateOrder("most_discussed"),tabIndex:-1},i.t("components.comment_order_selector.order.most_discussed")))))))},t}(o.Component);t.default=s},function(e,t,n){"use strict";var a,r=this&&this.__extends||(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,t){function n(){this.constructor=e}a(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(3),i=n(266),s=n(5).I18n,u=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t.prototype.render=function(){var e=this.props,t=e.comment,n=e.session,a=e.votable,r=e.rootCommentable,s=e.orderBy,u=e.commentsMaxLength;return o.createElement("div",null,this._renderTitle(),o.createElement("div",{className:"comment-thread"},o.createElement(i.default,{comment:t,session:n,votable:a,isRootComment:!0,rootCommentable:r,orderBy:s,commentsMaxLength:u})))},t.prototype._renderTitle=function(){var e=this.props.comment,t=e.author;return e.hasComments?o.createElement("h6",{className:"comment-thread__title"},t.deleted?s.t("components.comment_thread.title",{authorName:s.t("components.comment.deleted_user")}):s.t("components.comment_thread.title",{authorName:t.name})):null},t.defaultProps={session:null,votable:!1},t}(o.Component);t.default=u},function(e,t,n){"use strict";var a,r=this&&this.__extends||(a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,t){function n(){this.constructor=e}a(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)});Object.defineProperty(t,"__esModule",{value:!0});var o=n(145),i=n(3),s=n(16),u=n(144),d=n(267),l=n(269),m=n(5).I18n,_=function(e){function t(t){var n=e.call(this,t)||this;n.getNodeReference=function(e){return n.commentNode=e},n.toggleReplyForm=function(){var e=n.state.showReplyForm;n.setState({showReplyForm:!e})},n.getThreadsStorage=function(){return JSON.parse(localStorage.hiddenCommentThreads||null)||{}},n.saveThreadsStorage=function(e,t){var a=n.getThreadsStorage();a[parseInt(e,10)]=t,localStorage.hiddenCommentThreads=JSON.stringify(a)},n.toggleReplies=function(){var e=n.props.comment.id,t=!n.state.showReplies;n.saveThreadsStorage(e,!t),n.setState({showReplies:t})},n.countReplies=function(e){var t=e.comments;return t?t.length+t.map(n.countReplies).reduce((function(e,t){return e+t}),0):0};var a=t.comment.id,r=!!n.getThreadsStorage()[a];return n.state={showReplies:!r,showReplyForm:!1},n}return r(t,e),t.prototype.componentDidMount=function(){var e=this.props.comment.id,t=document.location.hash;new RegExp("#comment_"+e).test(t)&&function e(t,n,a){if(!(a<=0)){var r=(n-t.scrollTop)/a*10;setTimeout((function(){t.scrollTop=t.scrollTop+r,t.scrollTop!==n&&e(t,n,a-10)}),10)}}(document.body,this.commentNode.offsetTop,200),window.$(document).foundation&&window.$("#flagModalComment"+e).foundation()},t.prototype.render=function(){var e=this.props,t=e.session,n=e.comment,a=n.id,r=(n.author,n.formattedBody),o=n.createdAt,u=n.formattedCreatedAt,d=e.articleClassName,l="loginModal";t&&t.user&&(l="flagModalComment"+a);var _=window.location.pathname+"?commentId="+a;return window.location.search&&""!==window.location.search&&(_=""+window.location.pathname+window.location.search.replace(/commentId=\d*/gi,"commentId="+a)),i.createElement("div",{id:"comment_"+a,className:d,ref:this.getNodeReference},i.createElement("div",{className:"comment__header"},i.createElement("div",{className:"author-data"},i.createElement("div",{className:"author-data__main"},this._renderAuthorReference(),i.createElement("span",null,i.createElement("time",{dateTime:o,title:o},u))),i.createElement("div",{className:"author-data__extra"},i.createElement("button",{type:"button",className:"link-alt",title:m.t("components.comment.report.title"),"data-open":l},i.createElement(s.default,{name:"icon-flag",iconExtraClassName:"icon--small",title:m.t("components.comment.report.title"),role:"img"})),this._renderFlagModal(),i.createElement("a",{href:_,title:m.t("components.comment.single_comment_link_title")},i.createElement(s.default,{name:"icon-link-intact",iconExtraClassName:"icon--small",title:m.t("components.comment.single_comment_link_title"),role:"img"}))))),i.createElement("div",{className:"comment__content"},i.createElement("div",null,this._renderAlignmentBadge(),i.createElement("div",{dangerouslySetInnerHTML:{__html:r}}))),i.createElement("div",{className:"comment__footer"},i.createElement("div",{className:"comment__actions"},this._renderShowHideThreadButton(),this._renderReplyButton()),this._renderVoteButtons()),this._renderReplies(),this._renderAdditionalReplyButton(),this._renderReplyForm())},t.prototype._renderAuthorReference=function(){var e=this.props.comment.author;return""===e.profilePath?this._renderAuthor():i.createElement("a",{href:e.profilePath},this._renderAuthor())},t.prototype._renderAuthor=function(){return this.props.comment.author.deleted?this._renderDeletedAuthor():this._renderActiveAuthor()},t.prototype._renderDeletedAuthor=function(){var e=this.props.comment.author;return i.createElement("div",{className:"author author--inline"},i.createElement("span",{className:"author__avatar"},i.createElement("img",{src:e.avatarUrl,alt:"author-avatar"})),i.createElement("span",{className:"author__name"},i.createElement("span",{className:"label label--small label--basic"},m.t("components.comment.deleted_user"))))},t.prototype._renderActiveAuthor=function(){var e=this.props.comment.author;return i.createElement("div",{className:"author author--inline"},i.createElement("span",{className:"author__avatar"},i.createElement("img",{src:e.avatarUrl,alt:"author-avatar"})),i.createElement("span",{className:"author__name"},e.name),""===e.badge||i.createElement("span",{className:"author__badge"},i.createElement(s.default,{name:"icon-"+e.badge})),i.createElement("span",{className:"author__nickname"},e.nickname))},t.prototype._renderReplyButton=function(){var e=this.props,t=e.comment,n=t.id,a=t.acceptsNewComments,r=t.userAllowedToComment;return e.session&&a&&r?i.createElement("button",{className:"comment__reply muted-link","aria-controls":"comment"+n+"-reply","data-toggle":"comment"+n+"-reply",onClick:this.toggleReplyForm},i.createElement(s.default,{name:"icon-pencil",iconExtraClassName:"icon--small"})," ",m.t("components.comment.reply")):i.createElement("span",null," ")},t.prototype._renderAdditionalReplyButton=function(){var e=this.props,t=e.comment,n=t.id,a=t.acceptsNewComments,r=t.hasComments,o=t.userAllowedToComment,u=e.session,d=e.isRootComment,l=this.state.showReplies;return u&&a&&o&&r&&d&&l?i.createElement("div",{className:"comment__additionalreply"},i.createElement("button",{className:"comment__reply muted-link","aria-controls":"comment"+n+"-reply","data-toggle":"comment"+n+"-reply",onClick:this.toggleReplyForm},i.createElement(s.default,{name:"icon-pencil",iconExtraClassName:"icon--small"})," ",m.t("components.comment.reply"))):null},t.prototype._renderShowHideThreadButton=function(){var e=this.props,t=e.comment,n=e.isRootComment,a=(t.id,t.hasComments),r=this.state.showReplies;return a&&n?i.createElement("button",{className:"comment__reply muted-link "+(r?"comment__is-open":""),onClick:this.toggleReplies},i.createElement(s.default,{name:"icon-comment-square",iconExtraClassName:"icon--small"})," ",i.createElement("span",{className:"comment__text-is-closed"},m.t("components.comment.show_replies",{replies_count:this.countReplies(t)})),i.createElement("span",{className:"comment__text-is-open"},m.t("components.comment.hide_replies"))):null},t.prototype._renderVoteButtons=function(){var e=this.props,t=e.session,n=e.comment,a=e.votable,r=e.rootCommentable,o=e.orderBy,s=this.props.comment.userAllowedToComment;return a&&s?i.createElement("div",{className:"comment__votes"},i.createElement(l.default,{session:t,comment:n,rootCommentable:r,orderBy:o}),i.createElement(d.default,{session:t,comment:n,rootCommentable:r,orderBy:o})):i.createElement("span",null," ")},t.prototype._renderReplies=function(){var e=this.props,n=e.comment,a=n.id,r=n.hasComments,o=n.comments,s=e.session,u=e.votable,d=e.articleClassName,l=e.rootCommentable,m=e.orderBy,_=e.commentsMaxLength,c=this.state.showReplies,h="comment comment--nested";return"comment comment--nested"===d&&(h+=" comment--nested--alt"),r?i.createElement("div",{id:"comment-"+a+"-replies",className:c?"":"hide"},o.map((function(e){return i.createElement(t,{key:"comment_"+a+"_reply_"+e.id,comment:e,session:s,votable:u,articleClassName:h,rootCommentable:l,orderBy:m,commentsMaxLength:_})}))):null},t.prototype._renderReplyForm=function(){var e=this.props,t=e.session,n=e.comment,a=e.rootCommentable,r=e.orderBy,o=e.commentsMaxLength,s=this.state.showReplyForm,d=this.props.comment.userAllowedToComment;return t&&s&&d?i.createElement(u.default,{session:t,commentable:n,showTitle:!1,submitButtonClassName:"button small hollow",onCommentAdded:this.toggleReplyForm,autoFocus:!0,rootCommentable:a,orderBy:r,commentsMaxLength:o}):null},t.prototype._renderAlignmentBadge=function(){var e=this.props.comment.alignment,t=o("label alignment",{success:1===e,alert:-1===e}),n="";return n=1===e?m.t("components.comment.alignment.in_favor"):m.t("components.comment.alignment.against"),1===e||-1===e?i.createElement("span",null,i.createElement("span",{className:t},n)," "):null},t.prototype._renderFlagModal=function(){var e=this.props,t=e.session,n=e.comment,a=n.id,r=n.sgid,o=n.alreadyReported,s=n.userAllowedToComment,u=this._getAuthenticityToken();return t&&t.user&&s?i.createElement("div",{className:"reveal flag-modal",id:"flagModalComment"+a,"data-reveal":!0},i.createElement("div",{className:"reveal__header"},i.createElement("h3",{className:"reveal__title"},m.t("components.comment.report.title")),i.createElement("button",{className:"close-button","aria-label":m.t("components.comment.report.close"),type:"button",onClick:function(){window.$("#flagModalComment"+a).foundation("close")}},i.createElement("span",{"aria-hidden":"true"},"×"))),o?i.createElement("p",{key:"already-reported-comment-"+a},m.t("components.comment.report.already_reported")):[i.createElement("p",{key:"report-description-comment-"+a},m.t("components.comment.report.description")),i.createElement("form",{key:"report-form-comment-"+a,method:"post",action:"/report?sgid="+r},i.createElement("input",{type:"hidden",name:"authenticity_token",value:u}),i.createElement("label",{htmlFor:"report_comment_"+a+"_reason_spam"},i.createElement("input",{type:"radio",value:"spam",name:"report[reason]",id:"report_comment_"+a+"_reason_spam",defaultChecked:!0}),m.t("components.comment.report.reasons.spam")),i.createElement("label",{htmlFor:"report_comment_"+a+"_reason_offensive"},i.createElement("input",{type:"radio",value:"offensive",name:"report[reason]",id:"report_comment_"+a+"_reason_offensive"}),m.t("components.comment.report.reasons.offensive")),i.createElement("label",{htmlFor:"report_comment_"+a+"_reason_does_not_belong"},i.createElement("input",{type:"radio",value:"does_not_belong",name:"report[reason]",id:"report_comment_"+a+"_reason_does_not_belong"}),m.t("components.comment.report.reasons.does_not_belong",{organization_name:t.user.organizationName})),i.createElement("label",{htmlFor:"report_comment_"+a+"_details"},m.t("components.comment.report.details"),i.createElement("textarea",{rows:4,name:"report[details]",id:"report_comment_"+a+"_details"})),i.createElement("button",{type:"submit",name:"commit",className:"button"},m.t("components.comment.report.action")))]):null},t.prototype._getAuthenticityToken=function(){return window.$('meta[name="csrf-token"]').attr("content")},t.defaultProps={articleClassName:"comment",isRootComment:!1,session:null,votable:!1},t}(i.Component);t.default=_},function(e,t,n){"use strict";var a=this&&this.__assign||Object.assign||function(e){for(var t,n=1,a=arguments.length;n0;){var d=u;u=new Set,d.forEach((function(e){s.has(e)||(s.add(e),(o[e]||new Set).forEach((function(e){u.add(e)})))}))}return s.forEach((function(t){var a=i(e,t);a&&n.definitions.push(a)})),n}(a,"DownVote")},function(e,t,n){"use strict";var a=this&&this.__assign||Object.assign||function(e){for(var t,n=1,a=arguments.length;n0;){var d=u;u=new Set,d.forEach((function(e){s.has(e)||(s.add(e),(o[e]||new Set).forEach((function(e){u.add(e)})))}))}return s.forEach((function(t){var a=i(e,t);a&&n.definitions.push(a)})),n}(a,"UpVote")},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=n(272),r=n(5).I18n;t.loadLocaleTranslations=function(e){var t=n(274)("./"+e+".yml"),a=Object.keys(t).reduce((function(n,a){return n[e]=t[e].decidim,n}),{});r.setTranslations(a)},t.default=function(){var e=n(273),t=a.default(e),o=e.keys().reduce((function(e,n,a){var r=n.match(/\.\/(.*)\.yml/);if(r){var o=r[1],i=t[a][o];i&&i.decidim&&(e[o]=i.decidim)}return e}),{});r.setTranslations(o)}},function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});t.default=function(e){return e.keys().map(e)}},function(e,t,n){var a={"./am-ET.yml":150,"./ar-SA.yml":151,"./ar.yml":152,"./bg-BG.yml":153,"./bg.yml":154,"./ca.yml":155,"./cs-CZ.yml":156,"./cs.yml":157,"./da-DK.yml":158,"./da.yml":159,"./de.yml":160,"./el-GR.yml":161,"./el.yml":162,"./en.yml":163,"./eo-UY.yml":164,"./eo.yml":165,"./es-MX.yml":166,"./es-PY.yml":167,"./es.yml":168,"./et-EE.yml":169,"./et.yml":170,"./eu.yml":171,"./fi-pl.yml":172,"./fi-plain.yml":173,"./fi.yml":174,"./fr-CA.yml":175,"./fr.yml":176,"./ga-IE.yml":177,"./gl.yml":178,"./hr-HR.yml":179,"./hr.yml":180,"./hu.yml":181,"./id-ID.yml":182,"./is-IS.yml":183,"./is.yml":184,"./it.yml":185,"./ja.yml":186,"./ko-KR.yml":187,"./ko.yml":188,"./lt-LT.yml":189,"./lt.yml":190,"./lv.yml":191,"./mt-MT.yml":192,"./mt.yml":193,"./nl.yml":194,"./no.yml":195,"./om-ET.yml":196,"./pl.yml":197,"./pt-BR.yml":198,"./pt.yml":199,"./ro-RO.yml":200,"./ru.yml":201,"./si-LK.yml":202,"./sk-SK.yml":203,"./sk.yml":204,"./sl.yml":205,"./so-SO.yml":206,"./sr-CS.yml":207,"./sv.yml":208,"./sw-KE.yml":209,"./ti-ER.yml":210,"./tr-TR.yml":211,"./uk.yml":212,"./vi-VN.yml":213,"./vi.yml":214,"./zh-CN.yml":215,"./zh-TW.yml":216};function r(e){var t=o(e);return n(t)}function o(e){if(!n.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}r.keys=function(){return Object.keys(a)},r.resolve=o,e.exports=r,r.id=273},function(e,t,n){var a={"./am-ET.yml":150,"./ar-SA.yml":151,"./ar.yml":152,"./bg-BG.yml":153,"./bg.yml":154,"./ca.yml":155,"./cs-CZ.yml":156,"./cs.yml":157,"./da-DK.yml":158,"./da.yml":159,"./de.yml":160,"./el-GR.yml":161,"./el.yml":162,"./en.yml":163,"./eo-UY.yml":164,"./eo.yml":165,"./es-MX.yml":166,"./es-PY.yml":167,"./es.yml":168,"./et-EE.yml":169,"./et.yml":170,"./eu.yml":171,"./fi-pl.yml":172,"./fi-plain.yml":173,"./fi.yml":174,"./fr-CA.yml":175,"./fr.yml":176,"./ga-IE.yml":177,"./gl.yml":178,"./hr-HR.yml":179,"./hr.yml":180,"./hu.yml":181,"./id-ID.yml":182,"./is-IS.yml":183,"./is.yml":184,"./it.yml":185,"./ja.yml":186,"./ko-KR.yml":187,"./ko.yml":188,"./lt-LT.yml":189,"./lt.yml":190,"./lv.yml":191,"./mt-MT.yml":192,"./mt.yml":193,"./nl.yml":194,"./no.yml":195,"./om-ET.yml":196,"./pl.yml":197,"./pt-BR.yml":198,"./pt.yml":199,"./ro-RO.yml":200,"./ru.yml":201,"./si-LK.yml":202,"./sk-SK.yml":203,"./sk.yml":204,"./sl.yml":205,"./so-SO.yml":206,"./sr-CS.yml":207,"./sv.yml":208,"./sw-KE.yml":209,"./ti-ER.yml":210,"./tr-TR.yml":211,"./uk.yml":212,"./vi-VN.yml":213,"./vi.yml":214,"./zh-CN.yml":215,"./zh-TW.yml":216};function r(e){var t=o(e);return n(t)}function o(e){if(!n.o(a,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return a[e]}r.keys=function(){return Object.keys(a)},r.resolve=o,e.exports=r,r.id=274},function(e,t,n){"use strict";n.r(t),n.d(t,"InMemoryCache",(function(){return J})),n.d(t,"defaultDataIdFromObject",(function(){return V})),n.d(t,"ID_KEY",(function(){return O})),n.d(t,"readQueryFromStore",(function(){return E})),n.d(t,"diffQueryAgainstStore",(function(){return z})),n.d(t,"assertIdValue",(function(){return C})),n.d(t,"WriteError",(function(){return v})),n.d(t,"enhanceErrorWithDocument",(function(){return M})),n.d(t,"writeQueryToStore",(function(){return k})),n.d(t,"writeResultToStore",(function(){return L})),n.d(t,"writeSelectionSetToStore",(function(){return b})),n.d(t,"HeuristicFragmentMatcher",(function(){return m})),n.d(t,"IntrospectionFragmentMatcher",(function(){return _})),n.d(t,"ObjectCache",(function(){return h})),n.d(t,"defaultNormalizedCacheFactory",(function(){return p})),n.d(t,"RecordingCache",(function(){return F})),n.d(t,"record",(function(){return I}));var a=n(1);function r(e){return{kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:{kind:"Name",value:"GeneratedClientQuery"},selectionSet:o(e)}]}}function o(e){if("number"==typeof e||"boolean"==typeof e||"string"==typeof e||null==e)return null;if(Array.isArray(e))return o(e[0]);var t=[];return Object.keys(e).forEach((function(n){var a={kind:"Field",name:{kind:"Name",value:n}},r=o(e[n]);r&&(a.selectionSet=r),t.push(a)})),{kind:"SelectionSet",selections:t}}var i,s={kind:"Document",definitions:[{kind:"OperationDefinition",operation:"query",name:null,variableDefinitions:null,directives:[],selectionSet:{kind:"SelectionSet",selections:[{kind:"Field",alias:null,name:{kind:"Name",value:"__typename"},arguments:[],directives:[],selectionSet:null}]}}]},u=Object.assign||function(e){for(var t,n=1,a=arguments.length;n-1)},e.prototype.parseIntrospectionResult=function(e){var t={};return e.__schema.types.forEach((function(e){"UNION"!==e.kind&&"INTERFACE"!==e.kind||(t[e.name]=e.possibleTypes.map((function(e){return e.name})))})),t},e}(),c=n(4),h=function(){function e(e){void 0===e&&(e={}),this.data=e}return e.prototype.toObject=function(){return this.data},e.prototype.get=function(e){return this.data[e]},e.prototype.set=function(e,t){this.data[e]=t},e.prototype.delete=function(e){this.data[e]=void 0},e.prototype.clear=function(){this.data={}},e.prototype.replace=function(e){this.data=e||{}},e}();function p(e){return new h(e)}var f,y=(f=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,t){function n(){this.constructor=e}f(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),g=Object.assign||function(e){for(var t,n=1,a=arguments.length;n=0)return!0;n[e].push(t)}else n[e]=[t];return!1}function D(e,t,n,r,o,i){void 0===i&&(i={});var s=Object(a.i)(t),u=Object(a.g)(t),d={fragmentMap:Object(a.d)(u),contextValue:r,variableValues:o,resultMapper:i.resultMapper,resolver:e,fragmentMatcher:i.fragmentMatcher||function(){return!0}};return T(s.selectionSet,n,d)}function T(e,t,n){var r=n.fragmentMap,o=n.contextValue,i=n.variableValues,s={};return e.selections.forEach((function(e){if(Object(a.A)(e,i))if(Object(a.r)(e)){var u=function(e,t,n){var r=n.variableValues,o=n.contextValue,i=n.resolver,s=e.name.value,u=Object(a.b)(e,r),d={isLeaf:!e.selectionSet,resultKey:Object(a.z)(e),directives:Object(a.f)(e,r)},l=i(s,t,u,o,d);if(!e.selectionSet)return l;if(null==l)return l;if(Array.isArray(l))return function e(t,n,a){return n.map((function(n){return null===n?null:Array.isArray(n)?e(t,n,a):T(t.selectionSet,n,a)}))}(e,l,n);return T(e.selectionSet,l,n)}(e,t,n),d=Object(a.z)(e);void 0!==u&&(void 0===s[d]?s[d]=u:j(s[d],u))}else{var l=void 0;if(Object(a.t)(e))l=e;else if(!(l=r[e.name.value]))throw new Error("No fragment named "+e.name.value);var m=l.typeCondition.name.value;if(n.fragmentMatcher(t,m,o)){var _=T(l.selectionSet,t,n);j(s,_)}}})),n.resultMapper?n.resultMapper(s,t):s}function j(e,t){if(null===t||"object"!=typeof t)return t;Object.keys(e).forEach((function(n){t.hasOwnProperty(n)&&j(e[n],t[n])})),Object.keys(t).forEach((function(n){e.hasOwnProperty(n)||(e[n]=t[n])}))}function S(e){this.message=e,this.stack=""}S.prototype=Error.prototype;var H=D,x=Object.assign||function(e){for(var t,n=1,a=arguments.length;n-1}),!0)&&n.every((function(n){return function e(t,n){if(t===n)return!0;if(!Array.isArray(t)||!Array.isArray(n)||t.length!==n.length)return!1;return t.every((function(t,a){return e(t,n[a])}))}(e[n],t.previousResult[n])})))return t.previousResult}return Object.defineProperty(e,O,{enumerable:!1,configurable:!1,writable:!1,value:t.id}),e}var A=Object.assign||function(e){for(var t,n=1,a=arguments.length;n0){var t=this.optimistic.map((function(e){return e.data}));return Object.assign.apply(Object,[{},this.data.toObject()].concat(t))}return this.data.toObject()},t.prototype.read=function(e){return e.rootId&&void 0===this.data.get(e.rootId)?null:E({store:this.config.storeFactory(this.extract(e.optimistic)),query:this.transformDocument(e.query),variables:e.variables,rootId:e.rootId,fragmentMatcherFunction:this.config.fragmentMatcher.match,previousResult:e.previousResult,config:this.config})},t.prototype.write=function(e){L({dataId:e.dataId,result:e.result,variables:e.variables,document:this.transformDocument(e.query),store:this.data,dataIdFromObject:this.config.dataIdFromObject,fragmentMatcherFunction:this.config.fragmentMatcher.match}),this.broadcastWatches()},t.prototype.diff=function(e){return z({store:this.config.storeFactory(this.extract(e.optimistic)),query:this.transformDocument(e.query),variables:e.variables,returnPartialData:e.returnPartialData,previousResult:e.previousResult,fragmentMatcherFunction:this.config.fragmentMatcher.match,config:this.config})},t.prototype.watch=function(e){var t=this;return this.watches.push(e),function(){t.watches=t.watches.filter((function(t){return t!==e}))}},t.prototype.evict=function(e){throw new Error("eviction is not implemented on InMemory Cache")},t.prototype.reset=function(){return this.data.clear(),this.broadcastWatches(),Promise.resolve()},t.prototype.removeOptimistic=function(e){var t=this,n=this.optimistic.filter((function(t){return t.id!==e}));this.optimistic=[],n.forEach((function(e){t.recordOptimisticTransaction(e.transaction,e.id)})),this.broadcastWatches()},t.prototype.performTransaction=function(e){var t=this.silenceBroadcast;this.silenceBroadcast=!0,e(this),t||(this.silenceBroadcast=!1),this.broadcastWatches()},t.prototype.recordOptimisticTransaction=function(e,t){var n=this;this.silenceBroadcast=!0;var a=I(this.extract(!0),(function(t){var a=n.data;n.data=t,n.performTransaction(e),n.data=a}));this.optimistic.push({id:t,transaction:e,data:a}),this.silenceBroadcast=!1,this.broadcastWatches()},t.prototype.transformDocument=function(e){return this.addTypename?Object(a.a)(e):e},t.prototype.readQuery=function(e,t){return void 0===t&&(t=!1),this.read({query:e.query,variables:e.variables,optimistic:t})},t.prototype.readFragment=function(e,t){return void 0===t&&(t=!1),this.read({query:this.transformDocument(Object(a.h)(e.fragment,e.fragmentName)),variables:e.variables,rootId:e.id,optimistic:t})},t.prototype.writeQuery=function(e){this.write({dataId:"ROOT_QUERY",result:e.data,query:this.transformDocument(e.query),variables:e.variables})},t.prototype.writeFragment=function(e){this.write({dataId:e.id,result:e.data,query:this.transformDocument(Object(a.h)(e.fragment,e.fragmentName)),variables:e.variables})},t.prototype.broadcastWatches=function(){var e=this;this.silenceBroadcast||this.watches.forEach((function(t){var n=e.diff({query:t.query,variables:t.variables,previousResult:t.previousResult&&t.previousResult(),optimistic:t.optimistic});t.callback(n)}))},t}(d)},function(e,t,n){"use strict";n.r(t),n.d(t,"printAST",(function(){return r.print})),n.d(t,"ObservableQuery",(function(){return y})),n.d(t,"NetworkStatus",(function(){return a})),n.d(t,"FetchType",(function(){return c})),n.d(t,"ApolloError",(function(){return h})),n.d(t,"ApolloClient",(function(){return E}));var a,r=n(4),o=n(1);function i(e){return e<7}!function(e){e[e.loading=1]="loading",e[e.setVariables=2]="setVariables",e[e.fetchMore=3]="fetchMore",e[e.refetch=4]="refetch",e[e.poll=6]="poll",e[e.ready=7]="ready",e[e.error=8]="error"}(a||(a={}));var s,u=n(2),d=n(217),l=(s=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])},function(e,t){function n(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}),m=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return l(t,e),t.prototype[d.a]=function(){return this},t}(u.b),_=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function a(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(a.prototype=n.prototype,new a)}}();var c,h=function(e){function t(t){var n,a,r=t.graphQLErrors,o=t.networkError,i=t.errorMessage,s=t.extraInfo,u=e.call(this,i)||this;return u.graphQLErrors=r||[],u.networkError=o||null,u.message=i||(n=u,a="",Array.isArray(n.graphQLErrors)&&0!==n.graphQLErrors.length&&n.graphQLErrors.forEach((function(e){var t=e?e.message:"Error message not found.";a+="GraphQL error: "+t+"\n"})),n.networkError&&(a+="Network error: "+n.networkError.message+"\n"),a=a.replace(/\n$/,"")),u.extraInfo=s,u}return _(t,e),t}(Error);!function(e){e[e.normal=1]="normal",e[e.refetch=2]="refetch",e[e.poll=3]="poll"}(c||(c={}));var p=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function a(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(a.prototype=n.prototype,new a)}}(),f=Object.assign||function(e){for(var t,n=1,a=arguments.length;n0&&"none"===t||e.networkError))return{data:{},loading:!1,networkStatus:n.networkStatus,error:new h({graphQLErrors:n.graphQLErrors,networkError:n.networkError})};var r,o=this.queryManager.getCurrentQueryResult(this),s=o.data,u=o.partial,d=!n||n.networkStatus===a.loading,l="network-only"===this.options.fetchPolicy&&d||u&&"cache-only"!==this.options.fetchPolicy,m={data:s,loading:i(r=n?n.networkStatus:l?a.loading:a.ready),networkStatus:r};if(n&&n.graphQLErrors&&"all"===this.options.errorPolicy&&(m.errors=n.graphQLErrors),!u){this.lastResult=f({},m,{stale:!1})}return f({},m,{partial:u})},t.prototype.getLastResult=function(){return this.lastResult},t.prototype.getLastError=function(){return this.lastError},t.prototype.resetLastResults=function(){delete this.lastResult,delete this.lastError,this.isTornDown=!1},t.prototype.refetch=function(e){if("cache-only"===this.options.fetchPolicy)return Promise.reject(new Error("cache-only fetchPolicy option should not be used together with query refetch."));Object(o.q)(this.variables,e)||(this.variables=f({},this.variables,e)),Object(o.q)(this.options.variables,this.variables)||(this.options.variables=f({},this.options.variables,this.variables));var t=f({},this.options,{fetchPolicy:"network-only"});return this.queryManager.fetchQuery(this.queryId,t,c.refetch).then((function(e){return Object(o.x)(e)}))},t.prototype.fetchMore=function(e){var t=this;if(!e.updateQuery)throw new Error("updateQuery option is required. This function defines how to update the query data with the new results.");return Promise.resolve().then((function(){var n,a=t.queryManager.generateQueryId();return(n=e.query?e:f({},t.options,e,{variables:f({},t.variables,e.variables)})).fetchPolicy="network-only",t.queryManager.fetchQuery(a,n,c.normal,t.queryId)})).then((function(n){return t.updateQuery((function(t,a){var r=a.variables;return e.updateQuery(t,{fetchMoreResult:n.data,variables:r})})),n}))},t.prototype.subscribeToMore=function(e){var t=this,n=this.queryManager.startGraphQLSubscription({query:e.document,variables:e.variables}).subscribe({next:function(n){e.updateQuery&&t.updateQuery((function(t,a){var r=a.variables;return e.updateQuery(t,{subscriptionData:n,variables:r})}))},error:function(t){e.onError?e.onError(t):console.error("Unhandled GraphQL subscription error",t)}});return this.subscriptionHandles.push(n),function(){var e=t.subscriptionHandles.indexOf(n);e>=0&&(t.subscriptionHandles.splice(e,1),n.unsubscribe())}},t.prototype.setOptions=function(e){var t=this.options;this.options=f({},this.options,e),e.pollInterval?this.startPolling(e.pollInterval):0===e.pollInterval&&this.stopPolling();var n="network-only"!==t.fetchPolicy&&"network-only"===e.fetchPolicy||"cache-only"===t.fetchPolicy&&"cache-only"!==e.fetchPolicy||"standby"===t.fetchPolicy&&"standby"!==e.fetchPolicy||!1;return this.setVariables(this.options.variables,n,e.fetchResults)},t.prototype.setVariables=function(e,t,n){void 0===t&&(t=!1),void 0===n&&(n=!0),this.isTornDown=!1;var a=f({},this.variables,e);return Object(o.q)(a,this.variables)&&!t?0!==this.observers.length&&n?this.result():new Promise((function(e){return e()})):(this.lastVariables=this.variables,this.variables=a,this.options.variables=a,0===this.observers.length?new Promise((function(e){return e()})):this.queryManager.fetchQuery(this.queryId,f({},this.options,{variables:this.variables})).then((function(e){return Object(o.x)(e)})))},t.prototype.updateQuery=function(e){var t=this.queryManager.getQueryWithPreviousResult(this.queryId),n=t.previousResult,a=t.variables,r=t.document,i=Object(o.D)((function(){return e(n,{variables:a})}));i&&(this.queryManager.dataStore.markUpdateQueryResult(r,a,i),this.queryManager.broadcastQueries())},t.prototype.stopPolling=function(){this.isCurrentlyPolling&&(this.scheduler.stopPollingQuery(this.queryId),this.options.pollInterval=void 0,this.isCurrentlyPolling=!1)},t.prototype.startPolling=function(e){if("cache-first"===this.options.fetchPolicy||"cache-only"===this.options.fetchPolicy)throw new Error("Queries that specify the cache-first and cache-only fetchPolicies cannot also be polling queries.");this.isCurrentlyPolling&&(this.scheduler.stopPollingQuery(this.queryId),this.isCurrentlyPolling=!1),this.options.pollInterval=e,this.isCurrentlyPolling=!0,this.scheduler.startPollingQuery(this.options,this.queryId)},t.prototype.onSubscribe=function(e){var t=this;return e._subscription&&e._subscription._observer&&!e._subscription._observer.error&&(e._subscription._observer.error=function(e){console.error("Unhandled error",e.message,e.stack)}),this.observers.push(e),e.next&&this.lastResult&&e.next(this.lastResult),e.error&&this.lastError&&e.error(this.lastError),1===this.observers.length&&this.setUpQuery(),function(){t.observers=t.observers.filter((function(t){return t!==e})),0===t.observers.length&&t.tearDownQuery()}},t.prototype.setUpQuery=function(){var e=this;if(this.shouldSubscribe&&this.queryManager.addObservableQuery(this.queryId,this),this.options.pollInterval){if("cache-first"===this.options.fetchPolicy||"cache-only"===this.options.fetchPolicy)throw new Error("Queries that specify the cache-first and cache-only fetchPolicies cannot also be polling queries.");this.isCurrentlyPolling=!0,this.scheduler.startPollingQuery(this.options,this.queryId)}var t={next:function(t){e.lastResult=t,e.observers.forEach((function(e){return e.next&&e.next(t)}))},error:function(t){e.lastError=t,e.observers.forEach((function(e){return e.error&&e.error(t)}))}};this.queryManager.startQuery(this.queryId,this.options,this.queryManager.queryListenerForObserver(this.queryId,this.options,t))},t.prototype.tearDownQuery=function(){this.isTornDown=!0,this.isCurrentlyPolling&&(this.scheduler.stopPollingQuery(this.queryId),this.isCurrentlyPolling=!1),this.subscriptionHandles.forEach((function(e){return e.unsubscribe()})),this.subscriptionHandles=[],this.queryManager.removeObservableQuery(this.queryId),this.queryManager.stopQuery(this.queryId),this.observers=[]},t}(m),g=function(){var e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])};return function(t,n){function a(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(a.prototype=n.prototype,new a)}}(),v=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.inFlightRequestObservables=new Map,t.subscribers=new Map,t}return g(t,e),t.prototype.request=function(e,t){var n=this;if(e.getContext().forceFetch)return t(e);var a=e.toKey(),r=function(e){return n.inFlightRequestObservables.delete(e),n.subscribers.get(e)};if(!this.inFlightRequestObservables.get(a)){var o,i=t(e),s=new u.b((function(e){var t=n.subscribers.get(a);return t||(t={next:[],error:[],complete:[]}),n.subscribers.set(a,{next:t.next.concat([e.next.bind(e)]),error:t.error.concat([e.error.bind(e)]),complete:t.complete.concat([e.complete.bind(e)])}),o||(o=i.subscribe({next:function(e){var t=r(a);n.subscribers.delete(a),t&&(t.next.forEach((function(t){return t(e)})),t.complete.forEach((function(e){return e()})))},error:function(e){var t=r(a);n.subscribers.delete(a),t&&t.error.forEach((function(t){return t(e)}))}})),function(){o&&o.unsubscribe(),n.inFlightRequestObservables.delete(a)}}));this.inFlightRequestObservables.set(a,s)}return this.inFlightRequestObservables.get(a)},t}(u.a),M=Object.assign||function(e){for(var t,n=1,a=arguments.length;n0?this.intervalQueries[a].push(e):(this.intervalQueries[a]=[e],this.pollingTimers[a]=setInterval((function(){n.fetchQueriesOnInterval(a)}),a))},e.prototype.registerPollingQuery=function(e){if(!e.pollInterval)throw new Error("Attempted to register a non-polling query with the scheduler.");return new y({scheduler:this,options:e})},e}(),L=function(){function e(){this.store={}}return e.prototype.getStore=function(){return this.store},e.prototype.get=function(e){return this.store[e]},e.prototype.initMutation=function(e,t,n){this.store[e]={mutationString:t,variables:n||{},loading:!0,error:null}},e.prototype.markMutationError=function(e,t){var n=this.store[e];n&&(n.loading=!1,n.error=t)},e.prototype.markMutationResult=function(e){var t=this.store[e];t&&(t.loading=!1,t.error=null)},e.prototype.reset=function(){this.store={}},e}(),b=Object.assign||function(e){for(var t,n=1,a=arguments.length;n-1})).reduce((function(e,n){return e[n]=b({},t.store[n],{networkStatus:a.loading}),e}),{})},e}(),w=Object.assign||function(e){for(var t,n=1,a=arguments.length;n=(n||1)&&(s.queryStore.markQueryError(e,t,a),s.invalidate(!0,e,a),s.broadcastQueries()),s.removeFetchQueryPromise(M),new h({networkError:t})}));if("cache-and-network"!==p)return L;L.catch((function(){}))}return Promise.resolve({data:i})},e.prototype.queryListenerForObserver=function(e,t,n){var a=this,r=!1;return function(s,u){if(a.invalidate(!1,e),s){var d=a.getQuery(e).observableQuery,l=d?d.options.fetchPolicy:t.fetchPolicy;if("standby"!==l){var m=d?d.options.errorPolicy:t.errorPolicy,_=d?d.getLastResult():null,c=d?d.getLastError():null,p=!u&&null!=s.previousVariables||"cache-only"===l||"cache-and-network"===l,f=Boolean(_&&s.networkStatus!==_.networkStatus),y=m&&(c&&c.graphQLErrors)!==s.graphQLErrors&&"none"!==m;if(!i(s.networkStatus)||f&&t.notifyOnNetworkStatusChange||p){if((!m||"none"===m)&&s.graphQLErrors&&s.graphQLErrors.length>0||s.networkError){var g=new h({graphQLErrors:s.graphQLErrors,networkError:s.networkError});if(r=!0,n.error)try{n.error(g)}catch(e){setTimeout((function(){throw e}),0)}else setTimeout((function(){throw g}),0),Object(o.v)()||console.info("An unhandled error was thrown because no error handler is registered for the query "+s.queryString);return}try{var v=void 0,M=void 0;if(u)a.setQuery(e,(function(){return{newData:null}})),v=u.result,M=!u.complete&&!u.complete;else if(_&&_.data&&!y)v=_.data,M=!1;else{var k=a.getQuery(e).document,L=a.dataStore.getCache().diff({query:k,variables:s.previousVariables||s.variables,optimistic:!0});v=L.result,M=!L.complete}var b=void 0;if(b=M&&"cache-only"!==l?{data:_&&_.data,loading:i(s.networkStatus),networkStatus:s.networkStatus,stale:!0}:{data:v,loading:i(s.networkStatus),networkStatus:s.networkStatus,stale:!1},"all"===m&&s.graphQLErrors&&s.graphQLErrors.length>0&&(b.errors=s.graphQLErrors),n.next)if(!(_&&b&&_.networkStatus===b.networkStatus&&_.stale===b.stale&&_.data===b.data)||r)try{n.next(Object(o.x)(b))}catch(e){setTimeout((function(){throw e}),0)}r=!1}catch(e){return r=!0,void(n.error&&n.error(new h({networkError:e})))}}}}}},e.prototype.watchQuery=function(e,t){if(void 0===t&&(t=!0),"standby"===e.fetchPolicy)throw new Error('client.watchQuery cannot be called with fetchPolicy set to "standby"');var n=Object(o.m)(e.query);if(n.variableDefinitions&&n.variableDefinitions.length){var a=Object(o.e)(n);e.variables=Object(o.c)({},a,e.variables)}void 0===e.notifyOnNetworkStatusChange&&(e.notifyOnNetworkStatusChange=!1);var r=w({},e);return new y({scheduler:this.scheduler,options:r,shouldSubscribe:t})},e.prototype.query=function(e){var t=this;if(!e.query)throw new Error("query option is required. You must specify your GraphQL document in the query option.");if("Document"!==e.query.kind)throw new Error('You must wrap the query string in a "gql" tag.');if(e.returnPartialData)throw new Error("returnPartialData option only supported on watchQuery.");if(e.pollInterval)throw new Error("pollInterval option only supported on watchQuery.");if(void 0!==e.notifyOnNetworkStatusChange)throw new Error('Cannot call "query" with "notifyOnNetworkStatusChange" option. Only "watchQuery" has that option.');e.notifyOnNetworkStatusChange=!1;var n=this.idCounter,a=new Promise((function(r,o){return t.addFetchQueryPromise(n,a,r,o),t.watchQuery(e,!1).result().then((function(e){t.removeFetchQueryPromise(n),r(e)})).catch((function(e){t.removeFetchQueryPromise(n),o(e)}))}));return a},e.prototype.generateQueryId=function(){var e=this.idCounter.toString();return this.idCounter++,e},e.prototype.stopQueryInStore=function(e){this.queryStore.stopQuery(e),this.invalidate(!0,e),this.broadcastQueries()},e.prototype.addQueryListener=function(e,t){this.setQuery(e,(function(e){var n=e.listeners;return{listeners:(void 0===n?[]:n).concat([t]),invalidate:!1}}))},e.prototype.updateQueryWatch=function(e,t,n){var a=this,r=this.getQuery(e).cancel;r&&r();return this.dataStore.getCache().watch({query:t,variables:n.variables,optimistic:!0,previousResult:function(){var t=null,n=a.getQuery(e).observableQuery;if(n){var r=n.getLastResult();r&&(t=r.data)}return t},callback:function(t){a.setQuery(e,(function(){return{invalidated:!0,newData:t}}))}})},e.prototype.addFetchQueryPromise=function(e,t,n,a){this.fetchQueryPromises.set(e.toString(),{promise:t,resolve:n,reject:a})},e.prototype.removeFetchQueryPromise=function(e){this.fetchQueryPromises.delete(e.toString())},e.prototype.addObservableQuery=function(e,t){this.setQuery(e,(function(){return{observableQuery:t}}));var n=Object(o.m)(t.options.query);if(n.name&&n.name.value){var a=n.name.value;this.queryIdsByName[a]=this.queryIdsByName[a]||[],this.queryIdsByName[a].push(t.queryId)}},e.prototype.removeObservableQuery=function(e){var t=this.getQuery(e),n=t.observableQuery,a=t.cancel;if(a&&a(),n){var r=Object(o.m)(n.options.query),i=r.name?r.name.value:null;this.setQuery(e,(function(){return{observableQuery:null}})),i&&(this.queryIdsByName[i]=this.queryIdsByName[i].filter((function(e){return!(n.queryId===e)})))}},e.prototype.resetStore=function(){this.fetchQueryPromises.forEach((function(e){(0,e.reject)(new Error("Store reset while query was in flight."))}));var e=[];this.queries.forEach((function(t,n){t.observableQuery&&e.push(n)})),this.queryStore.reset(e),this.mutationStore.reset();var t=this.dataStore.reset(),n=this.getObservableQueryPromises();return this.broadcastQueries(),t.then((function(){return Promise.all(n)}))},e.prototype.getObservableQueryPromises=function(e){var t=this,n=[];return this.queries.forEach((function(a,r){var o=a.observableQuery;if(o){var i=o.options.fetchPolicy;o.resetLastResults(),"cache-only"===i||!e&&"standby"===i||n.push(o.refetch()),t.setQuery(r,(function(){return{newData:null}})),t.invalidate(!0,r)}})),n},e.prototype.reFetchObservableQueries=function(e){var t=this.getObservableQueryPromises(e);return this.broadcastQueries(),Promise.all(t)},e.prototype.startQuery=function(e,t,n){return this.addQueryListener(e,n),this.fetchQuery(e,t).catch((function(){})),e},e.prototype.startGraphQLSubscription=function(e){var t,n=this,a=e.query,r=this.dataStore.getCache().transformDocument(a),i=Object(o.c)({},Object(o.e)(Object(o.k)(a)),e.variables),s=[];return new m((function(e){if(s.push(e),1===s.length){var a={next:function(e){n.dataStore.markSubscriptionResult(e,r,i),n.broadcastQueries(),s.forEach((function(t){t.next&&t.next(e)}))},error:function(e){s.forEach((function(t){t.error&&t.error(e)}))}},o=n.buildOperationForLink(r,i);t=Object(u.c)(n.link,o).subscribe(a)}return function(){0===(s=s.filter((function(t){return t!==e}))).length&&t&&t.unsubscribe()}}))},e.prototype.stopQuery=function(e){this.removeQuery(e),this.stopQueryInStore(e)},e.prototype.removeQuery=function(e){this.getQuery(e).subscriptions.forEach((function(e){return e.unsubscribe()})),this.queries.delete(e)},e.prototype.getCurrentQueryResult=function(e){var t=e.options,n=t.variables,a=t.query,r=e.getLastResult(),i=this.getQuery(e.queryId).newData;if(i)return Object(o.x)({data:i.result,partial:!1});try{var s=this.dataStore.getCache().read({query:a,variables:n,previousResult:r?r.data:void 0,optimistic:!0});return Object(o.x)({data:s,partial:!1})}catch(e){return Object(o.x)({data:{},partial:!0})}},e.prototype.getQueryWithPreviousResult=function(e){var t;if("string"==typeof e){var n=this.getQuery(e).observableQuery;if(!n)throw new Error("ObservableQuery with this id doesn't exist: "+e);t=n}else t=e;var a=t.options,r=a.variables,o=a.query;return{previousResult:this.getCurrentQueryResult(t).data,variables:r,document:o}},e.prototype.broadcastQueries=function(){var e=this;this.onBroadcast(),this.queries.forEach((function(t,n){t.invalidated&&t.listeners&&t.listeners.filter((function(e){return!!e})).forEach((function(a){a(e.queryStore.get(n),t.newData)}))}))},e.prototype.fetchRequest=function(e){var t,n,r=this,o=e.requestId,i=e.queryId,s=e.document,d=e.options,l=e.fetchMoreForQueryId,m=d.variables,_=d.context,c=d.errorPolicy,p=void 0===c?"none":c,f=d.fetchPolicy,y=this.buildOperationForLink(s,m,w({},_,{forceFetch:!this.queryDeduplication})),g=new Promise((function(e,d){r.addFetchQueryPromise(o,g,e,d);var _=Object(u.c)(r.deduplicator,y).subscribe({next:function(e){var a=r.getQuery(i).lastRequestId;if(o>=(a||1)){if("no-cache"!==f)try{r.dataStore.markQueryResult(e,s,m,l,"ignore"===p||"all"===p)}catch(e){return void d(e)}r.queryStore.markQueryResult(i,e,l),r.invalidate(!0,i,l),r.broadcastQueries()}if(e.errors&&"none"===p)d(new h({graphQLErrors:e.errors}));else if("all"===p&&(n=e.errors),l)t=e.data;else try{t=r.dataStore.getCache().read({variables:m,query:s,optimistic:!1})}catch(e){}},error:function(e){r.removeFetchQueryPromise(o),r.setQuery(i,(function(e){return{subscriptions:e.subscriptions.filter((function(e){return e!==_}))}})),d(e)},complete:function(){r.removeFetchQueryPromise(o),r.setQuery(i,(function(e){return{subscriptions:e.subscriptions.filter((function(e){return e!==_}))}})),e({data:t,errors:n,loading:!1,networkStatus:a.ready,stale:!1})}});r.setQuery(i,(function(e){return{subscriptions:e.subscriptions.concat([_])}}))}));return g},e.prototype.refetchQueryByName=function(e){var t=this,n=this.queryIdsByName[e];if(void 0!==n)return Promise.all(n.map((function(e){return t.getQuery(e).observableQuery})).filter((function(e){return!!e})).map((function(e){return e.refetch()})))},e.prototype.generateRequestId=function(){var e=this.idCounter;return this.idCounter++,e},e.prototype.getQuery=function(e){return this.queries.get(e)||w({},D)},e.prototype.setQuery=function(e,t){var n=this.getQuery(e),a=w({},n,t(n));this.queries.set(e,a)},e.prototype.invalidate=function(e,t,n){t&&this.setQuery(t,(function(){return{invalidated:e}})),n&&this.setQuery(n,(function(){return{invalidated:e}}))},e.prototype.buildOperationForLink=function(e,t,n){var a=this.dataStore.getCache();return{query:a.transformForLink?a.transformForLink(e):e,variables:t,operationName:Object(o.l)(e)||void 0,context:w({},n,{cache:a,getCacheKey:function(e){if(a.config)return a.config.dataIdFromObject(e);throw new Error("To use context.getCacheKey, you need to use a cache that has a configurable dataIdFromObject, like apollo-cache-inmemory.")}})}},e}(),j=function(){function e(e){this.cache=e}return e.prototype.getCache=function(){return this.cache},e.prototype.markQueryResult=function(e,t,n,a,r){void 0===r&&(r=!1);var i=!Object(o.o)(e);r&&Object(o.o)(e)&&e.data&&(i=!0),!a&&i&&this.cache.write({result:e.data,dataId:"ROOT_QUERY",query:t,variables:n})},e.prototype.markSubscriptionResult=function(e,t,n){Object(o.o)(e)||this.cache.write({result:e.data,dataId:"ROOT_SUBSCRIPTION",query:t,variables:n})},e.prototype.markMutationInit=function(e){var t=this;if(e.optimisticResponse){var n;n="function"==typeof e.optimisticResponse?e.optimisticResponse(e.variables):e.optimisticResponse;this.cache.recordOptimisticTransaction((function(a){var r=t.cache;t.cache=a;try{t.markMutationResult({mutationId:e.mutationId,result:{data:n},document:e.document,variables:e.variables,updateQueries:e.updateQueries,update:e.update})}finally{t.cache=r}}),e.mutationId)}},e.prototype.markMutationResult=function(e){var t=this;if(!Object(o.o)(e.result)){var n=[];n.push({result:e.result.data,dataId:"ROOT_MUTATION",query:e.document,variables:e.variables}),e.updateQueries&&Object.keys(e.updateQueries).filter((function(t){return e.updateQueries[t]})).forEach((function(a){var r=e.updateQueries[a],i=r.query,s=r.updater,u=t.cache.diff({query:i.document,variables:i.variables,returnPartialData:!0,optimistic:!1}),d=u.result;if(u.complete){var l=Object(o.D)((function(){return s(d,{mutationResult:e.result,queryName:Object(o.l)(i.document)||void 0,queryVariables:i.variables})}));l&&n.push({result:l,dataId:"ROOT_QUERY",query:i.document,variables:i.variables})}})),this.cache.performTransaction((function(e){n.forEach((function(t){return e.write(t)}))}));var a=e.update;a&&this.cache.performTransaction((function(t){Object(o.D)((function(){return a(t,e.result)}))}))}},e.prototype.markMutationComplete=function(e){var t=e.mutationId;e.optimisticResponse&&this.cache.removeOptimistic(t)},e.prototype.markUpdateQueryResult=function(e,t,n){this.cache.write({result:n,dataId:"ROOT_QUERY",variables:t,query:e})},e.prototype.reset=function(){return this.cache.reset()},e}(),S=n(219),H=Object.assign||function(e){for(var t,n=1,a=arguments.length;n0,this.queryDeduplication=m,this.ssrMode=i,this.defaultOptions=_||{},u&&setTimeout((function(){return t.disableNetworkFetches=!1}),u),this.watchQuery=this.watchQuery.bind(this),this.query=this.query.bind(this),this.mutate=this.mutate.bind(this),this.resetStore=this.resetStore.bind(this),this.reFetchObservableQueries=this.reFetchObservableQueries.bind(this);var c=!Object(o.v)()&&"undefined"!=typeof window&&!window.__APOLLO_CLIENT__;(void 0===d?c:d&&"undefined"!=typeof window)&&(window.__APOLLO_CLIENT__=this),x||Object(o.v)()||(x=!0,"undefined"!=typeof window&&window.document&&window.top===window.self&&void 0===window.__APOLLO_DEVTOOLS_GLOBAL_HOOK__&&navigator.userAgent.indexOf("Chrome")>-1&&console.debug("Download the Apollo DevTools for a better development experience: https://chrome.google.com/webstore/detail/apollo-client-developer-t/jdkknkkbebbapilgoeccciglkfbmbnfm")),this.version=S.version}return e.prototype.watchQuery=function(e){return this.initQueryManager(),this.defaultOptions.watchQuery&&(e=H({},this.defaultOptions.watchQuery,e)),this.disableNetworkFetches&&"network-only"===e.fetchPolicy&&(e=H({},e,{fetchPolicy:"cache-first"})),this.queryManager.watchQuery(e)},e.prototype.query=function(e){if(this.initQueryManager(),this.defaultOptions.query&&(e=H({},this.defaultOptions.query,e)),"cache-and-network"===e.fetchPolicy)throw new Error("cache-and-network fetchPolicy can only be used with watchQuery");return this.disableNetworkFetches&&"network-only"===e.fetchPolicy&&(e=H({},e,{fetchPolicy:"cache-first"})),this.queryManager.query(e)},e.prototype.mutate=function(e){return this.initQueryManager(),this.defaultOptions.mutate&&(e=H({},this.defaultOptions.mutate,e)),this.queryManager.mutate(e)},e.prototype.subscribe=function(e){return this.initQueryManager(),this.queryManager.startGraphQLSubscription(e)},e.prototype.readQuery=function(e){return this.initProxy().readQuery(e)},e.prototype.readFragment=function(e){return this.initProxy().readFragment(e)},e.prototype.writeQuery=function(e){var t=this.initProxy().writeQuery(e);return this.queryManager.broadcastQueries(),t},e.prototype.writeFragment=function(e){var t=this.initProxy().writeFragment(e);return this.queryManager.broadcastQueries(),t},e.prototype.writeData=function(e){var t=this.initProxy().writeData(e);return this.queryManager.broadcastQueries(),t},e.prototype.__actionHookForDevTools=function(e){this.devToolsHookCb=e},e.prototype.__requestRaw=function(e){return Object(u.c)(this.link,e)},e.prototype.initQueryManager=function(){var e=this;this.queryManager||(this.queryManager=new T({link:this.link,store:this.store,queryDeduplication:this.queryDeduplication,ssrMode:this.ssrMode,onBroadcast:function(){e.devToolsHookCb&&e.devToolsHookCb({action:{},state:{queries:e.queryManager.queryStore.getStore(),mutations:e.queryManager.mutationStore.getStore()},dataWithOptimisticResults:e.cache.extract(!0)})}}))},e.prototype.resetStore=function(){var e=this;return Promise.resolve().then((function(){e.queryManager?e.queryManager.resetStore():Promise.resolve(null)})).then((function(){return Promise.all(e.resetStoreCallbacks.map((function(e){return e()})))}))},e.prototype.onResetStore=function(e){var t=this;return this.resetStoreCallbacks.push(e),function(){t.resetStoreCallbacks=t.resetStoreCallbacks.filter((function(t){return t!==e}))}},e.prototype.reFetchObservableQueries=function(e){return this.queryManager?this.queryManager.reFetchObservableQueries(e):Promise.resolve(null)},e.prototype.extract=function(e){return this.initProxy().extract(e)},e.prototype.restore=function(e){return this.initProxy().restore(e)},e.prototype.initProxy=function(){return this.proxy||(this.initQueryManager(),this.proxy=this.cache),this.proxy},e}();t.default=E},function(e,t,n){"use strict";n.r(t),n.d(t,"createHttpLink",(function(){return _})),n.d(t,"HttpLink",(function(){return c}));var a,r=n(2),o=n(4),i=Object.assign||function(e){for(var t,n=1,a=arguments.length;n=300&&u(e,t,"Response not successful: Received status code "+e.status),Array.isArray(t)||t.hasOwnProperty("data")||t.hasOwnProperty("errors")||u(e,t,"Server response was missing for query '"+(Array.isArray(r)?r.map((function(e){return e.operationName})):r.operationName)+"'."),t}))})).then((function(e){return n.next(e),n.complete(),e})).catch((function(e){"AbortError"!==e.name&&(e.result&&e.result.errors&&e.result.data&&n.next(e.result),n.error(e))})),function(){g&&g.abort()}}))}))};var c=function(e){function t(t){return e.call(this,_(t).request)||this}return l(t,e),t}(r.a)}]); -//# sourceMappingURL=bundle.js.map \ No newline at end of file diff --git a/decidim-comments/app/assets/javascripts/decidim/comments/comments.component.js.es6 b/decidim-comments/app/assets/javascripts/decidim/comments/comments.component.js.es6 new file mode 100644 index 0000000000..3d8e6912e8 --- /dev/null +++ b/decidim-comments/app/assets/javascripts/decidim/comments/comments.component.js.es6 @@ -0,0 +1,292 @@ +/** + * A plain Javascript component that handles the comments. + * + * @class + * @augments Component + */ +((exports) => { + const $ = exports.$; // eslint-disable-line + + class CommentsComponent { + constructor($element, config) { + this.$element = $element; + this.commentableGid = config.commentableGid; + this.commentsUrl = config.commentsUrl; + this.rootDepth = config.rootDepth; + this.order = config.order; + this.lastCommentId = config.lastCommentId; + this.pollingInterval = config.pollingInterval || 15000; + this.id = this.$element.attr("id") || this._getUID(); + this.mounted = false; + } + + /** + * Handles the logic for mounting the component + * @public + * @returns {Void} - Returns nothing + */ + mountComponent() { + if (this.$element.length > 0 && !this.mounted) { + this.mounted = true; + this._initializeComments(this.$element); + + $(".order-by__dropdown .is-submenu-item a", this.$element).on( + "click.decidim-comments", + () => { + this._onInitOrder(); + } + ); + } + } + + /** + * Handles the logic for unmounting the component + * @public + * @returns {Void} - Returns nothing + */ + unmountComponent() { + if (this.mounted) { + this.mounted = false; + this._stopPolling(); + + $(".add-comment .opinion-toggle .button", this.$element).off("click.decidim-comments"); + $(".add-comment textarea", this.$element).off("input.decidim-comments"); + $(".order-by__dropdown .is-submenu-item a", this.$element).off("click.decidim-comments"); + $(".add-comment form", this.$element).off("submit.decidim-comments"); + } + } + + /** + * Adds a new thread to the comments section. + * @public + * @param {String} threadHtml - The HTML content for the thread. + * @returns {Void} - Returns nothing + */ + addThread(threadHtml) { + const $parent = $(".comments:first", this.$element); + const $comment = $(threadHtml); + const $threads = $(".comment-threads", this.$element); + this._addComment($threads, $comment); + this._finalizeCommentCreation($parent); + } + + /** + * Adds a new reply to an existing comment. + * @public + * @param {Number} commentId - The ID of the comment for which to add the + * reply to. + * @param {String} replyHtml - The HTML content for the reply. + * @returns {Void} - Returns nothing + */ + addReply(commentId, replyHtml) { + const $parent = $(`#comment_${commentId}`); + const $comment = $(replyHtml); + const $replies = $(`#comment-${commentId}-replies`); + this._addComment($replies, $comment); + $replies.siblings(".comment__additionalreply").removeClass("hide"); + this._finalizeCommentCreation($parent); + } + + /** + * Generates a unique identifier for the form. + * @private + * @returns {String} - Returns a unique identifier + */ + _getUID() { + return `comments-${new Date().setUTCMilliseconds()}-${Math.floor(Math.random() * 10000000)}`; + } + + /** + * Initializes the comments for the given parent element. + * @private + * @param {jQuery} $parent The parent element to initialize. + * @returns {Void} - Returns nothing + */ + _initializeComments($parent) { + $(".add-comment", $parent).each((_i, el) => { + const $add = $(el); + const $form = $("form", $add); + const $opinionButtons = $(".opinion-toggle .button", $add); + const $text = $("textarea", $form); + + $opinionButtons.on("click.decidim-comments", this._onToggleOpinion); + $text.on("input.decidim-comments", this._onTextInput); + + $(document).trigger("attach-mentions-element", [$text.get(0)]); + + $form.on("submit.decidim-comments", () => { + const $submit = $("button[type='submit']", $form); + + $submit.attr("disabled", "disabled"); + this._stopPolling(); + }); + }); + + this._pollComments(); + } + + /** + * Adds the given comment element to the given target element and + * initializes it. + * @private + * @param {jQuery} $target - The target element to add the comment to. + * @param {jQuery} $container - The comment container element to add. + * @returns {Void} - Returns nothing + */ + _addComment($target, $container) { + let $comment = $(".comment", $container); + if ($comment.length < 1) { + // In case of a reply + $comment = $container; + } + this.lastCommentId = parseInt($comment.data("comment-id"), 10); + + $target.append($container); + $container.foundation(); + this._initializeComments($container); + if (exports.Decidim.createCharacterCounter) { + exports.Decidim.createCharacterCounter($(".add-comment textarea", $container)); + } + } + + /** + * Finalizes the new comment creation after the comment adding finishes + * successfully. + * @private + * @param {jQuery} $parent - The parent comment element to finalize. + * @returns {Void} - Returns nothing + */ + _finalizeCommentCreation($parent) { + const $add = $("> .add-comment", $parent); + const $text = $("textarea", $add); + const characterCounter = $text.data("remaining-characters-counter"); + $text.val(""); + if (characterCounter) { + characterCounter.updateStatus(); + } + if (!$add.parent().is(".comments")) { + $add.addClass("hide"); + } + + // Restart the polling + this._pollComments(); + } + + /** + * Sets a timeout to poll new comments. + * @private + * @returns {Void} - Returns nothing + */ + _pollComments() { + this._stopPolling(); + + this.pollTimeout = setTimeout(() => { + $.ajax({ + url: this.commentsUrl, + method: "GET", + contentType: "application/javascript", + data: { + "commentable_gid": this.commentableGid, + "root_depth": this.rootDepth, + order: this.order, + after: this.lastCommentId + } + }).done(() => { + this._pollComments(); + }); + }, this.pollingInterval); + } + + /** + * Stops polling for new comments. + * @private + * @returns {Void} - Returns nothing + */ + _stopPolling() { + if (this.pollTimeout) { + clearTimeout(this.pollTimeout); + } + } + + /** + * Sets the loading comments element visible in the view. + * @private + * @returns {Void} - Returns nothing + */ + _setLoading() { + const $container = $("> .comments-container", this.$element); + $("> .comments", $container).addClass("hide"); + $("> .loading-comments", $container).removeClass("hide"); + } + + /** + * Event listener for the ordering links. + * @private + * @returns {Void} - Returns nothing + */ + _onInitOrder() { + this._stopPolling(); + this._setLoading(); + } + + /** + * Event listener for the opinion toggle buttons. + * @private + * @param {Event} ev - The event object. + * @returns {Void} - Returns nothing + */ + _onToggleOpinion(ev) { + let $btn = $(ev.target); + if (!$btn.is(".button")) { + $btn = $btn.parents(".button"); + } + + const $add = $btn.closest(".add-comment"); + const $form = $("form", $add); + const $opinionButtons = $(".opinion-toggle .button", $add); + const $alignment = $(".alignment-input", $form); + + $opinionButtons.removeClass("is-active"); + $btn.addClass("is-active"); + + if ($btn.is(".opinion-toggle--ok")) { + $alignment.val(1); + } else if ($btn.is(".opinion-toggle--meh")) { + $alignment.val(0); + } else if ($btn.is(".opinion-toggle--ko")) { + $alignment.val(-1); + } + } + + /** + * Event listener for the comment field text input. + * @private + * @param {Event} ev - The event object. + * @returns {Void} - Returns nothing + */ + _onTextInput(ev) { + const $text = $(ev.target); + const $add = $text.closest(".add-comment"); + const $form = $("form", $add); + const $submit = $("button[type='submit']", $form); + + if ($text.val().length > 0) { + $submit.removeAttr("disabled"); + } else { + $submit.attr("disabled", "disabled"); + } + } + } + + exports.Decidim = exports.Decidim || {}; + exports.Decidim.CommentsComponent = CommentsComponent; + + $(() => { + $("[data-decidim-comments]").each((_i, el) => { + const $el = $(el); + const comments = new CommentsComponent($el, $el.data("decidim-comments")); + comments.mountComponent(); + $(el).data("comments", comments); + }); + }); +})(window); diff --git a/decidim-comments/app/assets/javascripts/decidim/comments/comments.component.test.js b/decidim-comments/app/assets/javascripts/decidim/comments/comments.component.test.js new file mode 100644 index 0000000000..4cd0a79167 --- /dev/null +++ b/decidim-comments/app/assets/javascripts/decidim/comments/comments.component.test.js @@ -0,0 +1,581 @@ +/* eslint-disable id-length, max-lines */ +/* global spyOn, jest */ +const $ = require("jquery"); + +// Ability to spy on the jQuery methods inside the component in order to test +// the sub-elements correctly. Needs to be defined before the modules are loaded +// in order for them to define the $ variable correctly. +window.$ = jest.fn().mockImplementation((...args) => $(...args)); +window.$.ajax = jest.fn().mockImplementation((...args) => $.ajax(...args)); + +// Quill is expected by the input character counter +window.Quill = require("../../../../../../decidim-core/vendor/assets/javascripts/quill.min.js"); + +// Fake timers for testing polling +jest.useFakeTimers(); + +require("../../../../../../decidim-core/app/assets/javascripts/decidim/input_character_counter.js.es6"); +require("./comments.component.js.es6"); + +const { Decidim: { CommentsComponent, createCharacterCounter } } = window; + +// Create a dummy foundation jQuery method for the comments component to call +$.fn.foundation = () => {}; + +describe("CommentsComponent", () => { + const selector = "#comments-for-Dummy-123"; + let subject = null; + let $doc = null; + let $container = null; + let addComment = null; + let orderLinks = null; + let allToggles = null; + let allTextareas = null; + let allForms = null; + + const spyOnAddComment = (methodToSpy) => { + addComment.each((i) => { + addComment[i].$ = $(addComment[i]); + addComment[i].opinionToggles = $(".opinion-toggle .button", addComment[i].$); + addComment[i].commentForm = $("form", addComment[i].$); + addComment[i].commentTextarea = $("textarea", addComment[i].commentForm); + + if (methodToSpy) { + spyOn(addComment[i].opinionToggles, methodToSpy); + spyOn(addComment[i].commentForm, methodToSpy); + spyOn(addComment[i].commentTextarea, methodToSpy); + } + }); + + spyOn(window, "$").mockImplementation((...args) => { + const jqSelector = args[0]; + const parent = args[1]; + + if (jqSelector === document) { + return $doc; + } else if (jqSelector === ".order-by__dropdown .is-submenu-item a" && parent.is(subject.$element)) { + return orderLinks; + } else if (jqSelector === ".add-comment" && parent.is(subject.$element)) { + return addComment; + } else if (jqSelector === ".add-comment .opinion-toggle .button" && parent.is(subject.$element)) { + return allToggles; + } else if (jqSelector === ".add-comment textarea" && parent.is(subject.$element)) { + return allTextareas; + } else if (jqSelector === ".add-comment form" && parent.is(subject.$element)) { + return allForms; + } + const addCommentsArray = addComment.toArray(); + for (let i = 0; i < addCommentsArray.length; i += 1) { + if (jqSelector === ".opinion-toggle .button" && parent.is(addCommentsArray[i].$)) { + return addCommentsArray[i].opinionToggles; + } else if (jqSelector === "form" && parent.is(addCommentsArray[i].$)) { + return addCommentsArray[i].commentForm; + } else if (jqSelector === "textarea" && parent.is(addCommentsArray[i].commentForm)) { + return addCommentsArray[i].commentTextarea; + } + } + return $(...args); + }); + } + + const generateCommentForm = (modelName, modelId) => { + return ` +
    + + + +
    + + +
    + +
    + +
    + +
    + + 1000 characters left +
    +
    + `; + }; + + const generateSingleComment = (commentId, content, replies = "") => { + return ` +
    +
    +
    +
    + + + + + +
    +
    + + + + Get link to single comment + + + + + +
    +
    +
    +
    +

    ${content}

    +
    + +
    ${replies}
    + +
    + +
    + +
    + ${generateCommentForm("Comment", commentId)} +
    +
    + `; + }; + + const generateCommentThread = (commentId, content, replies = "") => { + return ` +
    +
    + ${generateSingleComment(commentId, content, replies)} +
    +
    + ` + } + + beforeEach(() => { + let orderSelector = ` + + `; + + let reply = generateSingleComment(451, "This is a reply."); + let firstThread = generateCommentThread(450, "This is the first comment thread.", reply); + let secondThread = generateCommentThread(452, "This is another comment thread."); + + let comments = ` +
    +
    +
    +
    +

    3 comments

    +
    + Order by: + ${orderSelector} +
    +
    + +
    + ${firstThread} + ${secondThread} +
    +
    +

    Add your comment

    + +
    + + + +
    + + ${generateCommentForm("Dummy", 123)} +
    +
    +
    +

    Loading comments ...

    +
    +
    +
    + `; + $("body").append(comments); + + $container = $(document).find(selector); + subject = new CommentsComponent($container, { + commentableGid: "commentable-gid", + commentsUrl: "/comments", + rootDepth: 0, + order: "older", + lastCommentId: 456, + pollingInterval: 1000 + }); + $("textarea[maxlength]", $container).each((_i, elem) => { + createCharacterCounter($(elem)); + }); + + $doc = $(document); + addComment = $(".add-comment", subject.$element); + orderLinks = $(".order-by__dropdown .is-submenu-item a", subject.$element); + + allToggles = $(".add-comment .opinion-toggle .button", subject.$element); + allTextareas = $(".add-comment textarea", subject.$element); + allForms = $(".add-comment form", subject.$element); + }); + + it("exists", () => { + expect(CommentsComponent).toBeDefined(); + }); + + it("initializes unmounted", () => { + expect(subject.mounted).toBeFalsy(); + }); + + it("initializes the comments element with the given selector", () => { + expect(subject.$element).toEqual($(selector)); + }); + + it("starts polling for new comments", () => { + subject.mountComponent(); + + expect(window.setTimeout).toHaveBeenLastCalledWith(expect.any(Function), 1000); + + jest.advanceTimersByTime(1000); + + expect(window.$.ajax).toHaveBeenCalledWith({ + url: "/comments", + method: "GET", + contentType: "application/javascript", + data: { + "commentable_gid": "commentable-gid", + "root_depth": 0, + order: "older", + after: 456 + } + }); + }); + + describe("when mounted", () => { + beforeEach(() => { + spyOnAddComment("on"); + spyOn(orderLinks, "on"); + spyOn($doc, "trigger"); + + subject.mountComponent(); + }); + + afterEach(() => { + subject.unmountComponent(); + }); + + it("mounts the component", () => { + expect(subject.mounted).toBeTruthy(); + }); + + it("binds the order selector events", () => { + expect(orderLinks.on).toHaveBeenCalledWith( + "click.decidim-comments", + expect.any(Function) + ); + }); + + it("binds the add comment element events", () => { + addComment.each((i) => { + expect(addComment[i].opinionToggles.on).toHaveBeenCalledWith( + "click.decidim-comments", + subject._onToggleOpinion + ); + expect(addComment[i].commentTextarea.on).toHaveBeenCalledWith( + "input.decidim-comments", + subject._onTextInput + ); + expect(addComment[i].commentForm.on).toHaveBeenCalledWith( + "submit.decidim-comments", + expect.any(Function) + ); + }); + }); + + it("attaches the mentions elements to the text fields", () => { + addComment.each((i) => { + expect($doc.trigger).toHaveBeenCalledWith( + "attach-mentions-element", + [addComment[i].commentTextarea[0]] + ); + }); + }); + }); + + describe("when interacting", () => { + beforeEach(() => { + spyOnAddComment(); + subject.mountComponent(); + }); + + afterEach(() => { + subject.unmountComponent(); + }); + + describe("form and input events", () => { + let commentSection = null; + let commentForm = null; + let commentText = null; + + beforeEach(() => { + commentSection = addComment[addComment.length - 1]; + commentForm = commentSection.commentForm; + commentText = commentSection.commentTextarea; + + // Avoid not implemented error + commentForm[0].submit = jest.fn(); + }); + + it("enables the submit button when comment is entered", () => { + commentText.html("This is a test comment") + commentText.trigger("input"); + + expect( + $("button[type='submit']", commentSection.commentForm).is(":enabled") + ).toBeTruthy(); + }); + + it("disables the submit button on submit and stops polling", () => { + spyOn(window, "clearTimeout"); + + commentText.html("This is a test comment") + commentText.trigger("input"); + commentForm.trigger("submit"); + + expect( + $("button[type='submit']", commentSection.commentForm).is(":disabled") + ).toBeTruthy(); + + expect(window.clearTimeout).toHaveBeenCalledWith(subject.pollTimeout); + }); + }); + + describe("opinion toggles", () => { + let commentSection = null; + let toggles = null; + + beforeEach(() => { + commentSection = addComment[addComment.length - 1]; + toggles = commentSection.opinionToggles; + }); + + it("adds the correct alignment on positive toggle", () => { + $(toggles[0]).trigger("click"); + + expect($(".alignment-input", commentSection).val()).toEqual("1"); + }); + + it("adds the correct alignment on neutral toggle", () => { + $(toggles[0]).trigger("click"); + $(toggles[1]).trigger("click"); + + expect($(".alignment-input", commentSection).val()).toEqual("0"); + }); + + it("adds the correct alignment on negative toggle", () => { + $(toggles[2]).trigger("click"); + + expect($(".alignment-input", commentSection).val()).toEqual("-1"); + }); + }); + }); + + describe("when adding comments", () => { + beforeEach(() => { + subject.mountComponent(); + }); + + afterEach(() => { + subject.unmountComponent(); + }); + + describe("addThread", () => { + it("adds a new comment thread", () => { + const newThread = generateCommentThread(999, "This is a dynamically added comment"); + subject.addThread(newThread); + + expect(subject.$element.html()).toEqual(expect.stringContaining( + "This is a dynamically added comment" + )); + }); + }); + + describe("addReply", () => { + it("adds a new reply to an existing thread", () => { + const newThread = generateSingleComment(999, "This is a dynamically added reply"); + subject.addReply(450, newThread); + + expect(subject.$element.html()).toEqual(expect.stringContaining( + "This is a dynamically added reply" + )); + }); + }); + }); + + describe("when unmounted", () => { + beforeEach(() => { + spyOn(orderLinks, "off"); + spyOn(allToggles, "off"); + spyOn(allTextareas, "off"); + spyOn(allForms, "off"); + + subject.mountComponent(); + subject.unmountComponent(); + }); + + it("mounts the component", () => { + expect(subject.mounted).toBeFalsy(); + }); + + it("unbinds the order selector events", () => { + expect(orderLinks.off).toHaveBeenCalledWith( + "click.decidim-comments" + ); + }); + + it("unbinds the add comment element events", () => { + expect(allToggles.off).toHaveBeenCalledWith("click.decidim-comments"); + expect(allTextareas.off).toHaveBeenCalledWith("input.decidim-comments"); + expect(allForms.off).toHaveBeenCalledWith("submit.decidim-comments"); + }); + }); + + afterEach(() => { + $(selector).remove(); + }) +}); diff --git a/decidim-comments/app/assets/javascripts/decidim/comments/comments.js.erb b/decidim-comments/app/assets/javascripts/decidim/comments/comments.js.erb index 84496e4e03..ee7aa8987a 100644 --- a/decidim-comments/app/assets/javascripts/decidim/comments/comments.js.erb +++ b/decidim-comments/app/assets/javascripts/decidim/comments/comments.js.erb @@ -1,5 +1,5 @@ // = require_self -// = require ./bundle +// = require decidim/comments/comments.component window.DecidimComments = window.DecidimComments || {}; diff --git a/decidim-comments/app/cells/decidim/comments/comment/actions.erb b/decidim-comments/app/cells/decidim/comments/comment/actions.erb new file mode 100644 index 0000000000..888b2268f5 --- /dev/null +++ b/decidim-comments/app/cells/decidim/comments/comment/actions.erb @@ -0,0 +1,7 @@ +
    + <% if can_reply? %> + + <% end %> +
    diff --git a/decidim-comments/app/cells/decidim/comments/comment/alignment_badge.erb b/decidim-comments/app/cells/decidim/comments/comment/alignment_badge.erb new file mode 100644 index 0000000000..266ea7371d --- /dev/null +++ b/decidim-comments/app/cells/decidim/comments/comment/alignment_badge.erb @@ -0,0 +1,4 @@ + + <%= alignment_badge_label %> +   + diff --git a/decidim-comments/app/cells/decidim/comments/comment/author.erb b/decidim-comments/app/cells/decidim/comments/comment/author.erb new file mode 100644 index 0000000000..eb1b0a5db9 --- /dev/null +++ b/decidim-comments/app/cells/decidim/comments/comment/author.erb @@ -0,0 +1 @@ +<%== cell("decidim/author", author_presenter).profile %> diff --git a/decidim-comments/app/cells/decidim/comments/comment/show.erb b/decidim-comments/app/cells/decidim/comments/comment/show.erb new file mode 100644 index 0000000000..b8a4e86465 --- /dev/null +++ b/decidim-comments/app/cells/decidim/comments/comment/show.erb @@ -0,0 +1,40 @@ +<%= content_tag :div, id: "comment_#{model.id}", class: comment_classes, data: { comment_id: model.id } do %> +
    +
    +
    + <%= render :author %> + + <%= time_tag created_at, l(created_at, format: :decidim_short) %> + +
    +
    + <%= render :utilities %> +
    +
    +
    +
    + <%= alignment_badge %> + <%= comment_body %> +
    + +
    + <% if has_replies? %> + <% replies.each do |reply| %> + <%= cell("decidim/comments/comment", reply, root_depth: root_depth, order: order) %> + <% end %> + <% end %> +
    + <% if can_reply? %> +
    "> + +
    +
    + <%== cell("decidim/comments/comment_form", model, root_depth: root_depth, order: order) %> +
    + <% end %> +<% end %> diff --git a/decidim-comments/app/cells/decidim/comments/comment/utilities.erb b/decidim-comments/app/cells/decidim/comments/comment/utilities.erb new file mode 100644 index 0000000000..5bd7a5975c --- /dev/null +++ b/decidim-comments/app/cells/decidim/comments/comment/utilities.erb @@ -0,0 +1,13 @@ + + +<%= link_to "#{commentable_path("commentId" => model.id)}#comment_#{model.id}", title: t("decidim.components.comment.single_comment_link_title") do %> + <%= t("decidim.components.comment.single_comment_link_title") %> + <%= icon "link-intact", class: "icon--small", role: "none presentation" %> +<% end %> + +<% if current_user.present? %> + <%= cell("decidim/flag_modal", model, modal_id: "flagModalComment#{model.id}") %> +<% end %> diff --git a/decidim-comments/app/cells/decidim/comments/comment/votes.erb b/decidim-comments/app/cells/decidim/comments/comment/votes.erb new file mode 100644 index 0000000000..41cc5107d8 --- /dev/null +++ b/decidim-comments/app/cells/decidim/comments/comment/votes.erb @@ -0,0 +1,25 @@ +
    + <% if user_signed_in? %> + <%= button_to decidim_comments.comment_votes_path(model, weight: 1), remote: true, disabled: voted_down?, class: votes_up_classes, title: t("decidim.components.up_vote_button.text") do %> + <%= t("decidim.components.up_vote_button.text") %> + <%= icon "chevron-top", class: "icon--small", role: "none presentation" %> + <%= up_votes_count %> + <% end %> + <%= button_to decidim_comments.comment_votes_path(model, weight: -1), remote: true, disabled: voted_up?, class: votes_down_classes, title: t("decidim.components.down_vote_button.text") do %> + <%= t("decidim.components.down_vote_button.text") %> + <%= icon "chevron-bottom", class: "icon--small", role: "none presentation" %> + <%= down_votes_count %> + <% end %> + <% else %> + + + <% end %> +
    diff --git a/decidim-comments/app/cells/decidim/comments/comment_card_cell.rb b/decidim-comments/app/cells/decidim/comments/comment_card_cell.rb new file mode 100644 index 0000000000..f0bc14a929 --- /dev/null +++ b/decidim-comments/app/cells/decidim/comments/comment_card_cell.rb @@ -0,0 +1,22 @@ +# frozen_string_literal: true + +module Decidim + module Comments + # This cell renders the comment card for an instance of a Comment + # the default size is the Medium Card (:m) + class CommentCardCell < Decidim::ViewModel + include CommentCellsHelper + include Cell::ViewModel::Partial + + def show + cell card_size, model, options + end + + private + + def card_size + "decidim/comments/comment_m" + end + end + end +end diff --git a/decidim-comments/app/cells/decidim/comments/comment_cell.rb b/decidim-comments/app/cells/decidim/comments/comment_cell.rb index 5135fe608e..f21a684d47 100644 --- a/decidim-comments/app/cells/decidim/comments/comment_cell.rb +++ b/decidim-comments/app/cells/decidim/comments/comment_cell.rb @@ -2,20 +2,154 @@ module Decidim module Comments - # This cell renders the comment card for an instance of a Comment - # the default size is the Medium Card (:m) + # A cell to display a single comment. class CommentCell < Decidim::ViewModel - include CommentCellsHelper - include Cell::ViewModel::Partial + include ActionView::Helpers::DateHelper + include Decidim::IconHelper + include Decidim::ResourceHelper - def show - cell card_size, model, options + delegate :current_user, :user_signed_in?, to: :controller + + property :root_commentable + property :created_at + property :alignment + property :translated_body + property :comment_threads + property :accepts_new_comments? + + def alignment_badge + return unless [-1, 1].include?(alignment) + + render :alignment_badge + end + + def votes + return unless root_commentable.comments_have_votes? + + render :votes end private - def card_size - "decidim/comments/comment_m" + def decidim_comments + Decidim::Comments::Engine.routes.url_helpers + end + + def comment_body + Decidim::ContentProcessor.render(translated_body) + end + + def replies + SortedComments.for(model, order_by: order) + end + + def order + options[:order] || "older" + end + + def reply_id + "comment#{model.id}-reply" + end + + def can_reply? + user_signed_in? && accepts_new_comments? && + root_commentable.user_allowed_to_comment?(current_user) + end + + def author_presenter + if model.author.respond_to?(:official?) && model.author.official? + Decidim::Core::OfficialAuthorPresenter.new + elsif model.user_group + model.user_group.presenter + else + model.author.presenter + end + end + + def comment_classes + classes = ["comment"] + if nested? + classes << "comment--nested" + classes << "comment--nested--alt" if nested_level_even? + end + classes.join(" ") + end + + def alignment_badge_classes + classes = %w(label alignment) + case alignment + when 1 + classes << "success" + when -1 + classes << "alert" + end + classes.join(" ") + end + + def alignment_badge_label + if alignment == 1 + I18n.t("decidim.components.comment.alignment.in_favor") + else + I18n.t("decidim.components.comment.alignment.against") + end + end + + def votes_up_classes + classes = ["comment__votes--up"] + classes << "is-vote-selected" if voted_up? + classes << "is-vote-notselected" if voted_down? + classes.join(" ") + end + + def votes_down_classes + classes = ["comment__votes--down"] + classes << "is-vote-selected" if voted_down? + classes << "is-vote-notselected" if voted_up? + classes.join(" ") + end + + def commentable_path(params = {}) + if root_commentable.is_a?(Decidim::Budgets::Project) + resource_locator([root_commentable.budget, root_commentable]).path(params) + else + resource_locator(root_commentable).path(params) + end + end + + def up_votes_count + model.up_votes.count + end + + def down_votes_count + model.down_votes.count + end + + def root_depth + options[:root_depth] || 0 + end + + def depth + model.depth - root_depth + end + + def voted_up? + model.up_voted_by?(current_user) + end + + def voted_down? + model.down_voted_by?(current_user) + end + + def nested? + depth.positive? + end + + def nested_level_even? + depth.even? + end + + def has_replies? + model.comment_threads.any? end end end diff --git a/decidim-comments/app/cells/decidim/comments/comment_form/comment_as.erb b/decidim-comments/app/cells/decidim/comments/comment_form/comment_as.erb new file mode 100644 index 0000000000..df92c7fe51 --- /dev/null +++ b/decidim-comments/app/cells/decidim/comments/comment_form/comment_as.erb @@ -0,0 +1,10 @@ +
    + + +
    diff --git a/decidim-comments/app/cells/decidim/comments/comment_form/show.erb b/decidim-comments/app/cells/decidim/comments/comment_form/show.erb new file mode 100644 index 0000000000..0a2dfb85d4 --- /dev/null +++ b/decidim-comments/app/cells/decidim/comments/comment_form/show.erb @@ -0,0 +1,24 @@ +<%= form_for(form_object, url: decidim_comments.comments_path(order: order), method: :post, remote: true, html: { id: form_id }) do |form| %> + <%= form.hidden_field :commentable_gid, id: nil %> + <%= form.hidden_field :alignment, id: nil, class: "alignment-input" %> + <%= comment_as_for(form) %> +
    + +
    + <%= form.text_area( + :body, + id: add_comment_id, + rows: 4, + maxlength: comments_max_length, + required: true, + placeholder: t("decidim.components.add_comment_form.form.body.placeholder"), + label: false, + data: { remaining_characters: "##{add_comment_id}-remaining-characters" } + ) %> +
    + + +
    +<% end %> diff --git a/decidim-comments/app/cells/decidim/comments/comment_form_cell.rb b/decidim-comments/app/cells/decidim/comments/comment_form_cell.rb new file mode 100644 index 0000000000..4fcb48644d --- /dev/null +++ b/decidim-comments/app/cells/decidim/comments/comment_form_cell.rb @@ -0,0 +1,94 @@ +# frozen_string_literal: true + +module Decidim + module Comments + # A cell to display a form for adding a new comment. + class CommentFormCell < Decidim::ViewModel + delegate :current_user, :user_signed_in?, to: :controller + + def comment_as_for(form) + return if verified_user_groups.blank? + + # Note that the form.select does not seem to work correctly in the cell + # context. The Rails form builder tries to call @template.select which + # is not available for the cell objects. + render view: :comment_as, locals: { form: form } + end + + private + + def decidim_comments + Decidim::Comments::Engine.routes.url_helpers + end + + def order + options[:order] || "older" + end + + def commentable_type + model.commentable_type + end + + def form_id + "new_comment_for_#{commentable_type.demodulize}_#{model.id}" + end + + def add_comment_id + "add-comment-#{commentable_type.demodulize}-#{model.id}" + end + + def comment_as_id + "add-comment-#{commentable_type.demodulize}-#{model.id}-user-group-id" + end + + def root_depth + options[:root_depth] || 0 + end + + def form_object + Decidim::Comments::CommentForm.new( + commentable_gid: model.to_signed_global_id.to_s, + alignment: 0 + ) + end + + def verified_user_groups + return [] unless current_user + + @verified_user_groups ||= Decidim::UserGroups::ManageableUserGroups.for(current_user).verified + end + + def comment_as_options + [[current_user.name, ""]] + verified_user_groups.map do |group| + [group.name, group.id] + end + end + + def comments_max_length + return 1000 unless model.respond_to?(:component) + return component_comments_max_length if component_comments_max_length + return organization_comments_max_length if organization_comments_max_length + + 1000 + end + + def component_comments_max_length + return unless model.component&.settings.respond_to?(:comments_max_length) + + model.component.settings.comments_max_length if model.component.settings.comments_max_length.positive? + end + + def organization_comments_max_length + return unless organization + + organization.comments_max_length if organization.comments_max_length.positive? + end + + def organization + return model.organization if model.respond_to?(:organization) + + model.component.organization if model.component.organization.comments_max_length.positive? + end + end + end +end diff --git a/decidim-comments/app/cells/decidim/comments/comment_m/top.erb b/decidim-comments/app/cells/decidim/comments/comment_m/top.erb index 5e6387f509..c861b4efe8 100644 --- a/decidim-comments/app/cells/decidim/comments/comment_m/top.erb +++ b/decidim-comments/app/cells/decidim/comments/comment_m/top.erb @@ -1,7 +1,7 @@
    <% if render_space? %>
    - <%= searchable_resource_human_name(model.root_commentable.class) %>: <%= link_to root_commentable_title, resource_link_path, class: "card__link text-ellipsis" %> + <%= searchable_resource_human_name(model.root_commentable.class, count: 1) %>: <%= link_to root_commentable_title, resource_link_path, class: "card__link text-ellipsis" %>
    <% end %>
    diff --git a/decidim-comments/app/cells/decidim/comments/comment_thread/show.erb b/decidim-comments/app/cells/decidim/comments/comment_thread/show.erb new file mode 100644 index 0000000000..970f6118e9 --- /dev/null +++ b/decidim-comments/app/cells/decidim/comments/comment_thread/show.erb @@ -0,0 +1,6 @@ +
    + <%= title %> +
    + <%= cell("decidim/comments/comment", model, root_depth: model.depth, order: order) %> +
    +
    diff --git a/decidim-comments/app/cells/decidim/comments/comment_thread/title.erb b/decidim-comments/app/cells/decidim/comments/comment_thread/title.erb new file mode 100644 index 0000000000..e1a2f1625e --- /dev/null +++ b/decidim-comments/app/cells/decidim/comments/comment_thread/title.erb @@ -0,0 +1,3 @@ +
    + <%= t("decidim.components.comment_thread.title", authorName: author_name) %> +
    diff --git a/decidim-comments/app/cells/decidim/comments/comment_thread_cell.rb b/decidim-comments/app/cells/decidim/comments/comment_thread_cell.rb new file mode 100644 index 0000000000..4911959847 --- /dev/null +++ b/decidim-comments/app/cells/decidim/comments/comment_thread_cell.rb @@ -0,0 +1,30 @@ +# frozen_string_literal: true + +module Decidim + module Comments + # A cell to display a comment thread. + class CommentThreadCell < Decidim::ViewModel + def title + return unless has_threads? + + render :title + end + + private + + def has_threads? + model.comment_threads.any? + end + + def author_name + return t("decidim.components.comment.deleted_user") if model.author.deleted? + + model.author.name + end + + def order + options[:order] || "older" + end + end + end +end diff --git a/decidim-comments/app/cells/decidim/comments/comments/add_comment.erb b/decidim-comments/app/cells/decidim/comments/comments/add_comment.erb new file mode 100644 index 0000000000..fa7945935b --- /dev/null +++ b/decidim-comments/app/cells/decidim/comments/comments/add_comment.erb @@ -0,0 +1,30 @@ +
    +

    <%= t("decidim.components.add_comment_form.title") %>

    + + <% if user_signed_in? %> + <% if alignment_enabled? %> +
    + + + +
    + <% end %> + <%== cell("decidim/comments/comment_form", model, root_depth: root_depth) %> + <% else %> +

    + + <%== t( + "decidim.components.add_comment_form.account_message", + sign_in_url: decidim.new_user_session_path, + sign_up_url: decidim.new_user_registration_path + ) %> + +

    + <% end %> +
    diff --git a/decidim-comments/app/cells/decidim/comments/comments/blocked_comments_warning.erb b/decidim-comments/app/cells/decidim/comments/comments/blocked_comments_warning.erb new file mode 100644 index 0000000000..0a9b4379ed --- /dev/null +++ b/decidim-comments/app/cells/decidim/comments/comments/blocked_comments_warning.erb @@ -0,0 +1,3 @@ +
    +

    <%= t("decidim.components.comments.blocked_comments_warning") %>

    +
    diff --git a/decidim-comments/app/cells/decidim/comments/comments/order_control.erb b/decidim-comments/app/cells/decidim/comments/comments/order_control.erb new file mode 100644 index 0000000000..66b1a05e74 --- /dev/null +++ b/decidim-comments/app/cells/decidim/comments/comments/order_control.erb @@ -0,0 +1,37 @@ +
    + <%= t("decidim.components.comment_order_selector.title") %> + +
    diff --git a/decidim-comments/app/cells/decidim/comments/comments/show.erb b/decidim-comments/app/cells/decidim/comments/comments/show.erb new file mode 100644 index 0000000000..bd090f1db0 --- /dev/null +++ b/decidim-comments/app/cells/decidim/comments/comments/show.erb @@ -0,0 +1,32 @@ +<%= content_tag :div, id: node_id, data: { decidim_comments: comments_data } do %> +
    +
    +
    +

    + <% if single_comment? %> + <%= t("decidim.components.comments.comment_details_title") %> + <% else %> + + <%= t("decidim.components.comments.title", count: comments_count) %> + + <% end %> +

    + <%= render :order_control %> +
    + <%= single_comment_warning %> + <%= blocked_comments_warning %> +
    + <% comments.each do |comment| %> + <%= cell("decidim/comments/comment_thread", comment, order: order) %> + <% end %> +
    + <%= add_comment %> + <%= user_comments_blocked_warning %> +
    +
    +

    <%= t("decidim.components.comments.loading") %>

    +
    +
    +<% end %> + +<%= javascript_include_tag("decidim/comments/comments") %> diff --git a/decidim-comments/app/cells/decidim/comments/comments/single_comment_warning.erb b/decidim-comments/app/cells/decidim/comments/comments/single_comment_warning.erb new file mode 100644 index 0000000000..e3688eb744 --- /dev/null +++ b/decidim-comments/app/cells/decidim/comments/comments/single_comment_warning.erb @@ -0,0 +1,9 @@ +
    +
    <%= t("decidim.components.comments.single_comment_warning_title") %>
    +

    + <%== t( + "decidim.components.comments.single_comment_warning", + url: "#{commentable_path}##{node_id}" + ) %> +

    +
    diff --git a/decidim-comments/app/cells/decidim/comments/comments/user_comments_blocked_warning.erb b/decidim-comments/app/cells/decidim/comments/comments/user_comments_blocked_warning.erb new file mode 100644 index 0000000000..c1fd3da8e9 --- /dev/null +++ b/decidim-comments/app/cells/decidim/comments/comments/user_comments_blocked_warning.erb @@ -0,0 +1,3 @@ +
    +

    <%= t("decidim.components.comments.blocked_comments_for_user_warning") %>

    +
    diff --git a/decidim-comments/app/cells/decidim/comments/comments_cell.rb b/decidim-comments/app/cells/decidim/comments/comments_cell.rb new file mode 100644 index 0000000000..9b7079478a --- /dev/null +++ b/decidim-comments/app/cells/decidim/comments/comments_cell.rb @@ -0,0 +1,134 @@ +# frozen_string_literal: true + +module Decidim + module Comments + # A cell to display a comments section for a commentable object. + class CommentsCell < Decidim::ViewModel + include Decidim::IconHelper + + delegate :user_signed_in?, to: :controller + + def add_comment + return if single_comment? + return if comments_blocked? + return if user_comments_blocked? + + render :add_comment + end + + def single_comment_warning + return unless single_comment? + + render :single_comment_warning + end + + def blocked_comments_warning + return unless comments_blocked? + return unless user_comments_blocked? + + render :blocked_comments_warning + end + + def user_comments_blocked_warning + return if comments_blocked? # Shows already the general warning + return unless user_comments_blocked? + + render :user_comments_blocked_warning + end + + private + + def decidim_comments + Decidim::Comments::Engine.routes.url_helpers + end + + def comments + if single_comment? + [single_comment] + else + SortedComments.for(model, order_by: order) + end + end + + def comments_count + model.comments.count + end + + def root_depth + return 0 unless single_comment? + + single_comment.depth + end + + def commentable_path(params = {}) + resource_locator(model).path(params) + end + + def alignment_enabled? + model.comments_have_alignment? + end + + def available_orders + %w(best_rated recent older most_discussed) + end + + def order + options[:order] || "older" + end + + def decidim + Decidim::Core::Engine.routes.url_helpers + end + + def node_id + "comments-for-#{commentable_type.demodulize}-#{model.id}" + end + + def commentable_type + model.commentable_type + end + + def comments_data + { + singleComment: single_comment?, + toggleTranslations: machine_translations_toggled?, + commentableGid: model.to_signed_global_id.to_s, + commentsUrl: decidim_comments.comments_path, + rootDepth: root_depth, + lastCommentId: last_comment_id, + order: order + } + end + + def last_comment_id + Decidim::Comments::Comment.where( + root_commentable: model + ).order(:id).pluck(:id).last + end + + def single_comment? + single_comment.present? + end + + def single_comment + return if options[:single_comment].blank? + + @single_comment ||= model.comments.find_by(id: options[:single_comment]) + end + + def machine_translations_toggled? + options[:machine_translations] == true + end + + def comments_blocked? + !model.accepts_new_comments? + end + + def user_comments_blocked? + return false unless user_signed_in? + + !model.user_allowed_to_comment?(current_user) + end + end + end +end diff --git a/decidim-comments/app/commands/decidim/comments/vote_comment.rb b/decidim-comments/app/commands/decidim/comments/vote_comment.rb index 32862c397d..4b594aea6f 100644 --- a/decidim-comments/app/commands/decidim/comments/vote_comment.rb +++ b/decidim-comments/app/commands/decidim/comments/vote_comment.rb @@ -23,27 +23,51 @@ def initialize(comment, author, options = { weight: 1 }) # # Returns nothing. def call - if @weight == 1 - vote = @comment.up_votes.find_by(author: @author) - if vote - vote.destroy! + case @weight + when 1 + previous_vote = @comment.up_votes.find_by(author: @author) + if previous_vote + previous_vote.destroy! else - @comment.up_votes.create!(author: @author) + @vote = @comment.up_votes.create!(author: @author) end - elsif @weight == -1 - vote = @comment.down_votes.find_by(author: @author) - if vote - vote.destroy! + when -1 + previous_vote = @comment.down_votes.find_by(author: @author) + if previous_vote + previous_vote.destroy! else - @comment.down_votes.create!(author: @author) + @vote = @comment.down_votes.create!(author: @author) end else return broadcast(:invalid) end + + notify_comment_author if @vote broadcast(:ok, @comment) rescue ActiveRecord::RecordInvalid, ActiveRecord::RecordNotUnique broadcast(:invalid) end + + def notify_comment_author + Decidim::EventsManager.publish( + event: "decidim.events.comments.comment_#{upvote? ? "upvoted" : "downvoted"}", + event_class: upvote? ? Decidim::Comments::CommentUpvotedEvent : Decidim::Comments::CommentDownvotedEvent, + resource: @comment.commentable, + affected_users: [@comment.author], + extra: { + comment_id: @comment.id, + weight: @weight, + downvotes: @comment.down_votes.count, + upvotes: @comment.up_votes.count + } + ) + end + + private + + def upvote? + @weight.positive? + end end end end diff --git a/decidim-comments/app/controllers/decidim/comments/application_controller.rb b/decidim-comments/app/controllers/decidim/comments/application_controller.rb new file mode 100644 index 0000000000..dcfd985939 --- /dev/null +++ b/decidim-comments/app/controllers/decidim/comments/application_controller.rb @@ -0,0 +1,16 @@ +# frozen_string_literal: true + +module Decidim + module Comments + # This controller is the abstract class from which all other controllers of + # this engine inherit. + class ApplicationController < Decidim::ApplicationController + def permission_class_chain + [ + ::Decidim::Comments::Permissions, + ::Decidim::Permissions + ] + end + end + end +end diff --git a/decidim-comments/app/controllers/decidim/comments/comments_controller.rb b/decidim-comments/app/controllers/decidim/comments/comments_controller.rb new file mode 100644 index 0000000000..bf0ba00161 --- /dev/null +++ b/decidim-comments/app/controllers/decidim/comments/comments_controller.rb @@ -0,0 +1,122 @@ +# frozen_string_literal: true + +module Decidim + module Comments + # Controller that manages the comments for a commentable object. + # + class CommentsController < Decidim::Comments::ApplicationController + include Decidim::ResourceHelper + + before_action :authenticate_user!, only: [:create] + before_action :set_commentable + before_action :ensure_commentable! + + helper_method :root_depth, :commentable, :order, :reply?, :reload? + + def index + enforce_permission_to :read, :comment, commentable: commentable + + @comments = SortedComments.for( + commentable, + order_by: order, + after: params.fetch(:after, 0).to_i + ) + @comments_count = commentable.comments.count + + respond_to do |format| + format.js do + if reload? + render :reload + else + render :index + end + end + + # This makes sure bots are not causing unnecessary log entries. + format.html { redirect_to commentable_path } + end + end + + def create + enforce_permission_to :create, :comment, commentable: commentable + + form = Decidim::Comments::CommentForm.from_params( + params.merge(commentable: commentable) + ).with_context( + current_organization: current_organization, + current_component: commentable.try(:component) || commentable.participatory_space + ) + Decidim::Comments::CreateComment.call(form, current_user) do + on(:ok) do |comment| + handle_success(comment) + respond_to do |format| + format.js { render :create } + end + end + + on(:invalid) do + @error = t("create.error", scope: "decidim.comments.comments") + respond_to do |format| + format.js { render :error } + end + end + end + end + + private + + attr_reader :commentable, :comment + + def set_commentable + @commentable = GlobalID::Locator.locate_signed(commentable_gid) + end + + def ensure_commentable! + raise ActionController::RoutingError, "Not Found" unless commentable + end + + def handle_success(comment) + @comment = comment + @comments_count = begin + case commentable + when Decidim::Comments::Comment + commentable.root_commentable.comments.count + else + commentable.comments.count + end + end + end + + def commentable_gid + case action_name + when "create" + params.require(:comment).fetch(:commentable_gid) + else + params.fetch(:commentable_gid, nil) + end + end + + def reply?(comment) + comment.root_commentable != comment.commentable + end + + def order + params.fetch(:order, "older") + end + + def reload? + params.fetch(:reload, 0).to_i == 1 + end + + def root_depth + params.fetch(:root_depth, 0).to_i + end + + def commentable_path + return commentable.polymorphic_resource_path({}) if commentable&.respond_to?(:polymorphic_resource_path) + + resource_locator(commentable).path + end + end + end +end diff --git a/decidim-comments/app/controllers/decidim/comments/votes_controller.rb b/decidim-comments/app/controllers/decidim/comments/votes_controller.rb new file mode 100644 index 0000000000..3b59f2cf80 --- /dev/null +++ b/decidim-comments/app/controllers/decidim/comments/votes_controller.rb @@ -0,0 +1,41 @@ +# frozen_string_literal: true + +module Decidim + module Comments + # Controller that manages the comment votes. + # + class VotesController < Decidim::Comments::ApplicationController + before_action :authenticate_user! + before_action :set_comment + + helper_method :comment + + def create + raise ActionController::RoutingError, "Not Found" unless comment + + enforce_permission_to :vote, :comment, comment: comment + + Decidim::Comments::VoteComment.call(comment, current_user, weight: params[:weight].to_i) do + on(:ok) do + respond_to do |format| + format.js { render :create } + end + end + on(:invalid) do + respond_to do |format| + format.js { render :error } + end + end + end + end + + private + + attr_reader :comment + + def set_comment + @comment = Decidim::Comments::Comment.find_by(id: params[:comment_id]) + end + end + end +end diff --git a/decidim-comments/app/events/decidim/comments/comment_created_event.rb b/decidim-comments/app/events/decidim/comments/comment_created_event.rb index cf7d64189d..70710b6d6f 100644 --- a/decidim-comments/app/events/decidim/comments/comment_created_event.rb +++ b/decidim-comments/app/events/decidim/comments/comment_created_event.rb @@ -1,4 +1,4 @@ -# frozen-string_literal: true +# frozen_string_literal: true module Decidim module Comments diff --git a/decidim-comments/app/events/decidim/comments/comment_downvoted_event.rb b/decidim-comments/app/events/decidim/comments/comment_downvoted_event.rb new file mode 100644 index 0000000000..c272cca577 --- /dev/null +++ b/decidim-comments/app/events/decidim/comments/comment_downvoted_event.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +module Decidim + module Comments + class CommentDownvotedEvent < Decidim::Comments::CommentVotedEvent + end + end +end diff --git a/decidim-comments/app/events/decidim/comments/comment_upvoted_event.rb b/decidim-comments/app/events/decidim/comments/comment_upvoted_event.rb new file mode 100644 index 0000000000..f11e105722 --- /dev/null +++ b/decidim-comments/app/events/decidim/comments/comment_upvoted_event.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +module Decidim + module Comments + class CommentUpvotedEvent < Decidim::Comments::CommentVotedEvent + end + end +end diff --git a/decidim-comments/app/events/decidim/comments/comment_voted_event.rb b/decidim-comments/app/events/decidim/comments/comment_voted_event.rb new file mode 100644 index 0000000000..ca9a70266d --- /dev/null +++ b/decidim-comments/app/events/decidim/comments/comment_voted_event.rb @@ -0,0 +1,26 @@ +# frozen_string_literal: true + +module Decidim + module Comments + class CommentVotedEvent < Decidim::Events::SimpleEvent + include Decidim::Comments::CommentEvent + + i18n_attributes :upvotes + i18n_attributes :downvotes + + def upvotes + extra[:upvotes] + end + + def downvotes + extra[:downvotes] + end + + private + + def resource_url_params + { anchor: "comment_#{comment.id}" } + end + end + end +end diff --git a/decidim-comments/app/forms/decidim/comments/comment_form.rb b/decidim-comments/app/forms/decidim/comments/comment_form.rb index 862b92bcb0..53bc053171 100644 --- a/decidim-comments/app/forms/decidim/comments/comment_form.rb +++ b/decidim-comments/app/forms/decidim/comments/comment_form.rb @@ -5,10 +5,11 @@ module Comments # A form object used to create comments from the graphql api. # class CommentForm < Form - attribute :body, String + attribute :body, Decidim::Attributes::CleanString attribute :alignment, Integer attribute :user_group_id, Integer attribute :commentable + attribute :commentable_gid mimic :comment @@ -18,7 +19,10 @@ class CommentForm < Form validate :max_depth def max_length - return current_component.settings.comments_max_length if current_component.try { settings.comments_max_length.positive? } + if current_component.try(:settings).respond_to?(:comments_max_length) + component_length = current_component.try { settings.comments_max_length.positive? } + return current_component.settings.comments_max_length if component_length + end return current_organization.comments_max_length if current_organization.comments_max_length.positive? 1000 diff --git a/decidim-comments/app/frontend/application/apollo_client.ts b/decidim-comments/app/frontend/application/apollo_client.ts deleted file mode 100644 index 04a5df3bb7..0000000000 --- a/decidim-comments/app/frontend/application/apollo_client.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { InMemoryCache } from "apollo-cache-inmemory"; -import { ApolloClient } from "apollo-client"; -import { HttpLink } from "apollo-link-http"; - -import "unfetch/polyfill"; - -const client = new ApolloClient({ - link: new HttpLink({ uri: "/api", credentials: "same-origin", fetch }), - cache: new InMemoryCache() -}); - -export default client; diff --git a/decidim-comments/app/frontend/application/application.component.test.tsx b/decidim-comments/app/frontend/application/application.component.test.tsx deleted file mode 100644 index 73b005e2d5..0000000000 --- a/decidim-comments/app/frontend/application/application.component.test.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import { shallow } from "enzyme"; -import * as React from "react"; - -import Application from "./application.component"; - -const { I18n } = require("react-i18nify"); - -describe("", () => { - afterEach(() => { - I18n.setLocale("en"); - }); - - it("should set I18n locale to locale prop", () => { - spyOn(I18n, "setLocale"); - const locale = "ca"; - shallow( - -
    My application
    -
    - ); - expect(I18n.setLocale).toHaveBeenCalledWith(locale); - }); -}); diff --git a/decidim-comments/app/frontend/application/application.component.tsx b/decidim-comments/app/frontend/application/application.component.tsx deleted file mode 100644 index a473aa8420..0000000000 --- a/decidim-comments/app/frontend/application/application.component.tsx +++ /dev/null @@ -1,35 +0,0 @@ -import * as React from "react"; -import { ApolloProvider } from "react-apollo"; - -import apolloClient from "./apollo_client"; - -const { I18n } = require("react-i18nify"); - -interface ApplicationProps { - locale: string; -} - -/** - * Wrapper component for all React applications using Apollo - * @class - * @augments Component - */ -export default class Application extends React.Component { - constructor(props: ApplicationProps) { - const { locale } = props; - - I18n.setLocale(locale); - - super(props); - } - - public render() { - const { children } = this.props; - - return ( - - {children} - - ); - } -} diff --git a/decidim-comments/app/frontend/application/icon.component.test.tsx b/decidim-comments/app/frontend/application/icon.component.test.tsx deleted file mode 100644 index 8d109b1bd0..0000000000 --- a/decidim-comments/app/frontend/application/icon.component.test.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import { mount, shallow } from "enzyme"; -import * as React from "react"; - -import { Icon } from "./icon.component"; - -describe(" { - beforeEach(() => { - window.DecidimComments = { - assets: { - "icons.svg": "/assets/icons.svg" - } - }; - }); - - it("should render a svg with class defined by prop className", () => { - const wrapper = shallow(); - expect(wrapper.find("svg.icon-thumb-down").exists()).toBeTruthy(); - }); - - it("should render a svg icon using the 'icons.svg' url and name", () => { - const wrapper = shallow(); - expect(wrapper.find("svg use").prop("xlinkHref")).toBe( - "/assets/icons.svg#icon-thumb-up" - ); - }); - - it("has a default prop iconExtraClassName with value 'icon--before'", () => { - const wrapper = mount(); - expect(wrapper.prop("iconExtraClassName")).toBe("icon--before"); - }); - - it("renders the svg with an extra class defined by iconExtraClassName", () => { - const wrapper = mount( - - ); - expect(wrapper.find(".icon--small").exists()).toBeTruthy(); - }); -}); diff --git a/decidim-comments/app/frontend/application/icon.component.tsx b/decidim-comments/app/frontend/application/icon.component.tsx deleted file mode 100644 index a2068e698e..0000000000 --- a/decidim-comments/app/frontend/application/icon.component.tsx +++ /dev/null @@ -1,46 +0,0 @@ -import * as React from "react"; -import assetUrl from "../support/asset_url"; - -interface IconProps { - name: string; - title?: string; - iconExtraClassName?: string; - role?: string; -} - -export const Icon: React.SFC = ({ name, title, iconExtraClassName, role = "none presentation" }) => { - let titleElement = null; - if (title) { - titleElement = {title}; - } - - return ( - - {titleElement} - - - ); -}; - -Icon.defaultProps = { - iconExtraClassName: "icon--before" -}; - -interface IconWithoutUserAgentProps { - name: string; - title?: string; - iconExtraClassName?: string; - role?: string; -} - -const IconWithoutUserAgent: React.SFC = ({ - name, - title, - iconExtraClassName, - role = "none presentation" -}) => ; - -export default IconWithoutUserAgent; diff --git a/decidim-comments/app/frontend/comments/.comment.component.test.tsx.swp b/decidim-comments/app/frontend/comments/.comment.component.test.tsx.swp deleted file mode 100644 index 7154a807e8e259a60d23e980a3947a43688d3d27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24576 zcmeI4eT*Ds9ml6opn%YVVlctv=~}!y?d`QRKzsFyy(yttX$ox7cOcIMcb zz3Xvpfwn@B7g40;B`qifC7@!8qKHZ$zWsrkU;qsYia;TdfFcG+z|S-DJhQWVv)3z9 z_1f9wbG!5QynLV6-}C(D`sbZ@>I$(iKhNMZ%P`(rvHgM_w=SPH@)5&W?fKTwYO_|c z1}moR^M^(Q=k?MbS^y1Sa96@ zu&IA4H(Px4$W@sxnF5&tnF5&tnF5&tnF5&tnF5&t`;Y>`&~)Q6^1GkP^G5YOt?By! zb*xtaHZ@(Ju8udW@7J5I@2`%9`VLeCIv#a8`^pr^6v!0F6v!0F6v!0F6v!0F6v!0F z6v!0F6xag_m?gvbIN^571pxN{wf+CpOv88xZiQQ*1Re0+;fC=TTnpF0$#4)H2tPZ_ zFn$W#VG|6(1@LK@4b$L7{0d%x-@$ia9V~-Bm;)b!HxD(8*Wgun9DV{f!k1tZY=j|L z4K{SbESLr_9l|qkCtMAe!zi2p^Pme}J=idQ3y;9va4q!1DR2@jgjZ%5#^2z1xCz#R z4QIjea45WSkYVhEzrdYvHEe`+Fb2oM40!uM!*~{c4!6M-uofKOLfc0<^2$%`~V6o*XxEH<*n_&zp&;c{RfOlAQc^e*v+u;TnhKt}hI2vZc40w$4 zzYDg(R@efvPAr1-j}Ugyp7YCI%_)g0z8O|k40zRw83a~IDEEvuU-WyWQQ^756eW9D zjMzb06dlv|^(}=$G4$;Sa&tv{hv-=%#>lEz-?5m#LZ~mHZ_k^xpzKxi=CB!<)m2p| zyvtfUgcC{oNEK%htC}CM-BNo_-C8I__X@i*nCr+7RlOn7T`lH1I`V;c@+CFXX>W|G zYe{%a?82*(uinv~G4*48e5LAnL0{yfV)i>$&sfum`klVz`?lxyjHw^>D@vuFG4(@V z`J4(kj0}1FK&Y&V9^scw$MHsFn#Y$wqzG5aki`rFy*S4f>c=r?^EopH@s8?<*Q=~P*%qeRdN*(VZS zh$f{ckY0$^;>T5LocuyG6o9<3Wf7zmLR(V2HetKIU9u>LezP=aHI_lWqQ}Y6HN2!s zphpDNniaK%ev2k%oop7%?YgZ9QL_AE)$X_2b0cNT6+xM}!bT#iL9yu7+(4A62>ljU zRj7@r&@~_~3{@X>Qe3;Z#x*NeSZ1khEvyJptc8NUJudlry$VB!qe+zblx=7_vlKH$ z?AY#_WG6RHlHKa$c1LrHXW!79jP62fDMhNzsZ}?yL*=4zp=1Wux#5X=oz;z@ShcuX zS{kVOyH`|WA+s;X232dL5sjWhP&1zs59ZPy;O6N@~q_x)e1HU~SYkRG8 zt8`4G?R%4ewE8I1$!4$fpIQq?n4Ned`8kZ`a~8|F4ue3{z4K#kcr4H5Y&q=Y{o%n} zx5#xdWwP*wt)J9)Mi;u7Hp!<{;L9R!+CJq(OH|>kDiM<$*t^A`8R%M7|^~;xcUpVh#m4T+Sx&rt-prg=f38Pt{sz5ZdCZBHg#C-LH889f!~7N$E&EN;zlr0nvNNQkV%G107q5P~jr9f}TS)zEofVD;950INYIzpFM>80KuDKRjLc z`mV>m%o}l29;BtYyLwb5IF3xEEG?F$rINaPIkryxgjp(K#)N%dK^j46kB&80uC&te zi)E`KHPvc-Mlf?*X_>`9MaCdh4C>hqug_7}R$o%Hs-yLbW1=Ewe{;3X5XWe_myR;( zEjFb6|1Ng(R_tzR{|ja8{TN$+2YegugG=G_FdJsUo7nqLOPe2Vgb{F{2uH&#m zqrcNzL@qzzn1h`auVgymp6s}F*yX0+MR2+|*51u7pLf0FHwf*ysN>+y~oW6WAdA0FH%Y;3#;Ueg0pcxL|b>gK>Iz&Emzs(qQ+KV^dHy8<*I487pvkR02PT0 zLXTPX0E~KXoHq0&8~V65zW435#4?9HTYAr!DpRyO?O4?y@=QqCD9tS$G})+U%Sx{K zCn|JeYS4OO(6p{Ufk#5?imXb1oHv4A`VW&8Z55sWGP4E=42%oq{4?9e3tv7xH|H5p^=xT3`%)L%P8Umen_(0t?|p_!ai~x8NFB z2mNpgd={p`OW5UqhNs{vxB@PRJRAZ0!A|V*-@t=#9r&;siZBme!zTYBl;K3^f(~eh zb=cwsI2%rYV?dVQ&WZk+LR3G6c2#u@Ge7NeX=U!Pha8)UxbJylS^&RsIq9}Vu!p;5y@o|RolarIrW<*5Er8) zoS3Oo>63@18SDorwy8L?O}vD(8wJy3s?_WA2PzyH+TK$@|7XoAwgD48-hW(tuBV&Y zq?=bfY~`Z02ob(uCd!_C2QHeUq_x0CKV7{~>DT%zcF-I85XUp1a>zz^1KkyHdlwp7+X%4ljUd zyKyqDBGe$1RAwEwcCVguX%d84PggTmLbWPsVn;74_wt5v%Z8t8n1QkV!oQ)H?=_W! RiW3z^ALrOQnwswr{~M4HKoI}{ diff --git a/decidim-comments/app/frontend/comments/add_comment_form.component.test.tsx b/decidim-comments/app/frontend/comments/add_comment_form.component.test.tsx deleted file mode 100644 index 603ff70bc2..0000000000 --- a/decidim-comments/app/frontend/comments/add_comment_form.component.test.tsx +++ /dev/null @@ -1,265 +0,0 @@ -import { mount, ReactWrapper, shallow } from "enzyme"; -import * as $ from "jquery"; -import * as React from "react"; - -import { AddCommentForm } from "./add_comment_form.component"; - -import generateUserData from "../support/generate_user_data"; -import generateUserGroupData from "../support/generate_user_group_data"; -import { loadLocaleTranslations } from "../support/load_translations"; - -describe("", () => { - let session: any = null; - const commentsMaxLength: number = 1000; - const commentable = { - id: "1", - type: "Decidim::DummyResources::DummyResource" - }; - const orderBy = "older"; - const addCommentStub = (): any => { - return null; - }; - const context = {locale: undefined, toggleTranslations: undefined}; - - beforeEach(() => { - loadLocaleTranslations("en"); - session = { - user: generateUserData(), - verifiedUserGroups: [] - }; - window.DecidimComments = { - assets: { - "icons.svg": "/assets/icons.svg" - } - }; - - window.$ = $; - }); - - it("should render a div with class add-comment", () => { - const wrapper = shallow(); - expect(wrapper.find("div.add-comment")).toBeDefined(); - }); - - it("should have a reference to body textarea", () => { - const wrapper = mount(); - expect((wrapper.instance() as AddCommentForm).bodyTextArea).toBeDefined(); - }); - - it("should initialize with a state property disabled as true", () => { - const wrapper = mount(); - expect(wrapper.state()).toHaveProperty("disabled", true); - }); - - it("should have a default prop showTitle as true", () => { - const wrapper = mount(); - expect(wrapper.props()).toHaveProperty("showTitle", true); - }); - - it("should not render the title if prop showTitle is false", () => { - const wrapper = shallow(); - expect(wrapper.find("h4.section-heading").exists()).toBeFalsy(); - }); - - it("should have a default prop submitButtonClassName as 'button button--sc'", () => { - const wrapper = mount(); - expect(wrapper.props()).toHaveProperty("submitButtonClassName", "button button--sc"); - }); - - it("should use prop submitButtonClassName as a className prop for submit button", () => { - const wrapper = shallow(); - expect(wrapper.find('button[type="submit"]').hasClass("button")).toBeTruthy(); - expect(wrapper.find('button[type="submit"]').hasClass("small")).toBeTruthy(); - expect(wrapper.find('button[type="submit"]').hasClass("hollow")).toBeTruthy(); - }); - - it("should enable the submit button if textarea is not blank", () => { - const wrapper = mount(); - wrapper.find("textarea").simulate("change", { - target: { - value: "This is a comment" - } - }); - expect(wrapper.find('button[type="submit"]').props()).not.toHaveProperty("disabled", true); - }); - - it("should disable the submit button if textarea is blank", () => { - const wrapper = mount(); - wrapper.find("textarea").simulate("change", { - target: { - value: "This will be deleted" - } - }); - wrapper.find("textarea").simulate("change", { - target: { - value: "" - } - }); - expect(wrapper.find('button[type="submit"]').props()).toHaveProperty("disabled", true); - }); - - it("should not render a div with class 'opinion-toggle'", () => { - const wrapper = shallow(); - expect(wrapper.find(".opinion-toggle").exists()).toBeFalsy(); - }); - - it("should render the remaining character count", () => { - const wrapper = shallow(); - const commentBody = "This is a new comment!"; - wrapper.find("textarea").simulate("change", { - target: { - value: commentBody - } - }); - expect(wrapper.find(".remaining-character-count").text()).toContain(commentsMaxLength - commentBody.length); - }); - - describe("submitting the form", () => { - let addComment: jasmine.Spy; - let onCommentAdded: jasmine.Spy ; - let wrapper: ReactWrapper; - let message: any = null; - - beforeEach(() => { - addComment = jasmine.createSpy("addComment"); - onCommentAdded = jasmine.createSpy("onCommentAdded"); - wrapper = mount(); - message = "This will be submitted"; - (wrapper.instance() as AddCommentForm).bodyTextArea.value = message; - }); - - it("should call addComment prop with the textarea value and state property alignment", () => { - wrapper.find("form").simulate("submit"); - expect(addComment).toHaveBeenCalledWith({ body: message, alignment: 0 }, context); - }); - - it("should reset textarea", () => { - wrapper.find("form").simulate("submit"); - expect((wrapper.instance() as AddCommentForm).bodyTextArea.value).toBe(""); - }); - - it("should prevent default form submission", () => { - const preventDefault = jasmine.createSpy("preventDefault"); - wrapper.find("form").simulate("submit", { preventDefault }); - expect(preventDefault).toHaveBeenCalled(); - }); - - it("should call the prop onCommentAdded function", () => { - wrapper.find("form").simulate("submit"); - expect(onCommentAdded).toHaveBeenCalled(); - }); - }); - - it("should initialize state with a property alignment and value 0", () => { - const wrapper = shallow(); - expect(wrapper.state()).toHaveProperty("alignment", 0); - }); - - describe("when receiving an optional prop arguable with value true", () => { - it("should render a div with class 'opinion-toggle'", () => { - const wrapper = shallow(); - expect(wrapper.find(".opinion-toggle")).toBeDefined(); - }); - - it("should set state alignment to 1 if user clicks ok button and change its class", () => { - const wrapper = shallow(); - wrapper.find(".opinion-toggle--ok").simulate("click"); - expect(wrapper.find(".opinion-toggle--ok").hasClass("is-active")).toBeTruthy(); - expect(wrapper.state()).toHaveProperty("alignment", 1); - }); - - it("should set state alignment to -11 if user clicks ko button and change its class", () => { - const wrapper = shallow(); - wrapper.find(".opinion-toggle--ko").simulate("click"); - expect(wrapper.find(".opinion-toggle--ko").hasClass("is-active")).toBeTruthy(); - expect(wrapper.state()).toHaveProperty("alignment", -1); - }); - - describe("submitting the form", () => { - let wrapper: ReactWrapper; - let addComment: jasmine.Spy; - let message: string; - - beforeEach(() => { - addComment = jasmine.createSpy("addComment"); - wrapper = mount(); - message = "This will be submitted"; - (wrapper.instance() as AddCommentForm).bodyTextArea.value = message; - }); - - it("should call addComment prop with the state's property alignment", () => { - wrapper.find("button.opinion-toggle--ko").simulate("click"); - wrapper.find("form").simulate("submit"); - expect(addComment).toHaveBeenCalledWith({ body: message, alignment: -1 }, context); - }); - - it("should reset the state to its initial state", () => { - wrapper.find("button.opinion-toggle--ok").simulate("click"); - wrapper.find("form").simulate("submit"); - expect(wrapper.state()).toHaveProperty("alignment", 0); - }); - }); - }); - - describe("when user groups are greater than 0", () => { - beforeEach(() => { - session.verifiedUserGroups = [ - generateUserGroupData(), - generateUserGroupData() - ]; - }); - - it("should have a reference to user_group_id select", () => { - const wrapper = mount(); - expect((wrapper.instance() as AddCommentForm).userGroupIdSelect).toBeDefined(); - }); - - it("should render a select with option tags for each verified user group", () => { - const wrapper = mount(); - expect(wrapper.find("select").children("option").length).toBe(3); - }); - - describe("submitting the form", () => { - let addComment: jasmine.Spy; - let wrapper: ReactWrapper; - let message: string; - let userGroupId: string; - - beforeEach(() => { - addComment = jasmine.createSpy("addComment"); - wrapper = mount(); - message = "This will be submitted"; - userGroupId = session.verifiedUserGroups[1].id; - (wrapper.instance() as AddCommentForm).bodyTextArea.value = message; - (wrapper.instance() as AddCommentForm).userGroupIdSelect.value = userGroupId; - }); - - it("should call addComment prop with the body textarea, alignment and user_group_id select values", () => { - wrapper.find("form").simulate("submit"); - expect(addComment).toHaveBeenCalledWith({ body: message, alignment: 0, userGroupId }, context); - }); - - describe("when user_group_id is blank", () => { - beforeEach(() => { - (wrapper.instance() as AddCommentForm).userGroupIdSelect.value = ""; - }); - - it("should call addComment prop with the body textarea and alignment", () => { - wrapper.find("form").simulate("submit"); - expect(addComment).toHaveBeenCalledWith({ body: message, alignment: 0 }, context); - }); - }); - }); - }); - - describe("when session is null", () => { - beforeEach(() => { - session = null; - }); - - it("display a message to sign in or sign up", () => { - const wrapper = mount(); - expect(wrapper.find("span").text()).toContain("sign up"); - }); - }); -}); diff --git a/decidim-comments/app/frontend/comments/add_comment_form.component.tsx b/decidim-comments/app/frontend/comments/add_comment_form.component.tsx deleted file mode 100644 index 0860ed1adf..0000000000 --- a/decidim-comments/app/frontend/comments/add_comment_form.component.tsx +++ /dev/null @@ -1,482 +0,0 @@ -/* eslint-disable no-return-assign, react/no-unused-prop-types, max-lines */ -import * as classnames from "classnames"; -import * as React from "react"; -import { graphql } from "react-apollo"; -import * as uuid from "uuid"; - -const PropTypes = require("prop-types"); - -import Icon from "../application/icon.component"; - -const { I18n, Translate } = require("react-i18nify"); - -import { - AddCommentFormCommentableFragment, - AddCommentFormSessionFragment, - addCommentMutation, - CommentFragment, - GetCommentsQuery -} from "../support/schema"; - -interface AddCommentFormProps { - session: AddCommentFormSessionFragment & { - user: any; - } | null; - commentable: AddCommentFormCommentableFragment; - rootCommentable: AddCommentFormCommentableFragment; - showTitle?: boolean; - submitButtonClassName?: string; - autoFocus?: boolean; - arguable?: boolean; - userAllowedToComment?: boolean; - addComment?: (data: { body: string, alignment: number, userGroupId?: string }, context: any) => void; - onCommentAdded?: () => void; - orderBy: string; - commentsMaxLength: number; -} - -interface AddCommentFormState { - disabled: boolean; - error: boolean; - alignment: number; - remainingCharacterCount: number; -} - -/** - * Renders a form to create new comments. - * @class - * @augments Component - */ -export class AddCommentForm extends React.Component { - public static defaultProps = { - showTitle: true, - submitButtonClassName: "button button--sc", - arguable: false, - autoFocus: false - }; - - public static contextTypes: any = { - locale: PropTypes.string, - toggleTranslations: PropTypes.bool - }; - - public bodyTextArea: HTMLTextAreaElement; - public userGroupIdSelect: HTMLSelectElement; - - constructor(props: AddCommentFormProps) { - super(props); - - this.state = { - disabled: true, - error: false, - alignment: 0, - remainingCharacterCount: props.commentsMaxLength - }; - } - - public render() { - return ( -
    - {this._renderHeading()} - {this._renderAccountMessage()} - {this._renderOpinionButtons()} - {this._renderForm()} -
    - ); - } - - public componentDidMount() { - this._attachMentions(); - } - - /** - * Trick to reuse input_mentions.js logic - */ - private _attachMentions() { - window.$(document).trigger("attach-mentions-element", this.bodyTextArea); - } - - /** - * Render the form heading based on showTitle prop - * @private - * @returns {Void|DOMElement} - The heading or an empty element - */ - private _renderHeading() { - const { showTitle } = this.props; - - if (showTitle) { - return ( -

    - {I18n.t("components.add_comment_form.title")} -

    - ); - } - - return null; - } - - /** - * Render a message telling the user to sign in or sign up to leave a comment. - * @private - * @returns {Void|DOMElement} - The message or an empty element. - */ - private _renderAccountMessage() { - const { session } = this.props; - - if (!session) { - return ( -

    - -

    - ); - } - - return null; - } - - /** - * Render the add comment form if session is present. - * @private - * @returns {Void|DOMElement} - The add comment form on an empty element. - */ - private _renderForm() { - const { session, submitButtonClassName, commentable: { id, type } } = this.props; - const { disabled, remainingCharacterCount } = this.state; - - if (session) { - return ( -
    - {this._renderCommentAs()} -
    - -
    - {this._renderTextArea()} -
    - {this._renderTextAreaError()} - - - {I18n.t("components.add_comment_form.remaining_characters", { count: remainingCharacterCount })} - -
    -
    - ); - } - - return null; - } - - /** - * Render the form heading based on showTitle prop - * @private - * @returns {Void|DOMElement} - The heading or an empty element - */ - private _renderTextArea() { - const { commentable: { id, type }, autoFocus, commentsMaxLength } = this.props; - const { error } = this.state; - const className = classnames({ "is-invalid-input": error }); - - const textAreaProps: any = { - ref: (textarea: HTMLTextAreaElement) => {this.bodyTextArea = textarea; }, - id: `add-comment-${type}-${id}`, - className, - rows: "4", - maxLength: commentsMaxLength, - required: "required", - pattern: `^(.){0,${commentsMaxLength}}$`, - placeholder: I18n.t("components.add_comment_form.form.body.placeholder"), - onChange: (evt: React.ChangeEvent) => this._checkCommentBody(evt.target.value, commentsMaxLength as number) - }; - - if (autoFocus) { - textAreaProps.autoFocus = "autoFocus"; - } - - return ( -