]> git.openstreetmap.org Git - rails.git/commitdiff
Merge pull request #4184 from AntonKhorev/print
authorAndy Allan <git@gravitystorm.co.uk>
Wed, 27 Sep 2023 14:10:52 +0000 (15:10 +0100)
committerGitHub <noreply@github.com>
Wed, 27 Sep 2023 14:10:52 +0000 (15:10 +0100)
Show sidebar in print media

228 files changed:
.github/workflows/docker.yml
.github/workflows/lint.yml
.github/workflows/tests.yml
FAQ.md
Gemfile
Gemfile.lock
Vendorfile
app/abilities/api_ability.rb
app/assets/images/banners/StateoftheMapEurope_2023.png [new file with mode: 0644]
app/assets/images/microsoft.svg [moved from app/assets/images/windowslive.svg with 100% similarity]
app/assets/javascripts/index/changeset.js
app/assets/javascripts/index/directions.js
app/assets/javascripts/leaflet.layers.js
app/assets/javascripts/leaflet.map.js
app/assets/javascripts/leaflet.share.js
app/assets/javascripts/leaflet.sidebar-pane.js
app/assets/javascripts/osm.js.erb
app/assets/stylesheets/common.scss
app/controllers/api/changeset_comments_controller.rb
app/controllers/api/changesets_controller.rb
app/controllers/api/map_controller.rb
app/controllers/api/notes_controller.rb
app/controllers/api/tracepoints_controller.rb
app/controllers/api/traces_controller.rb
app/controllers/api/user_blocks_controller.rb [new file with mode: 0644]
app/controllers/api/users_controller.rb
app/controllers/api/versions_controller.rb
app/controllers/api_controller.rb
app/controllers/application_controller.rb
app/controllers/changesets_controller.rb
app/controllers/concerns/email_methods.rb [new file with mode: 0644]
app/controllers/concerns/user_methods.rb
app/controllers/confirmations_controller.rb
app/controllers/diary_entries_controller.rb
app/controllers/friendships_controller.rb
app/controllers/issues_controller.rb
app/controllers/messages_controller.rb
app/controllers/notes_controller.rb
app/controllers/traces_controller.rb
app/controllers/user_blocks_controller.rb
app/controllers/user_roles_controller.rb
app/controllers/users_controller.rb
app/helpers/banner_helper.rb
app/helpers/issues_helper.rb
app/models/changeset.rb
app/models/trace.rb
app/models/user.rb
app/views/api/capabilities/show.builder
app/views/api/capabilities/show.json.jbuilder
app/views/api/changesets/_changeset.json.jbuilder
app/views/api/changesets/_changeset.xml.builder
app/views/api/notes/feed.rss.builder
app/views/api/traces/_trace.builder
app/views/api/user_blocks/_user_block.json.jbuilder [new file with mode: 0644]
app/views/api/user_blocks/_user_block.xml.builder [new file with mode: 0644]
app/views/api/user_blocks/show.json.jbuilder [new file with mode: 0644]
app/views/api/user_blocks/show.xml.builder [new file with mode: 0644]
app/views/api/users/index.xml.builder
app/views/api/versions/show.json.jbuilder [new file with mode: 0644]
app/views/browse/changeset.html.erb
app/views/changesets/_user.atom.builder [deleted file]
app/views/changesets/index.html.erb
app/views/diary_entries/_form.html.erb
app/views/diary_entries/comments.html.erb
app/views/diary_entries/index.html.erb
app/views/friendships/make_friend.html.erb
app/views/layouts/_header.html.erb
app/views/layouts/_inbox.html.erb
app/views/notes/show.html.erb
app/views/profiles/edit.html.erb
app/views/sessions/new.html.erb
app/views/shared/_pagination.html.erb [new file with mode: 0644]
app/views/site/export.html.erb
app/views/site/key.html.erb
app/views/traces/_trace_paging_nav.html.erb [deleted file]
app/views/traces/index.html.erb
app/views/users/show.html.erb
config/banners.yml
config/initializers/omniauth.rb
config/initializers/rate_limits.rb [new file with mode: 0644]
config/initializers/secure_headers.rb
config/locales/af.yml
config/locales/ar.yml
config/locales/ast.yml
config/locales/ba.yml
config/locales/be.yml
config/locales/bg.yml
config/locales/bn.yml
config/locales/br.yml
config/locales/ca.yml
config/locales/ce.yml
config/locales/cs.yml
config/locales/cy.yml
config/locales/da.yml
config/locales/de.yml
config/locales/el.yml
config/locales/en-GB.yml
config/locales/en.yml
config/locales/eo.yml
config/locales/es.yml
config/locales/et.yml
config/locales/eu.yml
config/locales/fa.yml
config/locales/fi.yml
config/locales/fr.yml
config/locales/fur.yml
config/locales/fy.yml
config/locales/ga.yml
config/locales/gd.yml
config/locales/gl.yml
config/locales/he.yml
config/locales/hi.yml
config/locales/hr.yml
config/locales/hsb.yml
config/locales/hu.yml
config/locales/ia.yml
config/locales/id.yml
config/locales/is.yml
config/locales/it.yml
config/locales/ja.yml
config/locales/kab.yml
config/locales/km.yml
config/locales/kn.yml
config/locales/ko.yml
config/locales/ksh.yml
config/locales/ku-Latn.yml
config/locales/lb.yml
config/locales/lt.yml
config/locales/lv.yml
config/locales/mk.yml
config/locales/mo.yml
config/locales/ms.yml
config/locales/nb.yml
config/locales/nl.yml
config/locales/nn.yml
config/locales/nqo.yml
config/locales/oc.yml
config/locales/pa.yml
config/locales/pl.yml
config/locales/pnb.yml
config/locales/pt-PT.yml
config/locales/pt.yml
config/locales/ro.yml
config/locales/ru.yml
config/locales/sc.yml
config/locales/scn.yml
config/locales/sco.yml
config/locales/sk.yml
config/locales/skr-arab.yml
config/locales/sl.yml
config/locales/sr.yml
config/locales/sv.yml
config/locales/te.yml
config/locales/th.yml
config/locales/tl.yml
config/locales/tr.yml
config/locales/uk.yml
config/locales/vi.yml
config/locales/zh-CN.yml
config/locales/zh-TW.yml
config/routes.rb
config/settings.yml
config/settings/test.yml
db/migrate/20230816135800_use_microsoft_graph.rb [new file with mode: 0644]
db/migrate/20230825162137_restore_author_index_to_changeset_comments.rb [new file with mode: 0644]
db/structure.sql
lib/auth.rb
lib/bounding_box.rb
lib/osm.rb
lib/rate_limiter.rb [new file with mode: 0644]
test/controllers/api/capabilities_controller_test.rb
test/controllers/api/changeset_comments_controller_test.rb
test/controllers/api/changesets_controller_test.rb
test/controllers/api/map_controller_test.rb
test/controllers/api/nodes_controller_test.rb
test/controllers/api/notes_controller_test.rb
test/controllers/api/relations_controller_test.rb
test/controllers/api/tracepoints_controller_test.rb
test/controllers/api/traces_controller_test.rb
test/controllers/api/user_blocks_controller_test.rb [new file with mode: 0644]
test/controllers/api/users_controller_test.rb
test/controllers/api/versions_controller_test.rb
test/controllers/api/ways_controller_test.rb
test/controllers/changesets_controller_test.rb
test/controllers/diary_entries_controller_test.rb
test/controllers/user_blocks_controller_test.rb
test/controllers/users_controller_test.rb
test/factories/changeset_comments.rb
test/factories/friendships.rb
test/factories/issues.rb
test/factories/messages.rb
test/factories/oauth_access_grant.rb
test/factories/oauth_access_token.rb
test/factories/oauth_applications.rb
test/factories/old_node.rb
test/factories/old_relation.rb
test/factories/old_relation_member.rb
test/factories/old_way.rb
test/factories/relation_member.rb
test/factories/user_blocks.rb
test/factories/user_role.rb
test/integration/oauth2_test.rb
test/integration/oauth_test.rb
test/integration/user_creation_test.rb
test/integration/user_login_test.rb
test/lib/bounding_box_test.rb
test/lib/locale_test.rb
test/lib/password_hash_test.rb
test/lib/short_link_test.rb
test/models/trace_test.rb
test/system/account_deletion_test.rb
test/system/diary_entry_test.rb
test/system/issues_test.rb
test/system/preferences_test.rb
test/system/report_diary_comment_test.rb
test/system/report_diary_entry_test.rb
test/system/report_note_test.rb
test/system/report_user_test.rb
test/system/user_logout_test.rb
test/system/user_signup_test.rb
test/system/user_status_change_test.rb
test/system/view_communities_test.rb
test/test_helper.rb
vendor/assets/iD/iD.css.erb
vendor/assets/iD/iD.js
vendor/assets/iD/iD/img/fa-sprite.svg
vendor/assets/leaflet/leaflet.osm.js
yarn.lock

index 74d03b31c982c3e90ff2bb1d55c3aa05209312e0..df617d4fbf2cd992db2842f9b7118b8a25df0714 100644 (file)
@@ -11,7 +11,7 @@ jobs:
     runs-on: ubuntu-22.04
     steps:
     - name: Checkout source
-      uses: actions/checkout@v3
+      uses: actions/checkout@v4
     - name: Poke config
       run: |
         cp config/example.storage.yml config/storage.yml
index e762df4454263d928e570ce04cb108f137cf2019..685937b034ea026708e29bb1edc2ebcb5b02ec4f 100644 (file)
@@ -14,7 +14,7 @@ jobs:
     runs-on: ubuntu-22.04
     steps:
     - name: Check out code
-      uses: actions/checkout@v3
+      uses: actions/checkout@v4
     - name: Setup ruby
       uses: ruby/setup-ruby@v1
       with:
@@ -27,7 +27,7 @@ jobs:
     runs-on: ubuntu-22.04
     steps:
     - name: Check out code
-      uses: actions/checkout@v3
+      uses: actions/checkout@v4
     - name: Setup ruby
       uses: ruby/setup-ruby@v1
       with:
@@ -40,7 +40,7 @@ jobs:
     runs-on: ubuntu-22.04
     steps:
     - name: Check out code
-      uses: actions/checkout@v3
+      uses: actions/checkout@v4
     - name: Setup ruby
       uses: ruby/setup-ruby@v1
       with:
@@ -64,7 +64,7 @@ jobs:
     runs-on: ubuntu-22.04
     steps:
     - name: Check out code
-      uses: actions/checkout@v3
+      uses: actions/checkout@v4
     - name: Setup ruby
       uses: ruby/setup-ruby@v1
       with:
index 1d5c947e0ff2154bdfd1a9dc8987a0b959265bcb..3ee6129e113799a8818f455694e55266df9c6792 100644 (file)
@@ -18,7 +18,7 @@ jobs:
       OPENSTREETMAP_MEMCACHE_SERVERS: 127.0.0.1
     steps:
     - name: Checkout source
-      uses: actions/checkout@v3
+      uses: actions/checkout@v4
     - name: Setup ruby
       uses: ruby/setup-ruby@v1
       with:
@@ -60,7 +60,7 @@ jobs:
     - name: Run tests
       run: bundle exec rails test:all
     - name: Report completion to Coveralls
-      uses: coverallsapp/github-action@v2.2.1
+      uses: coverallsapp/github-action@v2.2.3
       with:
         github-token: ${{ secrets.github_token }}
         flag-name: ubuntu-${{ matrix.ubuntu }}-ruby-${{ matrix.ruby }}
@@ -72,7 +72,7 @@ jobs:
     runs-on: ubuntu-latest
     steps:
     - name: Report completion to Coveralls
-      uses: coverallsapp/github-action@v2.2.1
+      uses: coverallsapp/github-action@v2.2.3
       with:
         github-token: ${{ secrets.github_token }}
         parallel-finished: true
diff --git a/FAQ.md b/FAQ.md
index 4ed5df7c43456c170b7eb6c538f14cb5ec69ea4e..d4ac1fc9fbd9959ca4e2a02a4562c66e8bbc80c8 100644 (file)
--- a/FAQ.md
+++ b/FAQ.md
@@ -15,7 +15,7 @@ drive.  This is a great way to reach a lot of people!
    * Edit [`config/banners.yml`](https://github.com/openstreetmap/openstreetmap-website/blob/master/config/banners.yml) to contain an entry for the event banner.  It should contain the following:
      * `id` - a unique identifier (e.g. `donate2017`)
      * `alt` - alt name for the image (e.g. `OpenStreetMap Funding Drive 2017`)
-     * `link` - URL for your event page (e.g. `https://donate.openstreetmap.org/`)
+     * `link` - URL for your event page (e.g. `https://supporting.openstreetmap.org/`)
      * `img` - the filename for the banner image (e.g. `banners/donate-2017.jpg`)
      * `enddate` - the final date that the banner will be shown (e.g. `2017-oct-31`)
    * (optional) Feel free to cleanup the old images from the `app/assets/images/banners/` folder and old entries in the `config/banners.yml` file.
diff --git a/Gemfile b/Gemfile
index 39ffed86006555c094fa52d6c77394b1bfd9a8a1..f60a219e7bf611cc12d864207088abe2028c76bb 100644 (file)
--- a/Gemfile
+++ b/Gemfile
@@ -72,9 +72,9 @@ gem "omniauth-facebook"
 gem "omniauth-github"
 gem "omniauth-google-oauth2", ">= 0.6.0"
 gem "omniauth-mediawiki", ">= 0.0.4"
+gem "omniauth-microsoft_graph"
 gem "omniauth-openid"
 gem "omniauth-rails_csrf_protection", "~> 1.0"
-gem "omniauth-windowslive"
 
 # Doorkeeper for OAuth2
 gem "doorkeeper"
index b75e9360678aa89124b6ee8d7f5ce5558c77a796..d224d95eec5eda5c5918e9f9edf0965d24931a61 100644 (file)
@@ -3,73 +3,73 @@ GEM
   specs:
     aasm (5.5.0)
       concurrent-ruby (~> 1.0)
-    actioncable (7.0.7)
-      actionpack (= 7.0.7)
-      activesupport (= 7.0.7)
+    actioncable (7.0.8)
+      actionpack (= 7.0.8)
+      activesupport (= 7.0.8)
       nio4r (~> 2.0)
       websocket-driver (>= 0.6.1)
-    actionmailbox (7.0.7)
-      actionpack (= 7.0.7)
-      activejob (= 7.0.7)
-      activerecord (= 7.0.7)
-      activestorage (= 7.0.7)
-      activesupport (= 7.0.7)
+    actionmailbox (7.0.8)
+      actionpack (= 7.0.8)
+      activejob (= 7.0.8)
+      activerecord (= 7.0.8)
+      activestorage (= 7.0.8)
+      activesupport (= 7.0.8)
       mail (>= 2.7.1)
       net-imap
       net-pop
       net-smtp
-    actionmailer (7.0.7)
-      actionpack (= 7.0.7)
-      actionview (= 7.0.7)
-      activejob (= 7.0.7)
-      activesupport (= 7.0.7)
+    actionmailer (7.0.8)
+      actionpack (= 7.0.8)
+      actionview (= 7.0.8)
+      activejob (= 7.0.8)
+      activesupport (= 7.0.8)
       mail (~> 2.5, >= 2.5.4)
       net-imap
       net-pop
       net-smtp
       rails-dom-testing (~> 2.0)
-    actionpack (7.0.7)
-      actionview (= 7.0.7)
-      activesupport (= 7.0.7)
+    actionpack (7.0.8)
+      actionview (= 7.0.8)
+      activesupport (= 7.0.8)
       rack (~> 2.0, >= 2.2.4)
       rack-test (>= 0.6.3)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.2.0)
     actionpack-page_caching (1.2.4)
       actionpack (>= 4.0.0)
-    actiontext (7.0.7)
-      actionpack (= 7.0.7)
-      activerecord (= 7.0.7)
-      activestorage (= 7.0.7)
-      activesupport (= 7.0.7)
+    actiontext (7.0.8)
+      actionpack (= 7.0.8)
+      activerecord (= 7.0.8)
+      activestorage (= 7.0.8)
+      activesupport (= 7.0.8)
       globalid (>= 0.6.0)
       nokogiri (>= 1.8.5)
-    actionview (7.0.7)
-      activesupport (= 7.0.7)
+    actionview (7.0.8)
+      activesupport (= 7.0.8)
       builder (~> 3.1)
       erubi (~> 1.4)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.1, >= 1.2.0)
     active_record_union (1.3.0)
       activerecord (>= 4.0)
-    activejob (7.0.7)
-      activesupport (= 7.0.7)
+    activejob (7.0.8)
+      activesupport (= 7.0.8)
       globalid (>= 0.3.6)
-    activemodel (7.0.7)
-      activesupport (= 7.0.7)
-    activerecord (7.0.7)
-      activemodel (= 7.0.7)
-      activesupport (= 7.0.7)
-    activerecord-import (1.4.1)
+    activemodel (7.0.8)
+      activesupport (= 7.0.8)
+    activerecord (7.0.8)
+      activemodel (= 7.0.8)
+      activesupport (= 7.0.8)
+    activerecord-import (1.5.0)
       activerecord (>= 4.2)
-    activestorage (7.0.7)
-      actionpack (= 7.0.7)
-      activejob (= 7.0.7)
-      activerecord (= 7.0.7)
-      activesupport (= 7.0.7)
+    activestorage (7.0.8)
+      actionpack (= 7.0.8)
+      activejob (= 7.0.8)
+      activerecord (= 7.0.8)
+      activesupport (= 7.0.8)
       marcel (~> 1.0)
       mini_mime (>= 1.1.0)
-    activesupport (7.0.7)
+    activesupport (7.0.8)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 1.6, < 2)
       minitest (>= 5.1)
@@ -79,15 +79,15 @@ GEM
     annotate (3.2.0)
       activerecord (>= 3.2, < 8.0)
       rake (>= 10.4, < 14.0)
-    argon2 (2.2.0)
+    argon2 (2.3.0)
       ffi (~> 1.15)
       ffi-compiler (~> 1.0)
     ast (2.4.2)
-    autoprefixer-rails (10.4.13.0)
+    autoprefixer-rails (10.4.15.0)
       execjs (~> 2)
     aws-eventstream (1.2.0)
-    aws-partitions (1.804.0)
-    aws-sdk-core (3.180.3)
+    aws-partitions (1.828.0)
+    aws-sdk-core (3.183.1)
       aws-eventstream (~> 1, >= 1.0.2)
       aws-partitions (~> 1, >= 1.651.0)
       aws-sigv4 (~> 1.5)
@@ -95,8 +95,8 @@ GEM
     aws-sdk-kms (1.71.0)
       aws-sdk-core (~> 3, >= 3.177.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-s3 (1.132.1)
-      aws-sdk-core (~> 3, >= 3.179.0)
+    aws-sdk-s3 (1.135.0)
+      aws-sdk-core (~> 3, >= 3.181.0)
       aws-sdk-kms (~> 1)
       aws-sigv4 (~> 1.6)
     aws-sigv4 (1.6.0)
@@ -121,9 +121,9 @@ GEM
       autoprefixer-rails (>= 9.1.0)
       popper_js (>= 2.9.3, < 3)
       sassc-rails (>= 2.0.0)
-    bootstrap_form (5.2.3)
-      actionpack (>= 6.0)
-      activemodel (>= 6.0)
+    bootstrap_form (5.3.2)
+      actionpack (>= 6.1)
+      activemodel (>= 6.1)
     brakeman (6.0.1)
     brotli (0.4.0)
     browser (5.3.1)
@@ -152,7 +152,7 @@ GEM
     crack (0.4.5)
       rexml
     crass (1.0.6)
-    dalli (3.2.5)
+    dalli (3.2.6)
     date (3.3.3)
     debug_inspector (1.1.0)
     deep_merge (1.2.2)
@@ -178,7 +178,7 @@ GEM
       concurrent-ruby (~> 1.0)
       dry-core (~> 1.0, < 2)
       zeitwerk (~> 2.6)
-    dry-schema (1.13.2)
+    dry-schema (1.13.3)
       concurrent-ruby (~> 1.0)
       dry-configurable (~> 1.0, >= 1.0.1)
       dry-core (~> 1.0, < 2)
@@ -198,7 +198,7 @@ GEM
       dry-initializer (~> 3.0)
       dry-schema (>= 1.12, < 2)
       zeitwerk (~> 2.6)
-    erb_lint (0.4.0)
+    erb_lint (0.5.0)
       activesupport
       better_html (>= 2.0.1)
       parser (>= 2.7.1.4)
@@ -206,30 +206,31 @@ GEM
       rubocop
       smart_properties
     erubi (1.12.0)
-    execjs (2.8.1)
+    execjs (2.9.1)
     exifr (1.4.0)
     factory_bot (6.2.1)
       activesupport (>= 5.0.0)
     factory_bot_rails (6.2.0)
       factory_bot (~> 6.2.0)
       railties (>= 5.0.0)
-    faraday (2.7.10)
+    faraday (2.7.11)
+      base64
       faraday-net_http (>= 2.0, < 3.1)
       ruby2_keywords (>= 0.0.4)
     faraday-net_http (3.0.2)
-    ffi (1.15.5)
+    ffi (1.16.2)
     ffi-compiler (1.0.1)
       ffi (>= 1.0.0)
       rake
-    ffi-libarchive (1.1.3)
+    ffi-libarchive (1.1.13)
       ffi (~> 1.0)
     frozen_record (0.27.0)
       activemodel
     fspath (3.1.2)
     gd2-ffij (0.4.0)
       ffi (>= 1.0.0)
-    globalid (1.1.0)
-      activesupport (>= 5.0)
+    globalid (1.2.1)
+      activesupport (>= 6.1)
     hashdiff (1.0.1)
     hashie (5.0.0)
     highline (2.1.0)
@@ -301,7 +302,7 @@ GEM
     mini_magick (4.12.0)
     mini_mime (1.1.5)
     mini_portile2 (2.8.4)
-    minitest (5.19.0)
+    minitest (5.20.0)
     msgpack (1.7.2)
     multi_json (1.15.0)
     multi_xml (0.6.0)
@@ -312,7 +313,7 @@ GEM
       net-protocol
     net-protocol (0.2.1)
       timeout
-    net-smtp (0.3.3)
+    net-smtp (0.4.0)
       net-protocol
     nio4r (2.5.9)
     nokogiri (1.15.4)
@@ -348,6 +349,9 @@ GEM
     omniauth-mediawiki (0.0.4)
       jwt (~> 2.0)
       omniauth-oauth (~> 1.0)
+    omniauth-microsoft_graph (1.2.0)
+      omniauth (~> 2.0)
+      omniauth-oauth2 (~> 1.8.0)
     omniauth-oauth (1.2.0)
       oauth
       omniauth (>= 1.0, < 3)
@@ -360,19 +364,16 @@ GEM
     omniauth-rails_csrf_protection (1.0.1)
       actionpack (>= 4.2)
       omniauth (~> 2.0)
-    omniauth-windowslive (0.0.12)
-      multi_json (~> 1.12)
-      omniauth-oauth2 (~> 1.4)
     openstreetmap-deadlock_retry (1.3.1)
     parallel (1.23.0)
     parser (3.2.2.3)
       ast (~> 2.4.1)
       racc
-    pg (1.5.3)
+    pg (1.5.4)
     popper_js (2.11.8)
     progress (3.6.0)
     public_suffix (5.0.3)
-    puma (5.6.6)
+    puma (5.6.7)
       nio4r (~> 2.0)
     quad_tile (1.0.1)
     r2 (0.2.8)
@@ -388,20 +389,20 @@ GEM
     rack-test (2.1.0)
       rack (>= 1.3)
     rack-uri_sanitizer (0.0.2)
-    rails (7.0.7)
-      actioncable (= 7.0.7)
-      actionmailbox (= 7.0.7)
-      actionmailer (= 7.0.7)
-      actionpack (= 7.0.7)
-      actiontext (= 7.0.7)
-      actionview (= 7.0.7)
-      activejob (= 7.0.7)
-      activemodel (= 7.0.7)
-      activerecord (= 7.0.7)
-      activestorage (= 7.0.7)
-      activesupport (= 7.0.7)
+    rails (7.0.8)
+      actioncable (= 7.0.8)
+      actionmailbox (= 7.0.8)
+      actionmailer (= 7.0.8)
+      actionpack (= 7.0.8)
+      actiontext (= 7.0.8)
+      actionview (= 7.0.8)
+      activejob (= 7.0.8)
+      activemodel (= 7.0.8)
+      activerecord (= 7.0.8)
+      activestorage (= 7.0.8)
+      activesupport (= 7.0.8)
       bundler (>= 1.15.0)
-      railties (= 7.0.7)
+      railties (= 7.0.8)
     rails-controller-testing (1.0.5)
       actionpack (>= 5.0.1.rc1)
       actionview (>= 5.0.1.rc1)
@@ -416,9 +417,9 @@ GEM
     rails-i18n (7.0.8)
       i18n (>= 0.7, < 2)
       railties (>= 6.0.0, < 8)
-    railties (7.0.7)
-      actionpack (= 7.0.7)
-      activesupport (= 7.0.7)
+    railties (7.0.8)
+      actionpack (= 7.0.8)
+      activesupport (= 7.0.8)
       method_source
       rake (>= 12.2)
       thor (~> 1.0)
@@ -433,9 +434,9 @@ GEM
       rack (>= 1.4)
     rexml (3.2.6)
     rinku (2.0.6)
-    rotp (6.2.2)
+    rotp (6.3.0)
     rouge (4.1.3)
-    rubocop (1.56.0)
+    rubocop (1.56.3)
       base64 (~> 0.1.1)
       json (~> 2.3)
       language_server-protocol (>= 3.17.0)
@@ -449,16 +450,16 @@ GEM
       unicode-display_width (>= 2.4.0, < 3.0)
     rubocop-ast (1.29.0)
       parser (>= 3.2.1.0)
-    rubocop-capybara (2.18.0)
+    rubocop-capybara (2.19.0)
       rubocop (~> 1.41)
-    rubocop-factory_bot (2.23.1)
+    rubocop-factory_bot (2.24.0)
       rubocop (~> 1.33)
-    rubocop-minitest (0.31.0)
+    rubocop-minitest (0.32.1)
       rubocop (>= 1.39, < 2.0)
-    rubocop-performance (1.19.0)
+    rubocop-performance (1.19.1)
       rubocop (>= 1.7.0, < 2.0)
       rubocop-ast (>= 0.4.0)
-    rubocop-rails (2.20.2)
+    rubocop-rails (2.21.1)
       activesupport (>= 4.2.0)
       rack (>= 1.1)
       rubocop (>= 1.33.0, < 2.0)
@@ -470,7 +471,7 @@ GEM
       ffi (~> 1.12)
     ruby2_keywords (0.0.5)
     rubyzip (2.3.2)
-    sanitize (6.0.2)
+    sanitize (6.1.0)
       crass (~> 1.0.2)
       nokogiri (>= 1.12.0)
     sassc (2.4.0)
@@ -482,7 +483,7 @@ GEM
       sprockets-rails
       tilt
     secure_headers (6.5.0)
-    selenium-webdriver (4.11.0)
+    selenium-webdriver (4.13.1)
       rexml (~> 3.2, >= 3.2.5)
       rubyzip (>= 1.2.2, < 3.0)
       websocket (~> 1.0)
@@ -497,7 +498,7 @@ GEM
     snaky_hash (2.0.1)
       hashie
       version_gem (~> 1.1, >= 1.1.1)
-    sprockets (4.2.0)
+    sprockets (4.2.1)
       concurrent-ruby (~> 1.0)
       rack (>= 2.2.4, < 4)
     sprockets-exporters_pack (0.1.2)
@@ -507,14 +508,14 @@ GEM
       actionpack (>= 5.2)
       activesupport (>= 5.2)
       sprockets (>= 3.0.0)
-    strong_migrations (1.6.1)
+    strong_migrations (1.6.3)
       activerecord (>= 5.2)
     terminal-table (3.0.2)
       unicode-display_width (>= 1.1.1, < 3)
-    terser (1.1.17)
+    terser (1.1.18)
       execjs (>= 0.3.0, < 3)
     thor (1.2.2)
-    tilt (2.2.0)
+    tilt (2.3.0)
     timeout (0.4.0)
     tzinfo (2.0.6)
       concurrent-ruby (~> 1.0)
@@ -523,17 +524,17 @@ GEM
       i18n
     vendorer (0.2.0)
     version_gem (1.1.3)
-    webmock (3.18.1)
+    webmock (3.19.1)
       addressable (>= 2.8.0)
       crack (>= 0.3.2)
       hashdiff (>= 0.4.0, < 2.0.0)
-    websocket (1.2.9)
+    websocket (1.2.10)
     websocket-driver (0.7.6)
       websocket-extensions (>= 0.1.0)
     websocket-extensions (0.1.5)
     xpath (3.2.0)
       nokogiri (~> 1.8)
-    zeitwerk (2.6.11)
+    zeitwerk (2.6.12)
 
 PLATFORMS
   ruby
@@ -595,9 +596,9 @@ DEPENDENCIES
   omniauth-github
   omniauth-google-oauth2 (>= 0.6.0)
   omniauth-mediawiki (>= 0.0.4)
+  omniauth-microsoft_graph
   omniauth-openid
   omniauth-rails_csrf_protection (~> 1.0)
-  omniauth-windowslive
   openstreetmap-deadlock_retry (>= 1.3.1)
   pg
   puma (~> 5.6)
index 680ed2225cc529bd167d03fe22bc9bd14f34185c..4c6a80839d9264fd60cfa760bdb4f12d0bf7b0ed 100644 (file)
@@ -15,7 +15,7 @@ folder 'vendor/assets' do
       folder 'img', 'src/img'
     end
 
-    from 'https://github.com/jfirebaugh/leaflet-osm.git' do
+    from 'https://github.com/openstreetmap/leaflet-osm.git' do
       file 'leaflet.osm.js', 'leaflet-osm.js'
     end
 
index 9b274ec845d299f2ee6af894e80cb0f3ac0dac3a..fe39f5eb5aa2475a4d1c56fa9456e9a8842d117a 100644 (file)
@@ -21,6 +21,7 @@ class ApiAbility
       can [:history, :version], OldNode
       can [:history, :version], OldWay
       can [:history, :version], OldRelation
+      can [:show], UserBlock
     end
 
     if user&.active?
diff --git a/app/assets/images/banners/StateoftheMapEurope_2023.png b/app/assets/images/banners/StateoftheMapEurope_2023.png
new file mode 100644 (file)
index 0000000..33e9db9
Binary files /dev/null and b/app/assets/images/banners/StateoftheMapEurope_2023.png differ
index 9e38917afeda29892b0ebcfa4df68c172234ceeb..a6213b9c434367a9141062be608e1a2b53d49bf0 100644 (file)
@@ -29,6 +29,7 @@ OSM.Changeset = function (map) {
   function updateChangeset(form, method, url, include_data) {
     var data;
 
+    $(form).find("#comment-error").prop("hidden", true);
     $(form).find("input[type=submit]").prop("disabled", true);
 
     if (include_data) {
@@ -44,6 +45,11 @@ OSM.Changeset = function (map) {
       data: data,
       success: function () {
         OSM.loadSidebarContent(window.location.pathname, page.load);
+      },
+      error: function (xhr, xhr_status, http_status) {
+        $(form).find("#comment-error").text(http_status);
+        $(form).find("#comment-error").prop("hidden", false);
+        $(form).find("input[type=submit]").prop("disabled", false);
       }
     });
   }
index 7bd0891a34e920956f0e80c3ed12a0f59e4bd9f7..c86c8ad02ccde0813d9ae03c6011505bd6933536 100644 (file)
@@ -268,7 +268,8 @@ OSM.Directions = function (map) {
           I18n.t("javascripts.directions.descend") + ": " + formatHeight(route.descend) + ".");
       }
 
-      var turnByTurnTable = $("<table class='mb-3'>");
+      var turnByTurnTable = $("<table class='table table-sm mb-3'>")
+        .append($("<tbody>"));
       var directionsCloseButton = $("<button type='button' class='btn-close'>")
         .attr("aria-label", I18n.t("javascripts.close"));
 
@@ -304,8 +305,8 @@ OSM.Directions = function (map) {
         }
 
         var row = $("<tr class='turn'/>");
-        row.append("<td><div class='direction i" + direction + "'/></td> ");
-        row.append("<td class='instruction'>" + instruction);
+        row.append("<td class='border-0'><div class='direction i" + direction + "'/></td> ");
+        row.append("<td>" + instruction);
         row.append("<td class='distance'>" + dist);
 
         row.on("click", function () {
index 020876c470c71f134ab5e2543e29a73be8c7b7b8..27311f7c1441c3d22acde08cbcc526702b0e7e4e 100644 (file)
@@ -8,11 +8,12 @@ L.OSM.layers = function (options) {
       .attr("class", "section base-layers")
       .appendTo($ui);
 
-    var baseLayers = $("<ul class='list-unstyled'>")
+    var baseLayers = $("<ul class='list-unstyled mb-0'>")
       .appendTo(baseSection);
 
     layers.forEach(function (layer) {
       var item = $("<li>")
+        .attr("class", "rounded-3")
         .appendTo(baseLayers);
 
       if (map.hasLayer(layer)) {
index 88d16bc8e4595801c1b389e05a886ea094803c23..e1e0e64fde0b58433a7cd204d570e50410c3ba27 100644 (file)
@@ -22,7 +22,7 @@ L.OSM.Map = L.Map.extend({
     var copyright = I18n.t("javascripts.map.copyright_text", { copyright_link: copyright_link });
 
     var donate = $("<a>", {
-      "href": "https://donate.openstreetmap.org",
+      "href": "https://supporting.openstreetmap.org",
       "class": "donate-attr",
       "text": I18n.t("javascripts.map.make_a_donation")
     }).prop("outerHTML");
@@ -51,6 +51,13 @@ L.OSM.Map = L.Map.extend({
     }).prop("outerHTML");
     var thunderforest = I18n.t("javascripts.map.thunderforest_credit", { thunderforest_link: thunderforest_link });
 
+    var tracestrack_link = $("<a>", {
+      href: "https://www.tracestrack.com/",
+      target: "_blank",
+      text: I18n.t("javascripts.map.tracestrack")
+    }).prop("outerHTML");
+    var tracestrack = I18n.t("javascripts.map.tracestrack_credit", { tracestrack_link: tracestrack_link });
+
     var memomaps_link = $("<a>", {
       href: "https://memomaps.de/",
       target: "_blank",
@@ -99,6 +106,16 @@ L.OSM.Map = L.Map.extend({
       }));
     }
 
+    if (OSM.TRACESTRACK_KEY) {
+      this.baseLayers.push(new L.OSM.TracestrackTopo({
+        attribution: copyright + ". " + tracestrack + ". " + terms,
+        apikey: OSM.TRACESTRACK_KEY,
+        code: "P",
+        keyid: "tracestracktopo",
+        name: I18n.t("javascripts.map.base.tracestracktop_topo")
+      }));
+    }
+
     this.baseLayers.push(new L.OSM.OPNVKarte({
       attribution: copyright + ". " + memomaps + ". " + terms,
       code: "O",
index 7b1c995c2d1a45fe03cc6fe9e6fe3dffcd13f620..c096a92fcf725b4d2ce3e2d144416cfcdfe726fc 100644 (file)
@@ -23,17 +23,15 @@ L.OSM.share = function (options) {
     $("<div>")
       .attr("class", "form-check mb-3")
       .appendTo($form)
-      .append(
-        $("<label>")
-          .attr("for", "link_marker")
-          .attr("class", "form-check-label")
-          .append(
-            $("<input>")
-              .attr("id", "link_marker")
-              .attr("type", "checkbox")
-              .attr("class", "form-check-input")
-              .bind("change", toggleMarker))
-          .append(I18n.t("javascripts.share.include_marker")));
+      .append($("<label>")
+        .attr("for", "link_marker")
+        .attr("class", "form-check-label")
+        .text(I18n.t("javascripts.share.include_marker")))
+      .append($("<input>")
+        .attr("id", "link_marker")
+        .attr("type", "checkbox")
+        .attr("class", "form-check-input")
+        .bind("change", toggleMarker));
 
     $("<div class='btn-group btn-group-sm mb-2'>")
       .appendTo($form)
@@ -70,6 +68,8 @@ L.OSM.share = function (options) {
       .append($("<input>")
         .attr("id", "long_input")
         .attr("type", "text")
+        .attr("class", "form-control form-control-sm font-monospace")
+        .attr("readonly", true)
         .on("click", select));
 
     $("<div>")
@@ -79,6 +79,8 @@ L.OSM.share = function (options) {
       .append($("<input>")
         .attr("id", "short_input")
         .attr("type", "text")
+        .attr("class", "form-control form-control-sm font-monospace")
+        .attr("readonly", true)
         .on("click", select));
 
     $("<div>")
@@ -88,6 +90,8 @@ L.OSM.share = function (options) {
       .append(
         $("<textarea>")
           .attr("id", "embed_html")
+          .attr("class", "form-control form-control-sm font-monospace")
+          .attr("readonly", true)
           .on("click", select))
       .append(
         $("<p>")
@@ -131,46 +135,61 @@ L.OSM.share = function (options) {
       .attr("method", "post")
       .appendTo($imageSection);
 
-    $("<div>")
-      .attr("class", "mb-3 form-check")
-      .appendTo($form)
-      .append(
-        $("<label>")
-          .attr("for", "image_filter")
-          .attr("class", "form-check-label")
-          .append(
-            $("<input>")
-              .attr("id", "image_filter")
-              .attr("type", "checkbox")
-              .attr("class", "form-check-input")
-              .bind("change", toggleFilter))
-          .append(I18n.t("javascripts.share.custom_dimensions")));
-
     $("<div>")
       .appendTo($form)
-      .append(
-        $("<label>")
-          .attr("for", "mapnik_format")
-          .text(I18n.t("javascripts.share.format")))
-      .append($("<select>")
-        .attr("name", "mapnik_format")
-        .attr("id", "mapnik_format")
-        .append($("<option>").val("png").text("PNG").prop("selected", true))
-        .append($("<option>").val("jpeg").text("JPEG"))
-        .append($("<option>").val("svg").text("SVG"))
-        .append($("<option>").val("pdf").text("PDF")));
+      .attr("class", "row mb-3")
+      .append($("<label>")
+        .attr("for", "mapnik_format")
+        .attr("class", "col-auto col-form-label")
+        .text(I18n.t("javascripts.share.format")))
+      .append($("<div>")
+        .attr("class", "col-auto")
+        .append($("<select>")
+          .attr("name", "mapnik_format")
+          .attr("id", "mapnik_format")
+          .attr("class", "form-select w-auto")
+          .append($("<option>").val("png").text("PNG").prop("selected", true))
+          .append($("<option>").val("jpeg").text("JPEG"))
+          .append($("<option>").val("svg").text("SVG"))
+          .append($("<option>").val("pdf").text("PDF"))));
 
     $("<div>")
       .appendTo($form)
+      .attr("class", "row mb-3")
       .append($("<label>")
         .attr("for", "mapnik_scale")
+        .attr("class", "col-auto col-form-label")
         .text(I18n.t("javascripts.share.scale")))
-      .append("1 : ")
-      .append($("<input>")
-        .attr("name", "mapnik_scale")
-        .attr("id", "mapnik_scale")
-        .attr("type", "text")
-        .on("change", update));
+      .append($("<div>")
+        .attr("class", "col-auto")
+        .append($("<div>")
+          .attr("class", "input-group flex-nowrap")
+          .append($("<span>")
+            .attr("class", "input-group-text")
+            .text("1 : "))
+          .append($("<input>")
+            .attr("name", "mapnik_scale")
+            .attr("id", "mapnik_scale")
+            .attr("type", "text")
+            .attr("class", "form-control")
+            .on("change", update))));
+
+    $("<div>")
+      .attr("class", "row mb-3")
+      .appendTo($form)
+      .append($("<div>")
+        .attr("class", "col-auto")
+        .append($("<div>")
+          .attr("class", "form-check")
+          .append($("<label>")
+            .attr("for", "image_filter")
+            .attr("class", "form-check-label")
+            .text(I18n.t("javascripts.share.custom_dimensions")))
+          .append($("<input>")
+            .attr("id", "image_filter")
+            .attr("type", "checkbox")
+            .attr("class", "form-check-input")
+            .bind("change", toggleFilter))));
 
     ["minlon", "minlat", "maxlon", "maxlat"].forEach(function (name) {
       $("<input>")
index d8213a3767a948aee2c0a9cdadc5498cbf1d4208..516a446c38811994cf4343b8b507340f3b709efa 100644 (file)
@@ -20,9 +20,9 @@ L.OSM.sidebarPane = function (options, uiClass, buttonTitle, paneTitle) {
     var $ui = $("<div>")
       .attr("class", uiClass + "-ui");
 
-    $("<div class='sidebar_heading d-flex'>")
+    $("<div class='d-flex p-3 pb-0'>")
       .appendTo($ui)
-      .append($("<h4 class='flex-grow-1 text-break'>")
+      .append($("<h2 class='flex-grow-1 text-break'>")
         .text(I18n.t(paneTitle)))
       .append($("<div>")
         .append($("<button type='button' class='btn-close'>")
index 0ffd35e2ceabfc922889ce572b727e8db3e272a2..0a0f5c67a7c5a9df678e3cb1e7168f46f90434ee 100644 (file)
@@ -25,6 +25,10 @@ OSM = {
   THUNDERFOREST_KEY:       <%= Settings.thunderforest_key.to_json %>,
 <% end %>
 
+<% if Settings.key?(:tracestrack_key) %>
+  TRACESTRACK_KEY:         <%= Settings.tracestrack_key.to_json %>,
+<% end %>
+
   MARKER_GREEN:            <%= image_path("marker-green.png").to_json %>,
   MARKER_RED:              <%= image_path("marker-red.png").to_json %>,
 
index aa2c95a99b12a8dbdff083dfb7d6e205fd53c410..b95d1fcd60202c5072d962d0520a45ac2f3e9106 100644 (file)
@@ -23,7 +23,7 @@ small, aside {
 
 .small_icon {
   vertical-align: middle;
-  margin-right: $lineheight/4;
+  margin-right: $lineheight * 0.25;
 }
 
 [dir=rtl] { /* no-r2 */ text-align: right; }
@@ -102,7 +102,7 @@ header {
 
   > * {
     height: 100%;
-    padding: $lineheight/2;
+    padding: $lineheight * 0.5;
   }
 
   h1, nav.primary {
@@ -204,18 +204,7 @@ nav.secondary {
   }
 
   #inboxanchor {
-    display: inline-block;
-    height: 25px;
-    margin: 3px 0 3px 3px;
     background-color: lighten($grey, 10%);
-    line-height: 20px;
-    border-radius: 3;
-  }
-
-  .dropdown-menu {
-    .count-number {
-      font-size: 14px;
-    }
   }
 }
 
@@ -329,12 +318,9 @@ body.small-nav {
 /* Utility for styling notification numbers */
 
 .count-number {
-  padding: 2px $lineheight/4;
-  border-radius: 2px;
   background: lighten($green, 30%);
-  margin: 0 2px;
-  font-size: 11px;
-  color: #333;
+  color: $gray-800;
+  font-weight: $font-weight-normal;
 }
 
 /* Rules for the message shown in place of the map when javascript is disabled */
@@ -500,7 +486,7 @@ body.small-nav {
 
     .section {
       border-bottom: 1px solid $grey;
-      padding: 10px 20px;
+      padding: $spacer;
     }
   }
 }
@@ -587,29 +573,13 @@ body.small-nav {
 }
 
 .share-ui {
-  .share-link {
-    input[type=text],
-    textarea {
-      width: 100%;
-      font-family: monospace;
-      font-size: small;
-      line-height: 1.3;
-    }
-  }
-
-  .share-image {
-    label {
-      margin-right: 10px;
-    }
-  }
-
   #mapnik_scale {
     width: 100px;
   }
 }
 
 .leaflet-top {
-  top: $lineheight/2 !important;
+  top: 10px !important;
   .leaflet-control {
     margin-right: 0px !important;
     margin-top: 0px !important;
@@ -636,13 +606,6 @@ body.small-nav {
 
 /* Rules for the sidebar */
 
-.sidebar_heading {
-  position: relative;
-  padding: $lineheight/2 $lineheight;
-  // background: $offwhite;
-  // border-bottom: 1px solid $grey;
-}
-
 #browse_status {
   input {
     display: block;
@@ -661,6 +624,9 @@ form {
   label {
     font-size: 16px;
   }
+  .col-form-label {
+    font-size: 16px;
+  }
 }
 
 /* Stop bootstrap 5 from floating legends when they don't need to be */
@@ -732,11 +698,6 @@ div.direction {
 div.direction.i#{$i} { background-position: #{($i)*-20}px 0px; }
 }
 
-td.instruction, td.distance {
-    padding-top: $lineheight/5;
-    padding-bottom: $lineheight/5;
-    border-bottom: 1px solid $grey;
-}
 td.distance {
     color: $darkgrey;
     text-align: right;
@@ -843,15 +804,6 @@ tr.turn:hover {
     }
   }
 
-  .note-comments li, .changeset-comments li {
-    margin: $lineheight/2 0;
-
-    p {
-      margin: 10px 6px 0 6px;
-      line-height: 1.5;
-    }
-  }
-
   .subscribe-buttons input {
     font-size: 90%;
     line-height: 15px;
@@ -925,18 +877,6 @@ tr.turn:hover {
     }
     #minlat { margin-bottom: -1px; }
   }
-
-  .export_bound {
-    margin: $lineheight/4;
-  }
-
-  dl {
-    padding-left: $lineheight/2;
-    dd {
-      margin-left: 0;
-      margin-bottom: 10px;
-    }
-  }
 }
 
 /* Rules for edit pages */
@@ -1036,7 +976,7 @@ tr.turn:hover {
 /* Rules for the user map */
 
 .content_map .leaflet-popup-content {
-  margin: $lineheight/2;
+  margin: $spacer;
   min-height: 50px;
 }
 
@@ -1072,20 +1012,6 @@ tr.turn:hover {
     &:first-child {
       border-top: 1px solid $grey;
     }
-    p {
-      margin-bottom: $lineheight/2;
-    }
-  }
-}
-
-/* Rules for the log in page */
-
-#login_auth_buttons {
-  margin-bottom: 0;
-
-  li {
-    float: left;
-    padding: $lineheight/4 $lineheight/2;
   }
 }
 
@@ -1176,9 +1102,9 @@ nav.secondary-actions {
       flex-basis: auto;
       list-style: none;
       border-left: 1px solid $grey;
-      padding-left: $lineheight/2;
-      margin-right: $lineheight/2;
-      margin-bottom: $lineheight/8;
+      padding-left: $lineheight * 0.5;
+      margin-right: $lineheight * 0.5;
+      margin-bottom: $lineheight * 0.125;
     }
   }
 }
index 8b971834d76432d2728a2d7c0bd059691a9328e4..bb77e1106609b2cea7b0190a61fcb160fd4032b0 100644 (file)
@@ -17,6 +17,7 @@ module Api
       # Check the arguments are sane
       raise OSM::APIBadUserInput, "No id was given" unless params[:id]
       raise OSM::APIBadUserInput, "No text was given" if params[:text].blank?
+      raise OSM::APIRateLimitExceeded if rate_limit_exceeded?
 
       # Extract the arguments
       id = params[:id].to_i
@@ -98,5 +99,15 @@ module Api
         format.json
       end
     end
+
+    private
+
+    ##
+    # Check if the current user has exceed the rate limit for comments
+    def rate_limit_exceeded?
+      recent_comments = current_user.changeset_comments.where("created_at >= ?", Time.now.utc - 1.hour).count
+
+      recent_comments >= current_user.max_changeset_comments_per_hour
+    end
   end
 end
index 84f1ccdb526b41be0d338f533f3c05b6e09f2212..7bb7a5a4de14bddb49f988f7f9285d96de074b1e 100644 (file)
@@ -307,7 +307,7 @@ module Api
               # user input checking, we don't have any UIDs < 1
               raise OSM::APIBadUserInput, "invalid user ID" if user.to_i < 1
 
-              u = User.find(user.to_i)
+              u = User.find_by(:id => user.to_i)
             else
               u = User.find_by(:display_name => name)
             end
@@ -325,7 +325,7 @@ module Api
           raise OSM::APINotFoundError if current_user.nil? || current_user != u
         end
 
-        changesets.where(:user_id => u.id)
+        changesets.where(:user => u)
       end
     end
 
index 0d123fc3e7851f2d0eae4748d4cacf38575e8e47..5a05f6de2b527e6c236b665007ab8a5cd309b534 100644 (file)
@@ -22,6 +22,8 @@ module Api
       # check boundary is sane and area within defined
       # see /config/application.yml
       begin
+        raise OSM::APIBadUserInput, "The parameter bbox is required" unless params[:bbox]
+
         @bounds = BoundingBox.from_bbox_params(params)
         @bounds.check_boundaries
         @bounds.check_size
index 5e24532e79bf7f31594a82db9143465aa502dcbf..95466781f84c8bd97a8fef6c6bea1332d26f6388 100644 (file)
@@ -18,13 +18,10 @@ module Api
       # support the old, deprecated, method with four arguments
       if params[:bbox]
         bbox = BoundingBox.from_bbox_params(params)
-      else
-        raise OSM::APIBadUserInput, "No l was given" unless params[:l]
-        raise OSM::APIBadUserInput, "No r was given" unless params[:r]
-        raise OSM::APIBadUserInput, "No b was given" unless params[:b]
-        raise OSM::APIBadUserInput, "No t was given" unless params[:t]
-
+      elsif params[:l] && params[:r] && params[:b] && params[:t]
         bbox = BoundingBox.from_lrbt_params(params)
+      else
+        raise OSM::APIBadUserInput, "The parameter bbox is required"
       end
 
       # Get any conditions that need to be applied
@@ -235,23 +232,12 @@ module Api
     def feed
       # Get any conditions that need to be applied
       notes = closed_condition(Note.all)
-
-      # Process any bbox
-      if params[:bbox]
-        bbox = BoundingBox.from_bbox_params(params)
-
-        bbox.check_boundaries
-        bbox.check_size(Settings.max_note_request_area)
-
-        notes = notes.bbox(bbox)
-        @min_lon = bbox.min_lon
-        @min_lat = bbox.min_lat
-        @max_lon = bbox.max_lon
-        @max_lat = bbox.max_lat
-      end
+      notes = bbox_condition(notes)
 
       # Find the comments we want to return
-      @comments = NoteComment.where(:note_id => notes).order("created_at DESC").limit(result_limit).preload(:note)
+      @comments = NoteComment.where(:note => notes)
+                             .order(:created_at => :desc).limit(result_limit)
+                             .preload(:author, :note => { :comments => :author })
 
       # Render the result
       respond_to do |format|
@@ -264,6 +250,7 @@ module Api
     def search
       # Get the initial set of notes
       @notes = closed_condition(Note.all)
+      @notes = bbox_condition(@notes)
 
       # Add any user filter
       if params[:display_name] || params[:user]
@@ -345,13 +332,13 @@ module Api
     # Get the maximum number of results to return
     def result_limit
       if params[:limit]
-        if params[:limit].to_i.positive? && params[:limit].to_i <= 10000
+        if params[:limit].to_i.positive? && params[:limit].to_i <= Settings.max_note_query_limit
           params[:limit].to_i
         else
-          raise OSM::APIBadUserInput, "Note limit must be between 1 and 10000"
+          raise OSM::APIBadUserInput, "Note limit must be between 1 and #{Settings.max_note_query_limit}"
         end
       else
-        100
+        Settings.default_note_query_limit
       end
     end
 
@@ -376,6 +363,27 @@ module Api
       end
     end
 
+    ##
+    # Generate a condition to choose which notes we want based
+    # on the user's bounding box request parameters
+    def bbox_condition(notes)
+      if params[:bbox]
+        bbox = BoundingBox.from_bbox_params(params)
+
+        bbox.check_boundaries
+        bbox.check_size(Settings.max_note_request_area)
+
+        @min_lon = bbox.min_lon
+        @min_lat = bbox.min_lat
+        @max_lon = bbox.max_lon
+        @max_lat = bbox.max_lat
+
+        notes.bbox(bbox)
+      else
+        notes
+      end
+    end
+
     ##
     # Add a comment to a note
     def add_comment(note, text, event, notify: true)
index e8bd97b64196503f9d3279dd9e749496880cf38c..f38351de96f0884e0a69aecebbb430871ad2c231 100644 (file)
@@ -23,6 +23,8 @@ module Api
       # check boundary is sane and area within defined
       # see /config/application.yml
       begin
+        raise OSM::APIBadUserInput, "The parameter bbox is required" unless params[:bbox]
+
         bbox = BoundingBox.from_bbox_params(params)
         bbox.check_boundaries
         bbox.check_size
index 07b6208af40deef2018a8beb14d33a558b5de2ef..629617f0b127c01685ed460f7a7ed0d688da89e6 100644 (file)
@@ -2,7 +2,6 @@ module Api
   class TracesController < ApiController
     before_action :check_database_readable, :except => [:show, :data]
     before_action :check_database_writable, :only => [:create, :update, :destroy]
-    before_action :authorize_web
     before_action :set_locale
     before_action :authorize
 
diff --git a/app/controllers/api/user_blocks_controller.rb b/app/controllers/api/user_blocks_controller.rb
new file mode 100644 (file)
index 0000000..19fd4b4
--- /dev/null
@@ -0,0 +1,18 @@
+module Api
+  class UserBlocksController < ApiController
+    before_action :check_api_readable
+
+    authorize_resource
+
+    around_action :api_call_handle_error, :api_call_timeout
+    before_action :set_request_formats
+
+    def show
+      raise OSM::APIBadUserInput, "No id was given" unless params[:id]
+
+      @user_block = UserBlock.find(params[:id])
+    rescue ActiveRecord::RecordNotFound
+      raise OSM::APINotFoundError
+    end
+  end
+end
index 9da9d32266fd9860f0577626ffdd4c73d1ecf66f..ab48a518979427aba4e676b08238c025c838fda7 100644 (file)
@@ -19,7 +19,7 @@ module Api
 
       raise OSM::APIBadUserInput, "No users were given to search for" if ids.empty?
 
-      @users = User.visible.find(ids)
+      @users = User.visible.where(:id => ids).in_order_of(:id, ids)
 
       # Render the result
       respond_to do |format|
index 7de335091e2a92d754d84723bc8722ea7cb29a77..d5c9c5f87cebf2036316655c72013b49b55b4832 100644 (file)
@@ -2,6 +2,7 @@ module Api
   class VersionsController < ApiController
     authorize_resource :class => false
 
+    before_action :set_request_formats
     around_action :api_call_handle_error, :api_call_timeout
 
     # Show the list of available API versions. This will replace the global
index a2d016c8c7fcd10c43b9f473819b30af9a8212e1..89388c0bbf044db798f9c2f2258a61ca1cd25258 100644 (file)
@@ -178,6 +178,16 @@ class ApiController < ApplicationController
   # wrap an api call in a timeout
   def api_call_timeout(&block)
     Timeout.timeout(Settings.api_timeout, Timeout::Error, &block)
+  rescue ActionView::Template::Error => e
+    e = e.cause
+
+    if e.is_a?(Timeout::Error) ||
+       (e.is_a?(ActiveRecord::StatementInvalid) && e.message.include?("execution expired"))
+      ActiveRecord::Base.connection.raw_connection.cancel
+      raise OSM::APITimeoutError
+    else
+      raise
+    end
   rescue Timeout::Error
     ActiveRecord::Base.connection.raw_connection.cancel
     raise OSM::APITimeoutError
index 5dcfee07ca03cc9aaeb84549513305af4c658133..a30816a8ede740eaf3adf8f8be7165db0d23a193 100644 (file)
@@ -215,24 +215,6 @@ class ApplicationController < ActionController::Base
     render :action => "timeout"
   end
 
-  ##
-  # ensure that there is a "user" instance variable
-  def lookup_user
-    render_unknown_user params[:display_name] unless @user = User.active.find_by(:display_name => params[:display_name])
-  end
-
-  ##
-  # render a "no such user" page
-  def render_unknown_user(name)
-    @title = t "users.no_such_user.title"
-    @not_found_user = name
-
-    respond_to do |format|
-      format.html { render :template => "users/no_such_user", :status => :not_found }
-      format.all { head :not_found }
-    end
-  end
-
   ##
   # Unfortunately if a PUT or POST request that has a body fails to
   # read it then Apache will sometimes fail to return the response it
index 7796dfeb27fe04d9e2875f451a73a13e25711c78..fef4d85eb51273596dfe81ccfc0cad88ba81c19f 100644 (file)
@@ -1,6 +1,8 @@
 # The ChangesetController is the RESTful interface to Changeset objects
 
 class ChangesetsController < ApplicationController
+  include UserMethods
+
   layout "site"
   require "xml/libxml"
 
@@ -46,16 +48,16 @@ class ChangesetsController < ApplicationController
 
       if @params[:display_name]
         changesets = if user.data_public? || user == current_user
-                       changesets.where(:user_id => user.id)
+                       changesets.where(:user => user)
                      else
                        changesets.where("false")
                      end
       elsif @params[:bbox]
         changesets = conditions_bbox(changesets, BoundingBox.from_bbox_params(params))
       elsif @params[:friends] && current_user
-        changesets = changesets.where(:user_id => current_user.friends.identifiable)
+        changesets = changesets.where(:user => current_user.friends.identifiable)
       elsif @params[:nearby] && current_user
-        changesets = changesets.where(:user_id => current_user.nearby)
+        changesets = changesets.where(:user => current_user.nearby)
       end
 
       changesets = changesets.where("changesets.id <= ?", @params[:max_id]) if @params[:max_id]
diff --git a/app/controllers/concerns/email_methods.rb b/app/controllers/concerns/email_methods.rb
new file mode 100644 (file)
index 0000000..f25b791
--- /dev/null
@@ -0,0 +1,23 @@
+module EmailMethods
+  extend ActiveSupport::Concern
+
+  private
+
+  def canonical_email(email)
+    local_part, domain = email.split("@")
+
+    local_part.sub!(/\+.*$/, "")
+
+    local_part.delete!(".") if %w[gmail.com googlemail.com].include?(domain)
+
+    "#{local_part}@#{domain}"
+  end
+
+  ##
+  # get list of MX servers for a domains
+  def domain_mx_servers(domain)
+    Resolv::DNS.open do |dns|
+      dns.getresources(domain, Resolv::DNS::Resource::IN::MX).collect { |mx| mx.exchange.to_s }
+    end
+  end
+end
index 81e9f0064c4e7b331b8fc8cc4fdddcb5dbf9073d..eb7d389881eba94f5f8fad65dd197f94eaa9c92d 100644 (file)
@@ -3,6 +3,26 @@ module UserMethods
 
   private
 
+  ##
+  # ensure that there is a "user" instance variable
+  def lookup_user
+    @user = User.active.find_by!(:display_name => params[:display_name])
+  rescue ActiveRecord::RecordNotFound
+    render_unknown_user params[:display_name]
+  end
+
+  ##
+  # render a "no such user" page
+  def render_unknown_user(name)
+    @title = t "users.no_such_user.title"
+    @not_found_user = name
+
+    respond_to do |format|
+      format.html { render :template => "users/no_such_user", :status => :not_found, :layout => "site" }
+      format.all { head :not_found }
+    end
+  end
+
   ##
   # update a user's details
   def update_user(user, params)
index a482bc96de0da11b52335a7790879fc0155f9ad9..65f5605710a5726e9de02355368c5a976ea19e37 100644 (file)
@@ -1,5 +1,6 @@
 class ConfirmationsController < ApplicationController
   include SessionMethods
+  include UserMethods
 
   layout "site"
 
index 6981ed797f92112956e2097bf7a11a1e54d9465b..a1cd6ab0ed2d9023a4f3a0e4f0da64ea4cd95d8f 100644 (file)
@@ -1,4 +1,6 @@
 class DiaryEntriesController < ApplicationController
+  include UserMethods
+
   layout "site", :except => :rss
 
   before_action :authorize_web
@@ -25,7 +27,7 @@ class DiaryEntriesController < ApplicationController
     elsif params[:friends]
       if current_user
         @title = t ".title_friends"
-        entries = DiaryEntry.where(:user_id => current_user.friends)
+        entries = DiaryEntry.where(:user => current_user.friends)
       else
         require_user
         return
@@ -33,7 +35,7 @@ class DiaryEntriesController < ApplicationController
     elsif params[:nearby]
       if current_user
         @title = t ".title_nearby"
-        entries = DiaryEntry.where(:user_id => current_user.nearby)
+        entries = DiaryEntry.where(:user => current_user.nearby)
       else
         require_user
         return
@@ -53,20 +55,7 @@ class DiaryEntriesController < ApplicationController
 
     @params = params.permit(:display_name, :friends, :nearby, :language)
 
-    @entries = if params[:before]
-                 entries.where("diary_entries.id < ?", params[:before]).order(:id => :desc)
-               elsif params[:after]
-                 entries.where("diary_entries.id > ?", params[:after]).order(:id => :asc)
-               else
-                 entries.order(:id => :desc)
-               end
-
-    @entries = @entries.limit(20)
-    @entries = @entries.includes(:user, :language)
-    @entries = @entries.sort.reverse
-
-    @newer_entries = @entries.count.positive? && entries.exists?(["diary_entries.id > ?", @entries.first.id])
-    @older_entries = @entries.count.positive? && entries.exists?(["diary_entries.id < ?", @entries.last.id])
+    @entries, @newer_entries_id, @older_entries_id = get_page_items(entries, [:user, :language])
   end
 
   def show
@@ -246,15 +235,12 @@ class DiaryEntriesController < ApplicationController
   def comments
     @title = t ".title", :user => @user.display_name
 
-    conditions = { :user_id => @user }
+    comments = DiaryComment.where(:users => @user)
+    comments = comments.visible unless can? :unhidecomment, DiaryEntry
 
-    conditions[:visible] = true unless can? :unhidecomment, DiaryEntry
+    @params = params.permit(:display_name, :before, :after)
 
-    @comment_pages, @comments = paginate(:diary_comments,
-                                         :conditions => conditions,
-                                         :order => "created_at DESC",
-                                         :per_page => 20)
-    @page = (params[:page] || 1).to_i
+    @comments, @newer_comments_id, @older_comments_id = get_page_items(comments, [:user])
   end
 
   private
@@ -290,4 +276,24 @@ class DiaryEntriesController < ApplicationController
       @zoom = 12
     end
   end
+
+  def get_page_items(items, includes)
+    id_column = "#{items.table_name}.id"
+    page_items = if params[:before]
+                   items.where("#{id_column} < ?", params[:before]).order(:id => :desc)
+                 elsif params[:after]
+                   items.where("#{id_column} > ?", params[:after]).order(:id => :asc)
+                 else
+                   items.order(:id => :desc)
+                 end
+
+    page_items = page_items.limit(20)
+    page_items = page_items.includes(includes)
+    page_items = page_items.sort.reverse
+
+    newer_items_id = page_items.first.id if page_items.count.positive? && items.exists?(["#{id_column} > ?", page_items.first.id])
+    older_items_id = page_items.last.id if page_items.count.positive? && items.exists?(["#{id_column} < ?", page_items.last.id])
+
+    [page_items, newer_items_id, older_items_id]
+  end
 end
index 4d1161147304943d50c4437797566e99aae6a917..7b14f2e820799d3c9f47a2092cbdcbe646d552cc 100644 (file)
@@ -1,4 +1,6 @@
 class FriendshipsController < ApplicationController
+  include UserMethods
+
   layout "site"
 
   before_action :authorize_web
@@ -8,53 +10,52 @@ class FriendshipsController < ApplicationController
   authorize_resource
 
   before_action :check_database_writable, :only => [:make_friend, :remove_friend]
+  before_action :lookup_friend, :only => [:make_friend, :remove_friend]
 
   def make_friend
-    @new_friend = User.find_by(:display_name => params[:display_name])
-
-    if @new_friend
-      if request.post?
-        friendship = Friendship.new
-        friendship.befriender = current_user
-        friendship.befriendee = @new_friend
-        if current_user.friends_with?(@new_friend)
-          flash[:warning] = t ".already_a_friend", :name => @new_friend.display_name
-        elsif current_user.friendships.where("created_at >= ?", Time.now.utc - 1.hour).count >= current_user.max_friends_per_hour
-          flash.now[:error] = t ".limit_exceeded"
-        elsif friendship.save
-          flash[:notice] = t ".success", :name => @new_friend.display_name
-          UserMailer.friendship_notification(friendship).deliver_later
-        else
-          friendship.add_error(t(".failed", :name => @new_friend.display_name))
-        end
-
-        referer = safe_referer(params[:referer]) if params[:referer]
-
-        redirect_to referer || user_path
+    if request.post?
+      friendship = Friendship.new
+      friendship.befriender = current_user
+      friendship.befriendee = @friend
+      if current_user.friends_with?(@friend)
+        flash[:warning] = t ".already_a_friend", :name => @friend.display_name
+      elsif current_user.friendships.where("created_at >= ?", Time.now.utc - 1.hour).count >= current_user.max_friends_per_hour
+        flash.now[:error] = t ".limit_exceeded"
+      elsif friendship.save
+        flash[:notice] = t ".success", :name => @friend.display_name
+        UserMailer.friendship_notification(friendship).deliver_later
+      else
+        friendship.add_error(t(".failed", :name => @friend.display_name))
       end
-    else
-      render_unknown_user params[:display_name]
+
+      referer = safe_referer(params[:referer]) if params[:referer]
+
+      redirect_to referer || user_path
     end
   end
 
   def remove_friend
-    @friend = User.find_by(:display_name => params[:display_name])
-
-    if @friend
-      if request.post?
-        if current_user.friends_with?(@friend)
-          Friendship.where(:befriender => current_user, :befriendee => @friend).delete_all
-          flash[:notice] = t ".success", :name => @friend.display_name
-        else
-          flash[:error] = t ".not_a_friend", :name => @friend.display_name
-        end
+    if request.post?
+      if current_user.friends_with?(@friend)
+        Friendship.where(:befriender => current_user, :befriendee => @friend).delete_all
+        flash[:notice] = t ".success", :name => @friend.display_name
+      else
+        flash[:error] = t ".not_a_friend", :name => @friend.display_name
+      end
 
-        referer = safe_referer(params[:referer]) if params[:referer]
+      referer = safe_referer(params[:referer]) if params[:referer]
 
-        redirect_to referer || user_path
-      end
-    else
-      render_unknown_user params[:display_name]
+      redirect_to referer || user_path
     end
   end
+
+  private
+
+  ##
+  # ensure that there is a "friend" instance variable
+  def lookup_friend
+    @friend = User.active.find_by!(:display_name => params[:display_name])
+  rescue ActiveRecord::RecordNotFound
+    render_unknown_user params[:display_name]
+  end
 end
index c381119f0d44472b6633fe9e050923b604effd2f..c24054f77ff3adf4ab44073cea134c9748403b51 100644 (file)
@@ -14,7 +14,7 @@ class IssuesController < ApplicationController
     @title = t ".title"
 
     @issue_types = []
-    @issue_types.push("Note") if current_user.moderator?
+    @issue_types.push("Note", "User") if current_user.moderator?
     @issue_types.push("DiaryEntry", "DiaryComment", "User") if current_user.administrator?
 
     @users = User.joins(:roles).where(:user_roles => { :role => current_user.roles.map(&:role) }).distinct
@@ -24,7 +24,7 @@ class IssuesController < ApplicationController
     if params[:search_by_user].present?
       @find_user = User.find_by(:display_name => params[:search_by_user])
       if @find_user
-        @issues = @issues.where(:reported_user_id => @find_user.id)
+        @issues = @issues.where(:reported_user => @find_user)
       else
         @issues = @issues.none
         flash.now[:warning] = t(".user_not_found")
index 22d0c88ba5e868e374f6c5f553c21245975e5d7e..adb53b43ba3842d8cd0b3faf5aaa898abde4b213 100644 (file)
@@ -1,4 +1,6 @@
 class MessagesController < ApplicationController
+  include UserMethods
+
   layout "site"
 
   before_action :authorize_web
@@ -55,7 +57,7 @@ class MessagesController < ApplicationController
 
   # Destroy the message.
   def destroy
-    @message = Message.where("to_user_id = ? OR from_user_id = ?", current_user.id, current_user.id).find(params[:id])
+    @message = Message.where(:recipient => current_user).or(Message.where(:sender => current_user.id)).find(params[:id])
     @message.from_user_visible = false if @message.sender == current_user
     @message.to_user_visible = false if @message.recipient == current_user
     if @message.save && !request.xhr?
@@ -107,7 +109,7 @@ class MessagesController < ApplicationController
 
   # Set the message as being read or unread.
   def mark
-    @message = Message.where("to_user_id = ? OR from_user_id = ?", current_user.id, current_user.id).find(params[:message_id])
+    @message = Message.where(:recipient => current_user).or(Message.where(:sender => current_user)).find(params[:message_id])
     if params[:mark] == "unread"
       message_read = false
       notice = t ".as_unread"
index 440a620e8116806be582b4b996a88088cb53a1a7..97efc3eda8128f79bbd0a870b347cebc0c384501 100644 (file)
@@ -1,4 +1,6 @@
 class NotesController < ApplicationController
+  include UserMethods
+
   layout :map_layout
 
   before_action :check_api_readable
@@ -7,30 +9,22 @@ class NotesController < ApplicationController
 
   authorize_resource
 
+  before_action :lookup_user, :only => [:index]
   before_action :set_locale
   around_action :web_timeout
 
   ##
   # Display a list of notes by a specified user
   def index
-    if params[:display_name]
-      if @user = User.active.find_by(:display_name => params[:display_name])
-        @params = params.permit(:display_name)
-        @title = t ".title", :user => @user.display_name
-        @page = (params[:page] || 1).to_i
-        @page_size = 10
-        @notes = @user.notes
-        @notes = @notes.visible unless current_user&.moderator?
-        @notes = @notes.order("updated_at DESC, id").distinct.offset((@page - 1) * @page_size).limit(@page_size).preload(:comments => :author)
-
-        render :layout => "site"
-      else
-        @title = t "users.no_such_user.title"
-        @not_found_user = params[:display_name]
-
-        render :template => "users/no_such_user", :status => :not_found, :layout => "site"
-      end
-    end
+    @params = params.permit(:display_name)
+    @title = t ".title", :user => @user.display_name
+    @page = (params[:page] || 1).to_i
+    @page_size = 10
+    @notes = @user.notes
+    @notes = @notes.visible unless current_user&.moderator?
+    @notes = @notes.order("updated_at DESC, id").distinct.offset((@page - 1) * @page_size).limit(@page_size).preload(:comments => :author)
+
+    render :layout => "site"
   end
 
   def show
index 0b7dbc94a60228f0e63656333a689b5abef24ec4..90ab34a48c406d27ecc31b3418c6ad48d94bb4c1 100644 (file)
@@ -1,4 +1,6 @@
 class TracesController < ApplicationController
+  include UserMethods
+
   layout "site", :except => :georss
 
   before_action :authorize_web
index 63ebdad713b85f5b54785c5d8169a611f89d57dc..546c8233c65a4d5f4eeb42d97cc76dc0558c1d28 100644 (file)
@@ -1,4 +1,6 @@
 class UserBlocksController < ApplicationController
+  include UserMethods
+
   layout "site"
 
   before_action :authorize_web
index cf5b4de9e35e2c8771673e4bd09ac7d011aeeb73..469b2c40b626845191e7a5265e873c340da7c4f4 100644 (file)
@@ -1,4 +1,6 @@
 class UserRolesController < ApplicationController
+  include UserMethods
+
   layout "site"
 
   before_action :authorize_web
@@ -20,7 +22,7 @@ class UserRolesController < ApplicationController
     if current_user == @user && @role == "administrator"
       flash[:error] = t("user_role.filter.not_revoke_admin_current_user")
     else
-      UserRole.where(:user_id => @user.id, :role => @role).delete_all
+      UserRole.where(:user => @user, :role => @role).delete_all
     end
     redirect_to user_path(@user)
   end
index fc9a6afc09a17926d49db044df1333008277b3c4..5ba1b702bf9f2bc84d55c44d220fbcd59d62e46e 100644 (file)
@@ -1,4 +1,5 @@
 class UsersController < ApplicationController
+  include EmailMethods
   include SessionMethods
   include UserMethods
 
@@ -186,6 +187,9 @@ class UsersController < ApplicationController
         end
 
         if current_user.save
+          SIGNUP_IP_LIMITER&.update(request.remote_ip)
+          SIGNUP_EMAIL_LIMITER&.update(canonical_email(current_user.email))
+
           flash[:matomo_goal] = Settings.matomo["goals"]["signup"] if defined?(Settings.matomo)
 
           referer = welcome_path
@@ -250,7 +254,7 @@ class UsersController < ApplicationController
                      when "openid"
                        uid.match(%r{https://www.google.com/accounts/o8/id?(.*)}) ||
                        uid.match(%r{https://me.yahoo.com/(.*)})
-                     when "google", "facebook"
+                     when "google", "facebook", "microsoft"
                        true
                      else
                        false
@@ -344,7 +348,13 @@ class UsersController < ApplicationController
                    domain_mx_servers(domain)
                  end
 
-    if blocked = Acl.no_account_creation(request.remote_ip, :domain => domain, :mx => mx_servers)
+    blocked = Acl.no_account_creation(request.remote_ip, :domain => domain, :mx => mx_servers)
+
+    blocked ||= SIGNUP_IP_LIMITER && !SIGNUP_IP_LIMITER.allow?(request.remote_ip)
+
+    blocked ||= email && SIGNUP_EMAIL_LIMITER && !SIGNUP_EMAIL_LIMITER.allow?(canonical_email(email))
+
+    if blocked
       logger.info "Blocked signup from #{request.remote_ip} for #{email}"
 
       render :action => "blocked"
@@ -352,12 +362,4 @@ class UsersController < ApplicationController
 
     !blocked
   end
-
-  ##
-  # get list of MX servers for a domains
-  def domain_mx_servers(domain)
-    Resolv::DNS.open do |dns|
-      dns.getresources(domain, Resolv::DNS::Resource::IN::MX).collect { |mx| mx.exchange.to_s }
-    end
-  end
 end
index 17c6eace3d4eb2cf4c4f24e5d208ab07925acdd7..9048d484001d2d5c12ef23591798bac65532302e 100644 (file)
@@ -1,13 +1,19 @@
 module BannerHelper
   def active_banners
     BANNERS.reject do |_k, v|
-      enddate = v[:enddate]
       begin
-        parsed = enddate && Date.parse(enddate)
+        startdate = v[:startdate] && Date.parse(v[:startdate])
       rescue StandardError
-        parsed = nil
+        startdate = nil
       end
-      !parsed.is_a?(Date) || (parsed.is_a?(Date) && parsed.past?)
+
+      begin
+        enddate = v[:enddate] && Date.parse(v[:enddate])
+      rescue StandardError
+        enddate = nil
+      end
+
+      startdate&.future? || enddate&.past?
     end
   end
 
index dcec4990b0df077c13dd8cc6331fc7df85f9b2eb..7bc64cb83914d71fe4aa47fdbda94515c4c5e414 100644 (file)
@@ -28,9 +28,9 @@ module IssuesHelper
   def open_issues_count
     count = Issue.visible_to(current_user).open.limit(100).size
     if count > 99
-      tag.span("99+", :class => "count-number")
+      tag.span("99+", :class => "badge count-number")
     elsif count.positive?
-      tag.span(count, :class => "count-number")
+      tag.span(count, :class => "badge count-number")
     end
   end
 end
index f23a4e356e883bd51f0fb0d01cb52897a75fd0ab..ce09438245844be0ff4ba241818973cdf26b5bab 100644 (file)
@@ -170,7 +170,7 @@ class Changeset < ApplicationRecord
       save!
 
       tags = self.tags
-      ChangesetTag.where(:changeset_id => id).delete_all
+      ChangesetTag.where(:changeset => id).delete_all
 
       tags.each do |k, v|
         tag = ChangesetTag.new
index 35fee0bf4f800d7fd22f906d1b9cc3040ea5727f..2411fb9b7a3c56c2f2adc57787a6194f83058c51 100644 (file)
@@ -209,7 +209,7 @@ class Trace < ApplicationRecord
       first = true
 
       # If there are any existing points for this trace then delete them
-      Tracepoint.where(:gpx_id => id).delete_all
+      Tracepoint.where(:trace => id).delete_all
 
       gpx.points.each_slice(1_000) do |points|
         # Gather the trace points together for a bulk import
@@ -242,10 +242,10 @@ class Trace < ApplicationRecord
       end
 
       if gpx.actual_points.positive?
-        max_lat = Tracepoint.where(:gpx_id => id).maximum(:latitude)
-        min_lat = Tracepoint.where(:gpx_id => id).minimum(:latitude)
-        max_lon = Tracepoint.where(:gpx_id => id).maximum(:longitude)
-        min_lon = Tracepoint.where(:gpx_id => id).minimum(:longitude)
+        max_lat = Tracepoint.where(:trace => id).maximum(:latitude)
+        min_lat = Tracepoint.where(:trace => id).minimum(:latitude)
+        max_lon = Tracepoint.where(:trace => id).maximum(:longitude)
+        min_lon = Tracepoint.where(:trace => id).minimum(:longitude)
 
         max_lat = max_lat.to_f / 10000000
         min_lat = min_lat.to_f / 10000000
index 5c21736b0f6a9cbe031056cf4ef3ebaeae297cc1..3eb03a2fe4ae93bfb2010b359265f169b8315f79 100644 (file)
@@ -395,6 +395,19 @@ class User < ApplicationRecord
     max_friends.clamp(0, Settings.max_friends_per_hour)
   end
 
+  def max_changeset_comments_per_hour
+    if moderator?
+      Settings.moderator_changeset_comments_per_hour
+    else
+      previous_comments = changeset_comments.limit(200).count
+      active_reports = issues.with_status(:open).sum(:reports_count)
+      max_comments = previous_comments / 200.0 * Settings.max_changeset_comments_per_hour
+      max_comments = max_comments.floor.clamp(Settings.initial_changeset_comments_per_hour, Settings.max_changeset_comments_per_hour)
+      max_comments /= 2**active_reports
+      max_comments.floor.clamp(Settings.min_changeset_comments_per_hour, Settings.max_changeset_comments_per_hour)
+    end
+  end
+
   private
 
   def encrypt_password
index 1258601bb9abb14e8dded8ca844e037b9fb7d0a1..bd90b2a6a56ff1b137612ae58b9f072d5703496c 100644 (file)
@@ -10,6 +10,8 @@ xml.osm(OSM::API.new.xml_root_attributes) do |osm|
     api.changesets(:maximum_elements => Changeset::MAX_ELEMENTS,
                    :default_query_limit => Settings.default_changeset_query_limit,
                    :maximum_query_limit => Settings.max_changeset_query_limit)
+    api.notes(:default_query_limit => Settings.default_note_query_limit,
+              :maximum_query_limit => Settings.max_note_query_limit)
     api.timeout(:seconds => Settings.api_timeout)
     api.status(:database => @database_status,
                :api => @api_status,
index ceffa8b0e2e48387df2e6639d0ef1be4aa874692..b9e3a20c7a13dd0206d447c2c8fa4c43ea65e234 100644 (file)
@@ -25,6 +25,10 @@ json.api do
     json.default_query_limit Settings.default_changeset_query_limit
     json.maximum_query_limit Settings.max_changeset_query_limit
   end
+  json.notes do
+    json.default_query_limit Settings.default_note_query_limit
+    json.maximum_query_limit Settings.max_note_query_limit
+  end
   json.timeout do
     json.seconds Settings.api_timeout
   end
index 25b366011ce77db5ec66f36bc9ffc9bc0e8620b8..0d76ed90c61eaccaf257b6d0bf0ac306dc314b9d 100644 (file)
@@ -23,6 +23,7 @@ json.tags changeset.tags unless changeset.tags.empty?
 
 if @include_discussion
   json.comments(changeset.comments) do |comment|
+    json.id comment.id
     json.date comment.created_at.xmlschema
     if comment.author.data_public?
       json.uid comment.author.id
index e0188a10e0914b5e9dd66fbd756c8a426df38e2f..bc4365eb6c7f049f2060d737995d2bf782ecb94a 100644 (file)
@@ -28,6 +28,7 @@ xml.changeset(attrs) do |changeset_xml_node|
     changeset_xml_node.discussion do |discussion_xml_node|
       changeset.comments.includes(:author).each do |comment|
         cattrs = {
+          "id" => comment.id,
           "date" => comment.created_at.xmlschema
         }
         if comment.author.data_public?
index cf380be31ff8a20729a0ae35ec346052d2cce4ef..4103a20924e9ea6567162af5a8ff28077e1b00e3 100644 (file)
@@ -6,7 +6,11 @@ xml.rss("version" => "2.0",
         "xmlns:georss" => "http://www.georss.org/georss") do
   xml.channel do
     xml.title t("api.notes.rss.title")
-    xml.description t("api.notes.rss.description_area", :min_lat => @min_lat, :min_lon => @min_lon, :max_lat => @max_lat, :max_lon => @max_lon)
+    if @min_lat.nil? && @min_lon.nil? && @max_lat.nil? && @max_lon.nil?
+      xml.description t("api.notes.rss.description_all")
+    else
+      xml.description t("api.notes.rss.description_area", :min_lat => @min_lat, :min_lon => @min_lon, :max_lat => @max_lat, :max_lon => @max_lon)
+    end
     xml.link url_for(:controller => "/site", :action => "index", :only_path => false)
 
     @comments.each do |comment|
index 7efd640f5b132c483f6c76b855b8faf45616fc44..b56c902cd8ff8970a299d261cd96e86edded155f 100644 (file)
@@ -3,6 +3,7 @@
 attrs = {
   "id" => trace.id,
   "name" => trace.name,
+  "uid" => trace.user_id,
   "user" => trace.user.display_name,
   "visibility" => trace.visibility,
   "pending" => trace.inserted ? "false" : "true",
diff --git a/app/views/api/user_blocks/_user_block.json.jbuilder b/app/views/api/user_blocks/_user_block.json.jbuilder
new file mode 100644 (file)
index 0000000..3288dd6
--- /dev/null
@@ -0,0 +1,13 @@
+json.user_block do
+  json.id user_block.id
+  json.created_at user_block.created_at.xmlschema
+  json.updated_at user_block.updated_at.xmlschema
+  json.ends_at user_block.ends_at.xmlschema
+  json.needs_view user_block.needs_view
+
+  json.user :uid => user_block.user_id, :user => user_block.user.display_name
+  json.creator :uid => user_block.creator_id, :user => user_block.creator.display_name
+  json.revoker :uid => user_block.revoker_id, :user => user_block.revoker.display_name if user_block.revoker
+
+  json.reason user_block.reason
+end
diff --git a/app/views/api/user_blocks/_user_block.xml.builder b/app/views/api/user_blocks/_user_block.xml.builder
new file mode 100644 (file)
index 0000000..a41dc56
--- /dev/null
@@ -0,0 +1,14 @@
+attrs = {
+  "id" => user_block.id,
+  "created_at" => user_block.created_at.xmlschema,
+  "updated_at" => user_block.updated_at.xmlschema,
+  "ends_at" => user_block.ends_at.xmlschema,
+  "needs_view" => user_block.needs_view
+}
+
+xml.user_block(attrs) do
+  xml.user :uid => user_block.user_id, :user => user_block.user.display_name
+  xml.creator :uid => user_block.creator_id, :user => user_block.creator.display_name
+  xml.revoker :uid => user_block.revoker_id, :user => user_block.revoker.display_name if user_block.revoker
+  xml.reason user_block.reason
+end
diff --git a/app/views/api/user_blocks/show.json.jbuilder b/app/views/api/user_blocks/show.json.jbuilder
new file mode 100644 (file)
index 0000000..6cfc0de
--- /dev/null
@@ -0,0 +1,3 @@
+json.partial! "api/root_attributes"
+
+json.partial! @user_block
diff --git a/app/views/api/user_blocks/show.xml.builder b/app/views/api/user_blocks/show.xml.builder
new file mode 100644 (file)
index 0000000..eff666b
--- /dev/null
@@ -0,0 +1,5 @@
+xml.instruct!
+
+xml.osm(OSM::API.new.xml_root_attributes) do |osm|
+  osm << (render(@user_block) || "")
+end
index 60fcfa898efbe8aa2068d9b0dbef2f9d52cae4c5..1b284ef5e049eff412284799700433e1fb671ebf 100644 (file)
@@ -1,4 +1,4 @@
 xml.instruct! :xml, :version => "1.0"
 xml.osm(OSM::API.new.xml_root_attributes) do |osm|
-  osm << render(@users)
+  osm << (render(@users) || "")
 end
diff --git a/app/views/api/versions/show.json.jbuilder b/app/views/api/versions/show.json.jbuilder
new file mode 100644 (file)
index 0000000..7336902
--- /dev/null
@@ -0,0 +1,5 @@
+json.partial! "api/root_attributes"
+
+json.api do
+  json.versions @versions
+end
index 3c5ba7de0dd33868d28e5e3ba616f4d595dd5a68..9acbd05ae03992fc923f82f03420cf8c7b4ce8d1 100644 (file)
@@ -46,7 +46,9 @@
                     — <span class="action-button" data-comment-id="<%= comment.id %>" data-method="POST" data-url="<%= changeset_comment_hide_url(comment.id) %>"><%= t("javascripts.changesets.show.hide_comment") %></span>
                   <% end %>
                 </small>
-                <%= comment.body.to_html %>
+                <div class="mx-2">
+                  <%= comment.body.to_html %>
+                </div>
               </li>
             <% elsif current_user and current_user.moderator? %>
               <li id="c<%= comment.id %>">
@@ -57,7 +59,9 @@
                         :user => link_to(comment.author.display_name, user_path(comment.author))) %>
                   — <span class="action-button text-muted" data-comment-id="<%= comment.id %>" data-method="POST" data-url="<%= changeset_comment_unhide_url(comment.id) %>"><%= t("javascripts.changesets.show.unhide_comment") %></span>
                  </small>
-                <%= comment.body.to_html %>
+                <div class="mx-2">
+                  <%= comment.body.to_html %>
+                </div>
               </li>
             <% end %>
           <% end %>
@@ -78,6 +82,8 @@
         <div class="mb-3">
           <textarea class="form-control" name="text" cols="40" rows="5"></textarea>
         </div>
+        <div id="comment-error" class="alert-danger p-2 mb-3" hidden>
+        </div>
         <div>
           <input type="submit" name="comment" value="<%= t("javascripts.changesets.show.comment") %>" data-changeset-id="<%= @changeset.id %>" data-method="POST" data-url="<%= changeset_comment_url(@changeset) %>" disabled="1" class="btn btn-sm btn-primary" />
         </div>
diff --git a/app/views/changesets/_user.atom.builder b/app/views/changesets/_user.atom.builder
deleted file mode 100644 (file)
index 7aa65d2..0000000
+++ /dev/null
@@ -1 +0,0 @@
-xml.a(user.display_name, :href => url_for(:controller => "users", :action => "view", :display_name => user.display_name))
index 43f194522e1c3426ac1de750a85c3efddf67e90a..97e6351a0a108561ac495534a8e30c75ab13cb11 100644 (file)
@@ -13,9 +13,9 @@
   </div>
 <% end -%>
 <% elsif params[:bbox] %>
-  <p><%= t(params[:max_id] ? ".no_more_area" : ".empty_area") %></p>
+  <p class="mx-3"><%= t(params[:max_id] ? ".no_more_area" : ".empty_area") %></p>
 <% elsif params[:display_name] %>
-  <p><%= t(params[:max_id] ? ".no_more_user" : ".empty_user") %></p>
+  <p class="mx-3"><%= t(params[:max_id] ? ".no_more_user" : ".empty_user") %></p>
 <% else %>
-  <p><%= t(params[:max_id] ? ".no_more" : ".empty") %></p>
+  <p class="mx-3"><%= t(params[:max_id] ? ".no_more" : ".empty") %></p>
 <% end %>
index bfb1c1823dfa2c8a2cc567dfb975db7a413e2731..0b38e3ea6b5b373008aca9c6bb015f394e98b464 100644 (file)
@@ -8,8 +8,8 @@
   <%= tag.div "", :id => "map", :class => "border border-grey rounded mb-3", :data => { :lat => @lat, :lon => @lon, :zoom => @zoom } %>
 
   <div class="row mb-3">
-    <%= f.text_field :latitude, :wrapper_class => "col-sm-4", :id => "latitude" %>
-    <%= f.text_field :longitude, :wrapper_class => "col-sm-4", :id => "longitude" %>
+    <%= f.text_field :latitude, :wrapper_class => "col-sm-4 d-flex flex-column", :class => "mt-auto", :id => "latitude" %>
+    <%= f.text_field :longitude, :wrapper_class => "col-sm-4 d-flex flex-column", :class => "mt-auto", :id => "longitude" %>
     <div class="col-sm-4 align-self-end pt-2">
       <button type="button" id="usemap" class="btn btn-outline-primary"><%= t ".use_map_link" -%></button>
     </div>
index e3a7ff23e12f8f8f5baf7012874d8745ff4d2724..f82373af0c5558d7678ec0df78e7f90aa7b959f3 100644 (file)
       </tr>
     </thead>
     <% @comments.each do |comment| -%>
-    <tr class="<%= "text-muted" unless comment.visible? %>">
-      <td width="25%"><%= link_to comment.diary_entry.title, diary_entry_path(comment.diary_entry.user, comment.diary_entry) %></td>
-      <td width="25%"><span title="<%= l comment.created_at, :format => :friendly %>"><%= time_ago_in_words(comment.created_at, :scope => :"datetime.distance_in_words_ago") %></span></td>
-      <td width="50%" class="richtext text-break"><%= comment.body.to_html %></td>
+    <tr>
+      <td width="25%" class="<%= "text-muted" unless comment.visible? %>"><%= link_to comment.diary_entry.title, diary_entry_path(comment.diary_entry.user, comment.diary_entry) %></td>
+      <td width="25%" class="<%= "text-muted" unless comment.visible? %>"><span title="<%= l comment.created_at, :format => :friendly %>"><%= time_ago_in_words(comment.created_at, :scope => :"datetime.distance_in_words_ago") %></span></td>
+      <td width="50%" class="richtext text-break<%= " text-muted" unless comment.visible? %>"><%= comment.body.to_html %></td>
     </tr>
     <% end -%>
   </table>
 
-  <div class='secondary-actions clearfix'>
-    <span><%= link_to t(".older_comments"), :page => @comment_pages.current.next if @comment_pages.current.next %>
-    <%= link_to t(".newer_comments"), :page => @comment_pages.current.previous if @comment_pages.current.previous %></span>
-  </div>
-
+  <%= render "shared/pagination",
+             :newer_key => "diary_entries.comments.newer_comments",
+             :older_key => "diary_entries.comments.older_comments",
+             :newer_id => @newer_comments_id,
+             :older_id => @older_comments_id %>
 <% end -%>
index 4a8beab37eb4be8a9c383e1435da0c304b9ab96f..e464b99b4829d40758fcd7912d1b805c8393de64 100644 (file)
 
   <%= render @entries %>
 
-  <nav>
-    <ul class="pagination">
-      <% if @older_entries -%>
-        <li class="page-item">
-          <%= link_to t(".older_entries"), @params.merge(:before => @entries.last.id), :class => "page-link" %>
-        </li>
-      <% else -%>
-        <li class="page-item disabled">
-          <span class="page-link"><%= t(".older_entries") %></span>
-        </li>
-      <% end -%>
-
-      <% if @newer_entries -%>
-        <li class="page-item">
-          <%= link_to t(".newer_entries"), @params.merge(:after => @entries.first.id), :class => "page-link" %>
-        </li>
-      <% else -%>
-        <li class="page-item disabled">
-          <span class="page-link"><%= t(".newer_entries") %></span>
-        </li>
-      <% end -%>
-    </ul>
-  </nav>
+  <%= render "shared/pagination",
+             :newer_key => "diary_entries.index.newer_entries",
+             :older_key => "diary_entries.index.older_entries",
+             :newer_id => @newer_entries_id,
+             :older_id => @older_entries_id %>
 <% end %>
 
 <% unless params[:friends] or params[:nearby] -%>
index 3dcdd6d64c8bb096d698f4572c108e87f4f43e57..f5c2b9c0c1acc4f01c0d114fcf62bb4cee157597 100644 (file)
@@ -1,5 +1,5 @@
 <% content_for :heading do %>
-  <h1><%= t ".heading", :user => @new_friend.display_name %></h1>
+  <h1><%= t ".heading", :user => @friend.display_name %></h1>
 <% end %>
 
 <%= bootstrap_form_tag do |f| %>
index a66715a759a285731dfe8b23763f8f2d6501eae2..fd2ae0a4a512b93bd95d32d7d46116a595828e26 100644 (file)
@@ -97,7 +97,7 @@
           <%= link_to t("users.show.my_dashboard"), dashboard_path, :class => "dropdown-item" %>
           <%= link_to inbox_messages_path, :class => "dropdown-item" do %>
             <%= t("users.show.my messages") %>
-            <span class='count-number'><%= number_with_delimiter(current_user.new_messages.size) %></span>
+            <span class='badge count-number'><%= number_with_delimiter(current_user.new_messages.size) %></span>
           <% end %>
           <%= link_to t("users.show.my profile"), user_path(current_user), :class => "dropdown-item" %>
           <%= link_to t("users.show.my settings"), edit_account_path, :class => "dropdown-item" %>
index 79a1db2da4fa56f150b45e343e548bd3f501464e..2f5a63753b0bb7e249e9786576915059aaf3813b 100644 (file)
@@ -1,3 +1,3 @@
 <% if current_user.new_messages.size > 0 %>
-<span id="inboxanchor" class="count-number"><%= current_user.new_messages.size %></span>
+<span id="inboxanchor" class="badge count-number m-1"><%= current_user.new_messages.size %></span>
 <% end %>
index 2378d8c2ec973fcab1bc8ed6ea48c62a56b5e9ea..3bb97b484289396ffeec14167cff936401c52ad0 100644 (file)
@@ -34,7 +34,9 @@
         <% @note_comments.drop(1).each do |comment| %>
           <li id="c<%= comment.id %>">
             <small class='text-muted'><%= note_event(comment.event, comment.created_at, comment.author) %></small>
-            <%= comment.body.to_html %>
+            <div class="mx-2">
+              <%= comment.body.to_html %>
+            </div>
           </li>
         <% end %>
       </ul>
index bf53832c8802b6709bd15348ce0ec30d3b0685f7..b207e72e2e6f979df549e0987aa0b73957e63731 100644 (file)
@@ -44,8 +44,8 @@
     <legend><%= t ".home location" -%></legend>
     <p id="home_message" class="text-muted m-0<% if current_user.home_location? %> invisible<% end %>"><%= t ".no home location" %></p>
     <div class="row">
-      <%= f.text_field :home_lat, :wrapper_class => "col-sm-4", :id => "home_lat" %>
-      <%= f.text_field :home_lon, :wrapper_class => "col-sm-4", :id => "home_lon" %>
+      <%= f.text_field :home_lat, :wrapper_class => "col-sm-4 d-flex flex-column", :class => "mt-auto", :id => "home_lat" %>
+      <%= f.text_field :home_lon, :wrapper_class => "col-sm-4 d-flex flex-column", :class => "mt-auto", :id => "home_lon" %>
       <div class="col-sm-4 pt-2 align-self-end">
         <button type="button" id="home_show" class="btn btn-outline-primary"<% unless current_user.home_location? %> hidden<% end %> disabled><%= t ".show" %></button>
         <button type="button" id="home_delete" class="btn btn-outline-primary"<% unless current_user.home_location? %> hidden<% end %>><%= t ".delete" %></button>
index bb43aefd55b1ff8b92ee708c4db2bf5d747fdfd9..03755730bdd411fd7c3f027041d0855917b46776 100644 (file)
     <div class="mb-3">
       <label class="form-label"><%= t ".with external" %></label>
 
-      <ul class='list-unstyled' id="login_auth_buttons">
-        <li><%= link_to image_tag("openid.png", :alt => t(".auth_providers.openid.title")), "#", :id => "openid_open_url", :title => t(".auth_providers.openid.title") %></li>
-        <% if Settings.key?(:google_auth_id) -%>
-        <li><%= auth_button "google", "google" %></li>
-        <% end -%>
-        <% if Settings.key?(:facebook_auth_id) -%>
-        <li><%= auth_button "facebook", "facebook" %></li>
-        <% end -%>
-        <% if Settings.key?(:windowslive_auth_id) -%>
-        <li><%= auth_button "windowslive", "windowslive" %></li>
-        <% end -%>
-        <% if Settings.key?(:github_auth_id) -%>
-        <li><%= auth_button "github", "github" %></li>
-        <% end -%>
-        <% if Settings.key?(:wikipedia_auth_id) -%>
-        <li><%= auth_button "wikipedia", "wikipedia" %></li>
+      <ul class='list-inline' id="login_auth_buttons">
+        <li class="list-inline-item me-3"><%= link_to image_tag("openid.png", :alt => t(".auth_providers.openid.title")), "#", :id => "openid_open_url", :title => t(".auth_providers.openid.title") %></li>
+        <% %w[google facebook microsoft github wikipedia].each do |provider| %>
+          <% if Settings.key?("#{provider}_auth_id".to_sym) -%>
+            <li class="list-inline-item me-3"><%= auth_button provider, provider %></li>
+          <% end -%>
         <% end -%>
       </ul>
 
diff --git a/app/views/shared/_pagination.html.erb b/app/views/shared/_pagination.html.erb
new file mode 100644 (file)
index 0000000..fbb9dcf
--- /dev/null
@@ -0,0 +1,23 @@
+<nav>
+  <ul class="pagination">
+    <% if newer_id -%>
+      <li class="page-item">
+        <%= link_to t(newer_key), @params.merge(:before => nil, :after => newer_id), :class => "page-link" %>
+      </li>
+    <% else -%>
+      <li class="page-item disabled">
+        <span class="page-link"><%= t(newer_key) %></span>
+      </li>
+    <% end -%>
+
+    <% if older_id -%>
+      <li class="page-item">
+        <%= link_to t(older_key), @params.merge(:before => older_id, :after => nil), :class => "page-link" %>
+      </li>
+    <% else -%>
+      <li class="page-item disabled">
+        <span class="page-link"><%= t(older_key) %></span>
+      </li>
+    <% end -%>
+  </ul>
+</nav>
index a314cb151416c836a7bfa6e5d79f1c889f6906ce..bb66c665ad147445d2b337c6795997efb3301d40 100644 (file)
@@ -9,8 +9,8 @@
     <div class='export_boxy border border-grey rounded'>
       <%= text_field_tag("maxlat", nil, :size => 10, :autocomplete => "off", :class => "export_bound form-control mx-auto") %>
       <div class="clearfix">
-        <%= text_field_tag("minlon", nil, :size => 10, :autocomplete => "off", :class => "export_bound form-control") %>
-        <%= text_field_tag("maxlon", nil, :size => 10, :autocomplete => "off", :class => "export_bound form-control") %>
+        <%= text_field_tag("minlon", nil, :size => 10, :autocomplete => "off", :class => "export_bound form-control my-2") %>
+        <%= text_field_tag("maxlon", nil, :size => 10, :autocomplete => "off", :class => "export_bound form-control my-2") %>
       </div>
       <%= text_field_tag("minlat", nil, :size => 10, :autocomplete => "off", :class => "export_bound form-control mx-auto") %>
       </div>
index 370ae3b645b3ee68e069f365a225f8ef302892cc..949121d96f2f64aae1b325d473bbde2f59baa6db 100644 (file)
@@ -1,5 +1,5 @@
 <div id="mapkey">
-  <table class="table table-sm table-borderless mapkey-table">
+  <table class="table table-sm table-borderless mapkey-table mb-0">
     <% YAML.load_file(Rails.root.join("config/key.yml")).each do |name,data| %>
       <% data.each do |entry| %>
         <tr class="mapkey-table-entry" data-layer="<%= name %>" data-zoom-min="<%= entry["min_zoom"] %>" data-zoom-max="<%= entry["max_zoom"] %>">
diff --git a/app/views/traces/_trace_paging_nav.html.erb b/app/views/traces/_trace_paging_nav.html.erb
deleted file mode 100644 (file)
index 29e0d37..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-<nav>
-  <ul class="pagination">
-    <% if newer_traces %>
-      <li class="page-item">
-        <%= link_to t(".newer"), params.merge(:before => nil, :after => traces.first.id), :class => "page-link" %>
-      </li>
-    <% else %>
-      <li class="page-item disabled">
-        <span class="page-link"><%= t(".newer") %></span>
-      </li>
-    <% end %>
-
-    <% if older_traces %>
-      <li class="page-item">
-        <%= link_to t(".older"), params.merge(:before => traces.last.id, :after => nil), :class => "page-link" %>
-      </li>
-    <% else %>
-      <li class="page-item disabled">
-        <span class="page-link"><%= t(".older") %></span>
-      </li>
-    <% end %>
-  </ul>
-</nav>
index 26e52add72998f06b224f6c9b3de939a56290548..ddbaa9e940677cbd9e8b1d1617bf481cda03d5e9 100644 (file)
 <% end %>
 
 <% if @traces.size > 0 %>
-  <%= render "trace_paging_nav", :older_traces => @older_traces, :newer_traces => @newer_traces, :traces => @traces, :params => @params %>
+  <%= render "shared/pagination",
+             :newer_key => "traces.trace_paging_nav.newer",
+             :older_key => "traces.trace_paging_nav.older",
+             :newer_id => @newer_traces && @traces.first.id,
+             :older_id => @older_traces && @traces.last.id %>
 
   <table id="trace_list" class="table table-borderless table-striped">
     <tbody>
     </tbody>
   </table>
 
-  <%= render "trace_paging_nav", :older_traces => @older_traces, :newer_traces => @newer_traces, :traces => @traces, :params => @params %>
+  <%= render "shared/pagination",
+             :newer_key => "traces.trace_paging_nav.newer",
+             :older_key => "traces.trace_paging_nav.older",
+             :newer_id => @newer_traces && @traces.first.id,
+             :older_id => @older_traces && @traces.last.id %>
 <% else %>
   <h2><%= t ".empty_title" %></h2>
   <p><%= t ".empty_upload_html", :upload_link => link_to(t(".upload_new"), new_trace_path),
index 81e33dddb87877070c5192f3b3f4b8bb97ca1ca0..81fda926b7a081b333add6d07f6d3aaa87989668 100644 (file)
           <ul class='clearfix'>
             <li>
               <%= link_to t(".my edits"), :controller => "changesets", :action => "index", :display_name => current_user.display_name %>
-              <span class='count-number'><%= number_with_delimiter(current_user.changesets.size) %></span>
+              <span class='badge count-number'><%= number_with_delimiter(current_user.changesets.size) %></span>
             </li>
             <li>
               <%= link_to t(".my notes"), user_notes_path(@user) %>
             </li>
             <li>
               <%= link_to t(".my traces"), :controller => "traces", :action => "mine" %>
-              <span class='count-number'><%= number_with_delimiter(current_user.traces.size) %></span>
+              <span class='badge count-number'><%= number_with_delimiter(current_user.traces.size) %></span>
             </li>
             <li>
               <%= link_to t(".my diary"), :controller => "diary_entries", :action => "index", :display_name => current_user.display_name %>
-              <span class='count-number'><%= number_with_delimiter(current_user.diary_entries.size) %></span>
+              <span class='badge count-number'><%= number_with_delimiter(current_user.diary_entries.size) %></span>
             </li>
             <li>
               <%= link_to t(".my comments"), diary_comments_path(current_user) %>
             <% if current_user.blocks.exists? %>
               <li>
                 <%= link_to t(".blocks on me"), user_blocks_on_path(current_user) %>
-                <span class='count-number'><%= number_with_delimiter(current_user.blocks.active.size) %></span>
+                <span class='badge count-number'><%= number_with_delimiter(current_user.blocks.active.size) %></span>
               </li>
             <% end %>
 
             <% if can?(:create, UserBlock) and current_user.blocks_created.exists? %>
               <li>
                 <%= link_to t(".blocks by me"), user_blocks_by_path(current_user) %>
-                <span class='count-number'><%= number_with_delimiter(current_user.blocks_created.active.size) %></span>
+                <span class='badge count-number'><%= number_with_delimiter(current_user.blocks_created.active.size) %></span>
               </li>
             <% end %>
 
 
             <li>
               <%= link_to t(".edits"), :controller => "changesets", :action => "index", :display_name => @user.display_name %>
-              <span class='count-number'><%= number_with_delimiter(@user.changesets.size) %></span>
+              <span class='badge count-number'><%= number_with_delimiter(@user.changesets.size) %></span>
             </li>
             <li>
               <%= link_to t(".notes"), user_notes_path(@user) %>
             </li>
             <li>
               <%= link_to t(".traces"), :controller => "traces", :action => "index", :display_name => @user.display_name %>
-              <span class='count-number'><%= number_with_delimiter(@user.traces.size) %></span>
+              <span class='badge count-number'><%= number_with_delimiter(@user.traces.size) %></span>
             </li>
 
             <!-- Displaying another user's profile page -->
@@ -72,7 +72,7 @@
             </li>
             <li>
               <%= link_to t(".diary"), :controller => "diary_entries", :action => "index", :display_name => @user.display_name %>
-              <span class='count-number'><%= number_with_delimiter(@user.diary_entries.size) %></span>
+              <span class='badge count-number'><%= number_with_delimiter(@user.diary_entries.size) %></span>
             </li>
             <li>
               <%= link_to t(".comments"), diary_comments_path(@user) %>
             <% if @user.blocks.exists? %>
               <li>
                 <%= link_to t(".block_history"), user_blocks_on_path(@user) %>
-                <span class='count-number'><%= number_with_delimiter(@user.blocks.active.size) %></span>
+                <span class='badge count-number'><%= number_with_delimiter(@user.blocks.active.size) %></span>
               </li>
             <% end %>
 
             <% if @user.moderator? and @user.blocks_created.exists? %>
               <li>
                 <%= link_to t(".moderator_history"), user_blocks_by_path(@user) %>
-                <span class='count-number'><%= number_with_delimiter(@user.blocks_created.active.size) %></span>
+                <span class='badge count-number'><%= number_with_delimiter(@user.blocks_created.active.size) %></span>
               </li>
             <% end %>
 
                 <% end -%>
               </dd>
             <% end -%>
+            <% if current_user&.moderator? || current_user&.administrator? %>
+              <dt class="list-inline-item m-0"><%= t ".uid" %></dt>
+              <dd class="list-inline-item"><%= link_to @user.id, api_user_path(:id => @user.id) %></dd>
+            <% end -%>
           </dl>
         </small>
       </div>
index c2a4df07b2ae4440186053193d6acb59c20a6cef..23256643d67965a158fccaf85bb24b2abbfc7bc1 100644 (file)
@@ -8,3 +8,10 @@ donate_2023:
     - [banners/donate_2023_1@2x.jpg, 2x]
   dark: true
   enddate: 2023-dec-31
+sotmeu_2023:
+  id: sotmeu_2023
+  alt: State of the Map Europe 2023
+  link: https://stateofthemap.eu/
+  img: banners/StateoftheMapEurope_2023.png
+  startdate: 2023-oct-05
+  enddate: 2023-nov-05
index 5ca4ccffa8d6dcde54f557d82ffa1612663f04e1..bce82b3c944230f520a9fb4dae628e6ad877a3b3 100644 (file)
@@ -23,8 +23,8 @@ end
 
 openid_options = { :name => "openid", :store => openid_store }
 google_options = { :name => "google", :scope => "email", :access_type => "online" }
-facebook_options = { :name => "facebook", :scope => "email", :client_options => { :site => "https://graph.facebook.com/v4.0", :authorize_url => "https://www.facebook.com/v4.0/dialog/oauth" } }
-windowslive_options = { :name => "windowslive", :scope => "wl.signin,wl.emails" }
+facebook_options = { :name => "facebook", :scope => "email", :client_options => { :site => "https://graph.facebook.com/v17.0", :authorize_url => "https://www.facebook.com/v17.0/dialog/oauth" } }
+microsoft_options = { :name => "microsoft", :scope => "openid User.Read" }
 github_options = { :name => "github", :scope => "user:email" }
 wikipedia_options = { :name => "wikipedia", :client_options => { :site => "https://meta.wikimedia.org" } }
 
@@ -34,7 +34,7 @@ Rails.application.config.middleware.use OmniAuth::Builder do
   provider :openid, openid_options
   provider :google_oauth2, Settings.google_auth_id, Settings.google_auth_secret, google_options if Settings.key?(:google_auth_id)
   provider :facebook, Settings.facebook_auth_id, Settings.facebook_auth_secret, facebook_options if Settings.key?(:facebook_auth_id)
-  provider :windowslive, Settings.windowslive_auth_id, Settings.windowslive_auth_secret, windowslive_options if Settings.key?(:windowslive_auth_id)
+  provider :microsoft_graph, Settings.microsoft_auth_id, Settings.microsoft_auth_secret, microsoft_options if Settings.key?(:microsoft_auth_id)
   provider :github, Settings.github_auth_id, Settings.github_auth_secret, github_options if Settings.key?(:github_auth_id)
   provider :mediawiki, Settings.wikipedia_auth_id, Settings.wikipedia_auth_secret, wikipedia_options if Settings.key?(:wikipedia_auth_id)
 end
diff --git a/config/initializers/rate_limits.rb b/config/initializers/rate_limits.rb
new file mode 100644 (file)
index 0000000..5caa300
--- /dev/null
@@ -0,0 +1,15 @@
+require "rate_limiter"
+
+SIGNUP_IP_LIMITER = if Settings.memcache_servers && Settings.signup_ip_per_day && Settings.signup_ip_max_burst
+                      RateLimiter.new(
+                        Dalli::Client.new(Settings.memcache_servers, :namespace => "rails:signup:ip"),
+                        86400, Settings.signup_ip_per_day, Settings.signup_ip_max_burst
+                      )
+                    end
+
+SIGNUP_EMAIL_LIMITER = if Settings.memcache_servers && Settings.signup_email_per_day && Settings.signup_email_max_burst
+                         RateLimiter.new(
+                           Dalli::Client.new(Settings.memcache_servers, :namespace => "rails:signup:email"),
+                           86400, Settings.signup_email_per_day, Settings.signup_email_max_burst
+                         )
+                       end
index 53ab768088a5b18db05ba9bde6dd690f289d3e57..778b5b827aff877439565a0a322ddc1809f28678 100644 (file)
@@ -7,7 +7,7 @@ csp_policy = {
   :form_action => %w['self'],
   :frame_ancestors => %w['self'],
   :frame_src => %w['self'],
-  :img_src => %w['self' data: www.gravatar.com *.wp.com tile.openstreetmap.org *.tile.openstreetmap.org *.tile.thunderforest.com tileserver.memomaps.de *.openstreetmap.fr],
+  :img_src => %w['self' data: www.gravatar.com *.wp.com tile.openstreetmap.org *.tile.openstreetmap.org *.tile.thunderforest.com tileserver.memomaps.de tile.tracestrack.com *.openstreetmap.fr],
   :manifest_src => %w['self'],
   :media_src => %w['none'],
   :object_src => %w['self'],
@@ -28,7 +28,7 @@ csp_policy[:img_src] << Settings.trace_image_storage_url if Settings.key?(:trace
 csp_policy[:report_uri] << Settings.csp_report_url if Settings.key?(:csp_report_url)
 
 cookie_policy = {
-  :httponly => { :only => ["_osm_session"] }
+  :httponly => { :only => %w[_osm_session _osm_totp_token] }
 }
 
 SecureHeaders::Configuration.default do |config|
index 1db4fa18da2bf218191616412ab5eeefa983c8b4..4a18cd9f2406931812559ea55eafd98d9319a5ee 100644 (file)
@@ -1579,7 +1579,7 @@ af:
         facebook:
           title: Meld aan met Facebook
           alt: Meld aan met ’n Facebook-rekening
-        windowslive:
+        microsoft:
           title: Meld aan met Windows Live
           alt: Meld aan met ’n Windows Live-rekening
         github:
index 508a21f7d6bf36a93702f6cb12fd669f8d3cc265..823be1ad61ce91b5dbb4d197ed6e318d40d9452d 100644 (file)
@@ -308,7 +308,7 @@ ar:
       openid: هوية مفتوحة
       google: جوجل
       facebook: فيسبوك
-      windowslive: مايكروسوفت
+      microsoft: مايكروسوفت
       github: جيت هب
       wikipedia: ويكيبيديا
   api:
@@ -1887,7 +1887,7 @@ ar:
         facebook:
           title: تسجيل الدخول باستخدام فيس بوك
           alt: تسجيل الدخول بحساب فيسبوك
-        windowslive:
+        microsoft:
           title: تسجيل الدخول مع مايكروسوفت
           alt: تسجيل الدخول بحساب مايكروسوفت
         github:
@@ -2342,6 +2342,7 @@ ar:
       public_traces_from: آثار جي بي إس عمومية من %{user}
       description: تصفح أحدث مسارات GPS المرفوعة
       tagged_with: بالوسم %{tags}
+      wiki_page: صفحة ويكي
       upload_trace: حمل أثر
       my_traces: أثري في GPS
     destroy:
index bb821a0407deceb3b847834a8633ae8e61e3a397..bafcf785c3fb5103d77f94bc780512796a8bd944 100644 (file)
@@ -1491,7 +1491,7 @@ ast:
         facebook:
           title: Anicia sesión con Facebook
           alt: Anicia sesión con una cuenta de Facebook
-        windowslive:
+        microsoft:
           title: Anicia sesión con Windows Live
           alt: Anicia sesión con una cuenta de Windows Live
         github:
index a943ecac5a7f3fdd9bae21587dda7fe06a84d1be..d68b720304e13c7886f6beabccf56060e5a84239 100644 (file)
@@ -63,8 +63,8 @@ ba:
       issue: бурыс
       language: Тел
       message: Хәбәр
-      node: Ð¢Ó©Ð¹Ó©Ð½
-      node_tag: Ð¢Ó©Ð¹Ó©Ð½ Ñ\82егы
+      node: Ð¢Ó©Ð¿ Ñ\82еÑ\85нологик Ñ\8dлеменÑ\82
+      node_tag: Ð¢Ó©Ð¿ Ñ\82еÑ\85нологик Ñ\8dлеменÑ\82 Ñ\82амÒ\93аһы
       old_node: Иҫке нөктә
       old_node_tag: Нөктәнең иҫке тегы
       old_relation: Иҫке сағыштырма
@@ -224,7 +224,7 @@ ba:
       openid: OpenID
       google: Google
       facebook: Facebook
-      windowslive: Майкрософт
+      microsoft: Майкрософт
       github: GitHub
       wikipedia: Википедия
   api:
index 5112e3988107a30a6e10b90b92dcf62307279dda..fdf9d6f5a9ae4b73ce97c5b958cba6251abc8f4b 100644 (file)
@@ -1498,7 +1498,7 @@ be:
         facebook:
           title: Увайсці праз Facebook
           alt: Увайсці праз уліковы запіс Facebook
-        windowslive:
+        microsoft:
           title: Увайсці праз Windows live
           alt: Увайсці праз уліковы запіс Windows Live
         github:
index e40ff79ff00eb74ce59b07c3ee3255d1b9a76129..3c75867fe10ceaaae21fe2bd55db02b60963513b 100644 (file)
@@ -212,7 +212,7 @@ bg:
       openid: OpenID
       google: Google
       facebook: Facebook
-      windowslive: Майкрософт
+      microsoft: Майкрософт
       github: GitHub
       wikipedia: Уикипедия
   api:
@@ -1088,8 +1088,8 @@ bg:
         level2: Държавна граница
         level4: Държавна граница
         level5: Граница на региона
-        level6: Ð\94Ñ\8aÑ\80жавна граница
-        level8: Ð\93Ñ\80аниÑ\86а Ð½Ð° Ð³Ñ\80ада
+        level6: Ð\9eблаÑ\81Ñ\82на граница
+        level8: Ð\93Ñ\80аниÑ\86а Ð½Ð° Ð·ÐµÐ¼Ð»Ð¸Ñ\89е
         level9: Граница на селото
         level10: Граница на предградията
       types:
@@ -1440,7 +1440,7 @@ bg:
         facebook:
           title: Влизане с Facebook
           alt: Влизане със сметка на Facebook
-        windowslive:
+        microsoft:
           title: Влизане с Майкрософт
           alt: Влизане със сметка на Майкрософт
         github:
index ecc870fef505f80997a8759d8c7b657471727d93..fdf69b13e82edf27faeb1b1982531ff8257155e9 100644 (file)
@@ -238,7 +238,7 @@ bn:
       openid: ওপেনআইডি
       google: গুগল
       facebook: ফেসবুক
-      windowslive: মাইক্রোসফট
+      microsoft: মাইক্রোসফট
       github: গিটহাব
       wikipedia: উইকিপিডিয়া
   api:
@@ -1554,7 +1554,7 @@ bn:
         facebook:
           title: ফেসবুক দিয়ে প্রবেশ
           alt: ফেসবুক অ্যাকাউন্ট দিয়ে প্রবেশ করুন
-        windowslive:
+        microsoft:
           title: মাইক্রোসফট দিয়ে লগইন করুন
           alt: একটি মাইক্রোসফট অ্যাকাউন্ট দিয়ে লগইন করুন
         github:
index 7ef4346e3ca00823ed820f824ba7ce8a40fdec95..081c526a84e5e579fb0f2a643d0476fc2a9d4856 100644 (file)
@@ -256,6 +256,7 @@ br:
       openid: OpenID
       google: Google
       facebook: Facebook
+      microsoft: Microsoft
       github: GitHub
       wikipedia: Wikipedia
   api:
@@ -289,8 +290,14 @@ br:
         delete_account: Dilemel ar gont
         delete_introduction: 'Gallout a rit dilemel ho kont OpenStreetMap en ur glikañ
           war an afell a-is. Mar plij, taolit pled ouzh ar munudoù-mañ:'
+        delete_profile: Titouroù ho profil, en o zouez hoc'h avatar, ho teskrivadur
+          hag ho chomlec'h a vo lamet.
+        delete_display_name: Hoc'h anv diskwel a vo lamet hag a c'hallo bezañ perc'hennet
+          gant kontoù all.
         retain_caveats: 'Koulskoude, miret e vo un nebeut titouroù diwar ho penn e
           OpenStreetMap goude ma vefe bet dilamet ho kont:'
+        retain_edits: Ho kemmoù degaset d'ar gartenn, ma'z eus anezho, a vo dalc'het.
+        retain_traces: Ar roudoù ho peus enporzhiet, ma'z eus anezho, a vo dalc'het.
         retain_diary_entries: Hoc'h enmonedoù hag evezhiadennoù en deiz-levr, ma'z
           eus anezho, a vo miret met kuzhet e vint.
         retain_changeset_discussions: Ho kaozeadennoù, ma'z eus anezho, a vo miret.
@@ -751,6 +758,7 @@ br:
           public_bath: Kibelldi foran
           public_bookcase: Levraoueg foran
           public_building: Savadur foran
+          ranger_station: Post gward-koad
           recycling: Lec'h adaozañ
           restaurant: Preti
           school: Skol
@@ -1842,6 +1850,9 @@ br:
       no home location: N'hoc'h eus ket ebarzhet lec'hiadur ho kêr.
       update home location on click: Hizivaat lec'hiadur ho kêr pa glikit war ar gartenn
         ?
+      show: Diskouez
+      delete: Dilemel
+      undelete: Dizober al lamidigezh
     update:
       success: Profil hizivaet.
       failure: N'haller ket hizivaat ar profil.
@@ -1871,7 +1882,7 @@ br:
         facebook:
           title: Kevreañ ouzh Facebook
           alt: Kevreañ ouzh ur gont facebook
-        windowslive:
+        microsoft:
           title: Kevreañ ouzh Microsoft
           alt: Kevreañ ouzh ur gont Microsoft
         github:
@@ -1896,6 +1907,7 @@ br:
       support: skor
   shared:
     markdown_help:
+      heading_html: Analizet gant %{kramdown_link}
       headings: Titloù
       heading: Titl
       subheading: Istitl
@@ -1970,12 +1982,15 @@ br:
           2.0
         credit_title_html: Penaos reiñ kred da OpenStreetMap
         credit_1_html: 'Pa implijit titouroù OpenStreetMap e rankit ober an daou dra-mañ:'
+        credit_3_attribution_guidelines: Sturiadoù dereiñ
         credit_4_1_this_copyright_page: ar bajenn gwirioù oberour-mañ
         attribution_example:
           alt: Skouer eus penaos deverkañ OpenStreetMap war ur bajenn web
           title: Skouer deverkadur
         more_title_html: Titouroù ouzhpenn
         more_1_1_osmf_licence_page: Pajenn aotre-implijout diazezadur OSM
+        more_2_1_api_usage_policy: Politikerezh implij an API
+        more_2_1_tile_usage_policy: Politikerezh implij an teol
         contributors_title_html: Hor c'henlabourerien
         contributors_intro_html: 'Miliadoù a hiniennoù a labour ganimp. Ebarzhiñ a
           reomp ivez roadennoù digor eus ajañsoù kartennañ hag eus mamennoù all, hag
@@ -1984,6 +1999,7 @@ br:
         contributors_at_stadt_wien: Kêr Vienna
         contributors_at_cc_by: CC-BY
         contributors_at_land_vorarlberg: Stad Vorarlberg
+        contributors_at_cc_by_at_with_amendments: CC BY AT gant kemennadennoù
         contributors_au_australia: Aostralia
         contributors_au_geoscape_australia: Geoscape Aostralia
         contributors_au_cc_licence: Creative Commons Attribution 4.0 International
@@ -2005,7 +2021,9 @@ br:
         contributors_nz_linz_data_service: Servij roadennoù LINZ
         contributors_nz_cc_by: CC BY 4.0
         contributors_rs_serbia: Serbia
+        contributors_rs_rgz: Aotrouniezh Geodezek Serbia
         contributors_si_slovenia: Slovenia
+        contributors_si_mkgp: Ministrerezh al Labour-douar, ar C'hoadegi hag ar Boued
         contributors_es_spain: Spagn
         contributors_es_ign: IGN
         contributors_es_cc_by: CC BY 4.0
@@ -2020,6 +2038,7 @@ br:
           Degas a reomp da soñj da genlabourerien OSM ne zleont morse lakaat roadennoù a zeu
           eus mammennoù dindan wirioù (da sk. : Google Maps pe kartennoù moullet) hep aotre
           ezpleg ar re zo ar gwirioù-aozer ganto.
+        trademarks_1_1_trademark_policy: Politikerezh e-keñver ar merkoù
     index:
       js_1: Pe emaoc'h oc'h implijout ur merdeer ha ne skor ket JavaScript, pe hoc'h
         eus diweredekaet JavaScript.
@@ -2051,6 +2070,8 @@ br:
       map_image: Skeudenn gartenn (diskouez ur gwiskad boutin)
       embeddable_html: HTML enkorfadus
       licence: Aotre-implijout
+      licence_details_html: Roadennoù OpenStreetMap a zo dindan an aotre-implijout
+        %{odbl_link} (ODbL).
       too_large:
         advice: 'Ma c''hwit an ezporzhiadur amañ a-us, implijit unan eus an elfennoù
           amañ dindan :'
@@ -2138,6 +2159,7 @@ br:
     potlatch:
       desktop_application_html: Kendalc'hit da ober gant Potlatch dre %{download_link}.
       download: bellgargañ an arload-burev evit Mac ha Windows
+      change_preferences: Cheñchit ho penndibaboù amañ
     any_questions:
       title: Traoù da c'houlenn ?
       get_help_here: Kaout skoazell amañ
@@ -2234,6 +2256,11 @@ br:
       whats_on_the_map:
         title: Petra zo war ar gartenn
         real_and_current: gwir hag a-vremañ
+        off_the_map_html: Ar pezh %{doesnt} avat eo ar roadennoù evit notennoù roet
+          gant an dud, elfennoù istorel pe martezeüs, hag ar roadennoù a zo dindan
+          gwirioù eilañ. Nemet hag un aotre ispisial ho pefe, na eilit ket kartennoù
+          enlinenn pe war baper.
+        doesnt: na gaver ket
       basic_terms:
         title: Geriaoueg diazez ar c'hartennaouiñ
         paragraph_1: E luc'haj dezhañ e-unan en deus OpenStreetMap. Setu amañ un nebeud
@@ -2793,7 +2820,9 @@ br:
     index:
       title: Notennoù kaset pe addispleget gant %{user}
       heading: notennoù %{user}
-      subheading_html: Notennoù kaset pe addispleget gant %{user}
+      subheading_html: Notennoù %{submitted} pe %{commented} gant %{user}
+      subheading_submitted: kaset
+      subheading_commented: skrivet war
       no_notes: Notenn ebet
       id: Id
       creator: Krouer
index fa2a7676d53fa666f3b58915f9a78b7ad42fa7bf..7347dcee2c901cac97d195ee8e45cb391921847d 100644 (file)
@@ -257,6 +257,7 @@ ca:
       openid: OpenID
       google: Google
       facebook: Facebook
+      microsoft: Microsoft
       github: GitHub
       wikipedia: Viquipèdia
   api:
@@ -272,6 +273,7 @@ ca:
         reopened_at_by_html: Reactivat %{when} per %{user}
       rss:
         title: Notes d'OpenStreetMap
+        description_all: Una llista de notes denunciades, comentades o tancades
         description_area: Una llista de notes reportades, comentades o bé tancades
           a la teva àrea [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]
         description_item: Un agregador RSS per a la nota %{id}
@@ -1903,7 +1905,7 @@ ca:
         facebook:
           title: Inicieu la sessió amb Facebook
           alt: Inicieu la sessió amb un compte de Facebook
-        windowslive:
+        microsoft:
           title: Inicieu la sessió amb Windows
           alt: Inicieu de sessió amb un compte de Windows
         github:
@@ -2007,6 +2009,7 @@ ca:
           OpenStreetMap%{registered_trademark_link} són %{open_data}, sota la llicència
           %{odc_odbl_link} (ODbL) per la %{osm_foundation_link} (OSMF).
         introduction_1_open_data: dades obertes
+        introduction_1_odc_odbl: Llicència de base de dades oberta d'Open Data Commons
         introduction_1_osm_foundation: Fundació OpenStreetMap
         introduction_2_html: "Sou lliure de copiar, distribuir, transmetre i adaptar
           les nostres dades, sempre que especifiqueu que són obra d'OpenStreetMap
@@ -2053,10 +2056,14 @@ ca:
           També incloem dades amb llicència oberta de les agències públiques de cartografia
           i d''altres fonts, entre elles:'
         contributors_at_austria: Àustria
+        contributors_at_stadt_wien: Ciutat de Viena
         contributors_at_cc_by: CC BY
+        contributors_at_land_vorarlberg: Estat de Vorarlberg
         contributors_au_australia: Austràlia
         contributors_ca_canada: Canadà
         contributors_fi_finland: Finlàndia
+        contributors_fr_credit_html: '%{france}: Conté dades d''origen de la «Direction
+          Générale des Impôts».'
         contributors_fr_france: França
         contributors_nl_netherlands: Països Baixos
         contributors_nz_new_zealand: Nova Zelanda
@@ -2064,10 +2071,22 @@ ca:
         contributors_rs_serbia: Sèrbia
         contributors_rs_rgz: Autoritat geodèsica sèrbia
         contributors_si_slovenia: Eslovènia
+        contributors_si_gu: Autoritat de topografia i cartografia
+        contributors_si_mkgp: Ministeri d'Agricultura, Forestal i Alimentació
+        contributors_es_credit_html: |-
+          %{spain}: conté dades procedents de
+          l'Institut Geogràfic Nacional d'Espanya (%{ign_link}) i el
+          Sistema Cartogràfic Nacional (%{scne_link}) amb llicència per a la reutilització sota %{cc_by_link}.
         contributors_es_spain: Espanya
         contributors_es_ign: IGN
         contributors_es_cc_by: CC BY 4.0
+        contributors_za_credit_html: '%{south_africa}: conté dades procedents de %{ngi_link},
+          drets d''autor reservats de l''estat.'
         contributors_za_south_africa: Sud-àfrica
+        contributors_za_ngi: 'Direcció General: Informació Geoespacial Nacional'
+        contributors_gb_credit_html: |-
+          %{united_kingdom}: conté dades d'Ordnance Survey &copy; Drets d'autor i base de dades de la Corona
+          2010-2023.
         contributors_gb_united_kingdom: Regne Unit
         contributors_2_html: Per a més detalls sobre aquestes i altres fonts que s'han
           usat per ajudar a millorar OpenStreetMap, vegeu %{contributors_page_link}
@@ -2124,6 +2143,7 @@ ca:
       licence: Llicència
       licence_details_html: Les dades d'OpenStreetMap estan sota la llicència %{odbl_link}
         (ODbL).
+      odbl: Llicència de base de dades oberta d'Open Data Commons
       too_large:
         advice: 'Si l''exportació anterior falla, proveu-ho amb alguna de les fonts
           incloses a la llista següent:'
@@ -2735,6 +2755,7 @@ ca:
       remove as friend: Deixa l'amistat
       add as friend: Afegeix com a amic
       mapper since: 'Cartografiant des de:'
+      uid: 'ID d''usuari:'
       ct status: 'Termes de col·laboració:'
       ct undecided: No decidit
       ct declined: Rebutjat
@@ -2924,7 +2945,9 @@ ca:
     index:
       title: Notes enviades o comentades per %{user}
       heading: notes de %{user}
-      subheading_html: Notes enviades o comentades per %{user}
+      subheading_html: Notes %{submitted} o %{commented} per %{user}
+      subheading_submitted: enviades
+      subheading_commented: comentades
       no_notes: Sense notes
       id: Id
       creator: Creador
index baa0c47f21d860c6cb6e4c5677e5b6938687b481..e6b897d585a2277ae3e8eaa2b878c3c7dee458f8 100644 (file)
@@ -760,7 +760,7 @@ ce:
   passwords:
     lost_password:
       title: Пароль меттахӀоттор
-      heading: Йицъелла пароль?
+      heading: Йицйелла пароль?
       email address: 'Электронан поштан адрес:'
       new password button: Керла пароль кхосса соьга
     reset_password:
@@ -781,7 +781,7 @@ ce:
       password: 'Пароль:'
       openid_html: '%{logo} OpenID:'
       remember: Дагалаца со
-      lost password link: Йицъелла пароль?
+      lost password link: Йицйелла пароль?
       login_button: ЧугӀо
       register now: ДӀадазло
     destroy:
index f1abd90c371cba7ce3ec7d6981d9b341d242687e..494e3db258aa1e5345084fdda0601ea8df325b94 100644 (file)
@@ -7,6 +7,7 @@
 # Author: Bilykralik16
 # Author: Chmee2
 # Author: Cvanca
+# Author: Decamexd
 # Author: DemonioCZ
 # Author: DoubyCz
 # Author: Dvorapa
@@ -61,7 +62,7 @@ cs:
       prompt: Vyberte soubor
     submit:
       diary_comment:
-        create: Odeslat
+        create: Okomentovat
       diary_entry:
         create: Publikovat
         update: Aktualizovat
@@ -70,11 +71,11 @@ cs:
       message:
         create: Odeslat
       client_application:
-        create: Zaregistrovat
+        create: Registrovat
         update: Aktualizovat
       oauth2_application:
-        create: Zaregistrovat
-        update: Uložit
+        create: Registrovat
+        update: Aktualizovat
       redaction:
         create: Vytvořit redakci
         update: Uložit redakci
@@ -87,7 +88,7 @@ cs:
   activerecord:
     errors:
       messages:
-        invalid_email_address: nevypadá jako platná e-mailová adresa
+        invalid_email_address: ne platná e-mailová adresa
         email_address_not_routable: není routovatelná
     models:
       acl: Seznam přístupových práv
@@ -143,8 +144,8 @@ cs:
         user: Uživatel
         title: Nadpis
         body: Obsah
-        latitude: Šířka
-        longitude: Délka
+        latitude: Zeměpisná šířka
+        longitude: Zeměpisná délka
         language_code: Jazyk
       doorkeeper/application:
         name: Název
@@ -159,8 +160,8 @@ cs:
         visible: Viditelný
         name: Název souboru
         size: Velikost
-        latitude: Šířka
-        longitude: Délka
+        latitude: Zeměpisná šířka
+        longitude: Zeměpisná délka
         public: Veřejná
         description: Popis
         gpx_file: Nahrát GPX soubor
@@ -182,7 +183,7 @@ cs:
         auth_uid: Autentifikační UID
         email: E-mail
         email_confirmation: Potvrzení e-mailu
-        new_email: nová emailová adresa
+        new_email: Nová emailová adresa
         active: Aktivní
         display_name: Zobrazované jméno
         description: Popis profilu
@@ -302,6 +303,7 @@ cs:
         reopened_at_by_html: Reaktivováno %{when} od %{user}
       rss:
         title: Poznámky OpenStreetMap
+        description_all: Seznam nahlášených, komentovaných nebo uzavřených poznámek
         description_area: Seznam poznámek hlášených, komentovaných nebo uzavřených
           ve vaší oblasti [(%{min_lat}|%{min_lon}) – (%{max_lat}|%{max_lon})]
         description_item: RSS kanál k poznámce %{id}
@@ -1915,6 +1917,9 @@ cs:
       home location: Poloha domova
       no home location: Nezadali jste polohu svého bydliště.
       update home location on click: Upravit pozici domova při kliknutí na mapu?
+      show: Zobrazit
+      delete: Smazat
+      undelete: Vrátit smazání
     update:
       success: Profil nastaven.
       failure: Nepodařilo se nastavit profil.
@@ -1943,7 +1948,7 @@ cs:
         facebook:
           title: Přihlásit se přes Facebook
           alt: Přihlášení pomocí účtu na Facebooku
-        windowslive:
+        microsoft:
           title: Přihlásit se přes Microsoft
           alt: Přihlášení pomocí účtu Microsoft
         github:
@@ -1968,7 +1973,8 @@ cs:
       support: podporu
   shared:
     markdown_help:
-      heading_html: Analyzováno pomocí %{kramdown_link}
+      heading_html: Zpracovává se %{kramdown_link}
+      kramdown: kramdownem
       headings: Nadpisy
       heading: Nadpis
       subheading: Podnadpis
@@ -2105,6 +2111,7 @@ cs:
         contributors_at_austria: Rakousko
         contributors_at_stadt_wien: města Vídně
         contributors_at_cc_by: CC BY
+        contributors_at_cc_by_url: https://creativecommons.org/licenses/by/3.0/at/deed.cs
         contributors_at_land_vorarlberg: země Vorarlbersko
         contributors_at_cc_by_at_with_amendments: CC BY AT s dodatky
         contributors_au_credit_html: '%{australia}: Zahrnuje nebo využívá Administrative
@@ -2825,6 +2832,7 @@ cs:
       remove as friend: Odebrat z přátel
       add as friend: Přidat do přátel
       mapper since: 'Účastník projektu od:'
+      uid: 'ID uživatele:'
       ct status: 'Podmínky pro přispěvatele:'
       ct undecided: Nerozhodnuto
       ct declined: Odmítnuty
@@ -3019,7 +3027,9 @@ cs:
     index:
       title: Poznámky vytvořené nebo okomentované uživatelem %{user}
       heading: Poznámky uživatele %{user}
-      subheading_html: Poznámky vytvořené nebo okomentované uživatelem %{user}
+      subheading_html: Poznámky %{submitted} nebo %{commented} uživatelem %{user}
+      subheading_submitted: vytvořené
+      subheading_commented: okomentované
       no_notes: Bez poznámek
       id: ID
       creator: Autor
index 19dc32de18450c4cb136d592e83f921161c44504..205b01f1a696fe00bd293f22cae53e5135bc7d6e 100644 (file)
@@ -43,11 +43,11 @@ cy:
     errors:
       messages:
         invalid_email_address: nid yw'n ymddangos ei fod yn gyfeiriad ebost dilys
-        email_address_not_routable: nid yw'n cyrchadwy
+        email_address_not_routable: nid yw'n gyrchadwy
     models:
       acl: Rhestr Rheoli Mynediad
       changeset: Grŵp newid
-      changeset_tag: Tag Grŵp newidiadau
+      changeset_tag: Tag Grŵp newid
       country: Gwlad
       diary_comment: Nodyn Dyddiadur
       diary_entry: Cofnod Dyddiadur
@@ -82,7 +82,15 @@ cy:
     attributes:
       client_application:
         name: Enw (gofynnol)
-        allow_write_api: olygu'r map
+        url: URL y Prif Ap (Gofynnol)
+        callback_url: URL galw'n ôl
+        support_url: URL Cefnogaeth
+        allow_read_prefs: darllen eu dewisiadau defnyddiwr
+        allow_write_prefs: addasu eu dewisiadau defnyddiwr
+        allow_write_diary: creu cofnodion dyddiadur, sylwadau a gwneud ffrindiau
+        allow_write_api: golygu'r map
+        allow_read_gpx: darllen eu dargopiadau GPS
+        allow_write_gpx: uwchlwytho dargopiadau GPS
         allow_write_notes: addasu nodiadau
       diary_comment:
         body: Corff
@@ -95,6 +103,8 @@ cy:
         language_code: Iaith
       doorkeeper/application:
         name: Enw
+        redirect_uri: Ailgyfeirio URIs
+        confidential: Ap cyfrinachol?
         scopes: Caniatâd
       friend:
         user: Defnyddiwr
@@ -121,9 +131,12 @@ cy:
         description: Disgrifiad
       report:
         category: Dewiswch reswm dros eich adroddiad
+        details: Rhowch mwy o fanylion am y broblem (gofynnol).
       user:
+        auth_provider: Darparwr Ap
+        auth_uid: UID Dilysu
         email: E-bost
-        email_confirmation: Cadarnhau E-bost
+        email_confirmation: Cadarnhad e-bost
         new_email: Cyfeiriad e-bost newydd
         active: Gweithredol
         display_name: Enw defnyddiwr
@@ -238,6 +251,7 @@ cy:
       openid: OpenID
       google: Google
       facebook: Facebook
+      microsoft: Microsoft
       github: GitHub
       wikipedia: Wicipedia
   api:
@@ -297,6 +311,8 @@ cy:
         cyhoeddus all olygu data map.
       find_out_why: dyma pam
       make_edits_public_button: Gwneud fy holl olygiadau yn gyhoeddus
+    update:
+      success: Diweddarwyd gwybodaeth defnyddiwr yn llwyddiannus.
     destroy:
       success: Cyfrif wedi'i ddileu.
   browse:
@@ -309,7 +325,7 @@ cy:
     deleted_ago_by_html: Wedi dileu %{time_ago} gan %{user}
     edited_ago_by_html: Golgwyd %{time_ago} gan %{user}
     version: Fersiwn
-    in_changeset: Grŵp Newid
+    in_changeset: Grŵp newid
     anonymous: dienw
     no_comment: (dim sylw)
     part_of: Rhan o
@@ -327,6 +343,8 @@ cy:
       relation: Perthynas %{count}
       relation_paginated: Perthynas (%{x}-%{y} o %{count})
       comment: Sylwadau (%{count})
+      hidden_comment_by_html: Sylw cudd gan %{user} %{time_ago}
+      comment_by_html: Sylw gan %{user} %{time_ago}
       changesetxml: XML grŵp newid
       osmchangexml: XML osmChange
       feed:
@@ -343,6 +361,13 @@ cy:
       title_html: 'Llwybr: %{name}'
       history_title_html: 'Hanes Llwybr: %{name}'
       nodes: Nodau
+      nodes_count:
+        zero: '%{count} nod'
+        one: '%{count} nod'
+        two: '%{count} nod'
+        few: '%{count} nod'
+        many: '%{count} nod'
+        other: '%{count} nod'
       also_part_of_html:
         one: rhan o'r ffordd %{related_ways}
         other: rhan o'r ffyrdd %{related_ways}
@@ -350,6 +375,13 @@ cy:
       title_html: 'Perthynas: %{name}'
       history_title_html: 'Hanes y Perthynas: %{name}'
       members: Aelodau
+      members_count:
+        zero: '%{count} aelod'
+        one: '%{count} aelod'
+        two: '%{count} aelod'
+        few: '%{count} aelod'
+        many: '%{count} aelod'
+        other: '%{count} aelod'
     relation_member:
       entry_role_html: '%{type} %{name} fel %{role}'
       type:
@@ -399,6 +431,7 @@ cy:
       wikipedia_link: Erthygl %{page} ar Wicipedia
       wikimedia_commons_link: Eitem %{page} ar Gomin Wicimedia
       telephone_link: Galw %{phone_number}
+      colour_preview: Rhagolwg lliw %{colour_value}
       email_link: E-bost %{email}
     query:
       title: Nodweddion Ymholiad
@@ -500,6 +533,7 @@ cy:
         arni'n anghywir.
     diary_entry:
       posted_by_html: Postiwyd gan %{link_user} ar %{created} yn %{language_link}
+      updated_at_html: Diweddarwyd ddiwethaf ar %{updated}.
       comment_link: Sylw ar y cofnod hwn
       reply_link: Anfon neges at yr awdur
       comment_count:
@@ -512,6 +546,7 @@ cy:
       no_comments: Dim sylwadau
       edit_link: Golygu'r cofnod hwn
       hide_link: Cuddio'r cofnod hwn
+      unhide_link: Datguddio'r cofnod hwn
       confirm: Cadarnhau
       report: Adrodd y cofnod hwn
     diary_comment:
@@ -536,6 +571,9 @@ cy:
         title: Cofnodion dyddiadur OpenStreetMap
         description: Cofnodion dyddiadur diweddar gan ddefnyddwyr OpenStreetMap
     comments:
+      heading: Sylwadau Dyddiadur %{user}
+      subheading_html: Sylwadau Dyddiadur wedi'u hychwanegu gan %{user}
+      no_comments: Dim sylwadau dyddiadur
       post: Post
       when: Pryd
       comment: Sylw
@@ -575,9 +613,11 @@ cy:
           drag_lift: Cadair lusg
           gondola: Lifft Gondola
           magic_carpet: Lifft Carped Hud
+          platter: Lifft Plater
           pylon: Peilon
           station: Gorsaf Awyr
           t-bar: Lifft T-Bar
+          "yes": Awyrffordd
         aeroway:
           aerodrome: Maesawyr
           airstrip: Llain Codi
@@ -586,8 +626,10 @@ cy:
           hangar: Hangar
           helipad: Pad Hofrennydd
           holding_position: Man aros
+          navigationaid: Cymorth Cyfeiriadu Hedfan
           parking_position: Lle Parcio
           runway: Rhedfa Awyr
+          taxilane: Safle Tacsis
           taxiway: Safle tacsi
           terminal: Terfynell Maes Awyr
           windsock: Hosan wynt
@@ -649,7 +691,9 @@ cy:
           loading_dock: Doc Llwytho
           love_hotel: Gwesty Cariad
           marketplace: Marchnad
+          mobile_money_agent: Asiant Arian Symudol
           monastery: Mynachdy
+          money_transfer: Trosglwyddo Arian
           motorcycle_parking: Man Parcio Beiciau Modur
           music_school: Ysgol Gerddoriaeth
           nightclub: Clwb Nôs
@@ -657,6 +701,7 @@ cy:
           parking: Parcio
           parking_entrance: Mynedfa Man Parcio
           parking_space: Man Parcio
+          payment_terminal: Terfynell Talu
           pharmacy: Fferyllfa
           place_of_worship: Man addoli
           police: Heddlu
@@ -664,9 +709,13 @@ cy:
           post_office: Swyddfa Bost
           prison: Carchar
           pub: Tafarn
+          public_bath: Bath Cyhoeddus
+          public_bookcase: Silff Lyfrau Gyhoeddus
           public_building: Adeilad Cyhoeddus
+          ranger_station: Gorsaf Ceidwad
           recycling: Pwynt Ailgylchu
           restaurant: Bwyty
+          sanitary_dump_station: Gorsaf Dympio Glanweithdra
           school: Ysgol
           shelter: Cysgod
           shower: Cawod
@@ -679,14 +728,21 @@ cy:
           theatre: Theatr
           toilets: Toiledau
           townhall: Neuadd y Dref
+          training: Cyfleuster Hyfforddi
           university: Prifysgol
+          vehicle_inspection: Archwilio Cerbydau
           vending_machine: Peiriant Gwerthu
           veterinary: Milfeddygfa
           village_hall: Neuadd Bentref
           waste_basket: Bin Sbwriel
           waste_disposal: Gwaredu Sbwriel
+          waste_dump_site: Safle Dympio Gwastraff
+          watering_place: Lle Dyfrhau
           water_point: Cyflenwad Dŵr
+          weighbridge: Pont Bwyso
+          "yes": Amwynder
         boundary:
+          aboriginal_lands: Tiroedd Brodorol
           administrative: Ffin Gweinyddol
           census: Ffin Cyfrifiad
           national_park: Parc Cenedlaethol
@@ -695,6 +751,7 @@ cy:
           "yes": Ffin
         bridge:
           aqueduct: Dyfrbont
+          boardwalk: Rhodfa Estyll
           suspension: Pont Grog
           swing: Pont Droelli
           viaduct: Pont Trenau
@@ -710,6 +767,8 @@ cy:
           civic: Adeilad Dinesig
           college: Adeilad Coleg
           commercial: Adeilad Masnachol
+          construction: Adeilad yn cael ei Adeiladu
+          dormitory: Dorm
           farm: Ffermdy
           garage: Garej
           garages: Garejis
@@ -1019,6 +1078,7 @@ cy:
           lawyer: Cyfreithiwr
           newspaper: Swyddfa Bapur Newydd
           ngo: Swyddfa NGO
+          notary: Notari
           religion: Swyddfa Grefyddol
           research: Swyddfa Ymchwil
           tax_advisor: Cynghorydd Treth
@@ -1083,9 +1143,12 @@ cy:
           alcohol: Siop Drwyddedig
           antiques: Hynafolion
           art: Siop Gelf
+          baby_goods: Nwyddau Babanod
           bag: Siop Bagiau
           bakery: Becws
+          bathroom_furnishing: Dodrefn Ystafell Ymolchi
           beauty: Siop Harddwch
+          bed: Cynhyrchion Dillad Gwely
           beverages: Siop Ddiodau
           bicycle: Siop Feiciau
           bookmaker: Llyfrwerthwr
@@ -1107,6 +1170,9 @@ cy:
           convenience: Siop Bob-peth
           copyshop: Siop Argraffu
           cosmetics: Siop Golur
+          craft: Storfa Cynnyrch Crefft
+          curtain: Siop Lenni
+          dairy: Siop Laeth
           deli: Deli
           department_store: Siop Adrannol
           discount: Siop Ddisgownt
@@ -1116,6 +1182,7 @@ cy:
           electronics: Siop Electroneg
           erotic: Siop Erotig
           estate_agent: Gwerthwr Tai
+          fabric: Siop Ddeunydd
           farm: Siop Fferm
           fashion: Siop Ffasiwn
           florist: Siop Flodau
@@ -1151,12 +1218,16 @@ cy:
           paint: Siop Baent
           pet: Siop Anifeiliaid Anwes
           photo: Siop Luniau
+          seafood: Bwyd Môr
           second_hand: Siop ail-law
+          sewing: Siop Gwnïo
           shoes: Siop Esgidiau
           sports: Siop Chwaraeon
           stationery: Siop Offer Swyddfa
           supermarket: Archfarchnad
           tailor: Teiliwr
+          tattoo: Siop Tatŵ
+          tea: Siop De
           ticket: Siop Docynau
           tobacco: Siop Dybaco
           toys: Siop Degannau
@@ -1165,6 +1236,7 @@ cy:
           vacant: Siop Wag
           video: Siop Fideos
           video_games: Siop Gemau Fideo
+          wholesale: Siop Gyfanwerthu
           wine: Siop Win
           "yes": Siop
         tourism:
@@ -1231,7 +1303,9 @@ cy:
       title: Materion
       select_status: Dewis statws
       select_type: Dewis math
+      not_updated: Heb ei Ddiweddaru
       search: Chwilio
+      search_guidance: 'Chwilio Gwallau:'
       user_not_found: Nid yw'r defnyddiwr yn bodoli
       issues_not_found: Ni chanfuwyd unrhyw faterion o'r fath
       status: Statws
@@ -1252,27 +1326,50 @@ cy:
         open: Agor
         resolved: Datruswyd
     show:
+      title: '%{status} Gwall #%{issue_id}'
       no_reports: Dim adroddiadau
       report_created_at: Adroddwyd gyntaf am %{datetime}
       last_resolved_at: Datryswyd ddiwethaf am %{datetime}
       resolve: Datrys
       ignore: Anwybyddu
       reopen: Ailagor
+      read_reports: Darllen Adroddiadau
+      new_reports: Adroddiadau Newydd
+    reports:
+      reported_by_html: Adroddwyd fel %{category} gan %{user} ar %{updated_at}
     helper:
       reportable_title:
+        diary_comment: '%{entry_title}, sylw #%{comment_id}'
         note: 'Nodyn #%{note_id}'
   reports:
     new:
       title_html: Adrodd %{link}
+      missing_params: Ni ellir creu adroddiad newydd
       categories:
         diary_entry:
+          spam_label: Mae'r cofnod dyddiadur hwn yn / yn cynnwys sbam
+          offensive_label: Mae'r cofnod dyddiadur hwn yn anweddus / sarhaus
+          threat_label: Mae'r cofnod dyddiadur hwn yn cynnwys bygythiad
           other_label: Arall
         diary_comment:
+          spam_label: Mae'r sylw dyddiadur hwn yn/yn cynnwys sbam
+          offensive_label: Mae'r sylw dyddiadur hwn yn anweddus/sarhaus
+          threat_label: Mae'r sylw dyddiadur hwn yn cynnwys bygythiad
           other_label: Arall
         user:
+          spam_label: Mae'r proffil defnyddiwr hwn yn / yn cynnwys sbam
+          offensive_label: Mae'r proffil defnyddiwr hwn yn anweddus / sarhaus
+          threat_label: Mae'r proffil defnyddiwr hwn yn cynnwys bygythiad
+          vandal_label: Mae'r defnyddiwr hwn yn fandal
           other_label: Arall
         note:
+          spam_label: Mae'r nodyn hwn yn sbam
+          personal_label: Mae'r nodyn hwn yn cynnwys data personol
+          abusive_label: Mae'r nodyn hwn yn sarhaus
           other_label: Arall
+    create:
+      successful_report: Anfonwyd eich adroddiad yn llwyddiannus
+      provide_details: Rhowch y manylion gofynnol os gwelwch yn dda
   layouts:
     logo:
       alt_text: Logo OpenStreetMap
@@ -1334,14 +1431,17 @@ cy:
     gpx_success:
       hi: Helo %{to_user},
     signup_confirm:
+      subject: '[OpenStreetMap] Croeso i OpenStreetMap'
       greeting: Shwmae!
       created: Mae rhywun (chi gobeithio!) newydd greu cyfrif yn %{site_url}.
     email_confirm:
+      subject: '[OpenStreetMap] Cadarnhewch eich cyfeiriad e-bost'
       greeting: Helo,
       hopefully_you: Hoffai rhywun (chi, gobeithio) newid eu cyfeiriad e-bost ar %{server_url}
         i %{new_address}.
       click_the_link: Os mai chi yw hwn, cliciwch ar y ddolen isod i gadarnhau'r newid.
     lost_password:
+      subject: '[OpenStreetMap] Cais ailosod cyfrinair'
       greeting: Helo,
     note_comment_notification:
       anonymous: Defnyddiwr dienw
@@ -1358,6 +1458,8 @@ cy:
       heading: Gwiriwch eich e-byst!
       button: Cadarnhau
       click_here: cliciwch yma
+    confirm_resend:
+      failure: Heb ganfod y defnyddiwr %{name}.
     confirm_email:
       heading: Cadarnhau newid cyfeiriad e-bost
       button: Cadarnhau
@@ -1367,7 +1469,22 @@ cy:
     inbox:
       title: Mewnflwch
       my_inbox: Fy Mewnflwch
+      my_outbox: Fy Mlwch Allan
       messages: Mae gennych %{new_messages} a %{old_messages}
+      new_messages:
+        zero: '%{count} neges newydd'
+        one: '%{count} neges newydd'
+        two: '%{count} new messages'
+        few: '%{count} neges newydd'
+        many: '%{count} neges newydd'
+        other: '%{count} neges newydd'
+      old_messages:
+        zero: '%{count} hen neges'
+        one: '%{count} hen neges'
+        two: '%{count} hen neges'
+        few: '%{count} hen neges'
+        many: '%{count} hen neges'
+        other: '%{count} hen neges'
       from: Gan
       subject: Pwnc
       date: Dyddiad
@@ -1437,6 +1554,8 @@ cy:
       cancel: Canslo
     update:
       failure: Ni ellir diweddaru'r dewisiadau.
+    update_success_flash:
+      message: Diweddarwyd eich dewisiadau.
   profiles:
     edit:
       title: Golygu proffil
@@ -1453,6 +1572,12 @@ cy:
       image size hint: (delweddau sgwâr o leiaf 100x100 yw'r gorau)
       home location: Lleoliad Cartref
       no home location: Nid ydych wedi gosod eich lleoliad cartref.
+      show: Dangos
+      delete: Dileu
+      undelete: Dadwneud dileu
+    update:
+      success: Proffil wedi'i ddiweddaru.
+      failure: Ni ellir diweddaru'r proffil.
   sessions:
     new:
       title: Mewngofnodi
@@ -1476,7 +1601,7 @@ cy:
         facebook:
           title: Mewngofnodi â Facebook
           alt: Mewngofnodi â Chyfrif Facebook
-        windowslive:
+        microsoft:
           title: Mewngofnodi gyda Microsoft
           alt: Mewngofnodi gyda Chyfrif Microsoft
         github:
@@ -1502,6 +1627,8 @@ cy:
       headings: Penawdau
       heading: Pennawd
       subheading: Is-bennawd
+      first: Eitem gyntaf
+      second: Ail eitem
       link: Dolen
       text: Testun
       image: Delwedd
@@ -1515,14 +1642,18 @@ cy:
       next: Nesaf
       heading_html: '%{copyright}Cyfranwyr %{br} OpenStreetMap'
       local_knowledge_title: Gwybodaeth Leol
+      community_driven_title: Gwaith y Gymuned
       community_driven_osm_blog: Blog OpenStreetMap
       community_driven_user_diaries: dyddiaduron defnyddwyr
       community_driven_community_blogs: blogiau cymunedol
       community_driven_osm_foundation: OSM Foundation
       open_data_title: Data Agored
       open_data_open_data: data agored
+      open_data_copyright_license: Tudalen Hawlfraint a Thrwydded
       legal_title: Cyfreithiol
+      legal_1_1_openstreetmap_foundation: OpenStreetMap Foundation
       legal_1_1_terms_of_use: Telerau Gwasanaeth
+      legal_1_1_aup: Polisïau Defnydd Derbyniol
       legal_1_1_privacy_policy: Polisi Preifatrwydd
       legal_2_1_contact_the_osmf: cysylltwch â'r OSMF
       partners_title: Partneriaid
@@ -1539,12 +1670,34 @@ cy:
       legal_babble:
         title_html: Hawlfraint a Thrwydded
         introduction_1_open_data: data agored
+        introduction_1_osm_foundation: OpenStreetMap Foundation
+        introduction_2_html: |-
+          Rydych yn rhydd i gopïo, dosbarthu, trosglwyddo ac addasu ein data, cyn belled â'ch bod yn cydnabod OpenStreetMap a'i
+          gyfranwyr. Os ydych chi'n newid neu'n adeiladu ar ein data, dim ond o dan yr un drwydded y cewch chi ddosbarthu eich canlyniad. Mae'r %{legal_code_link} llawn yn esbonio eich hawliau a'ch cyfrifoldebau.
         introduction_2_legal_code: cod cyfreithiol
+        introduction_3_html: Mae ein dogfennaeth wedi'i thrwyddedu o dan drwydded
+          %{creative_commons_link} (CC BY-SA 2.0).
+        introduction_3_creative_commons: Creative Commons Attribution-ShareAlike 2.0
         credit_title_html: Sut i gydnabod OpenStreetMap
+        credit_1_html: 'Pan fyddwch yn defnyddio data OpenStreetMap, mae rhaid i chi
+          wneud y ddau beth canlynol:'
+        credit_2_1: Rhoi cydnabyddiaeth i OpenStreetMap trwy arddangos ein hysbysiad
+          hawlfraint.
+        credit_2_2: Gwnewch yn glir bod y data ar gael o dan y Drwydded Cronfa Ddata
+          Agored.
+        credit_3_html: |-
+          Ar gyfer yr hysbysiad hawlfraint, mae gennym ofynion gwahanol o ran sut y dylid ei arddangos, yn dibynnu ar sut rydych yn defnyddio ein data. Er enghraifft, mae rheolau
+          gwahanol yn berthnasol ar sut i ddangos yr hysbysiad hawlfraint yn dibynnu a ydych wedi creu map pori, map printiedig neu ddelwedd statig. Ceir manylion llawn am y gofynion yn y %{attribution_guidelines_link}.
+        credit_3_attribution_guidelines: Canllawiau Priodoli
         credit_4_1_this_copyright_page: y dudalen hawlfraint hon
         attribution_example:
+          alt: Enghraifft o sut i briodoli OpenStreetMap ar dudalen we
           title: Enghraifft o gydnabyddiaeth
         more_title_html: Darganfod rhagor
+        more_1_1_osmf_licence_page: Tudalen Trwydded OSMF
+        more_2_1_api_usage_policy: Polisi Defnydd API
+        more_2_1_tile_usage_policy: Polisi Defnydd Teils
+        more_2_1_nominatim_usage_policy: Polisi Defnydd Nominatim
         contributors_title_html: Ein cyfranwyr
         contributors_at_austria: Awstria
         contributors_at_stadt_wien: Stadt Wien
@@ -1559,19 +1712,24 @@ cy:
         contributors_fr_france: Ffrainc
         contributors_nl_netherlands: Iseldiroedd
         contributors_nz_new_zealand: Seland Newydd
+        contributors_nz_linz_data_service: Gwasanaeth Data LINZ
         contributors_nz_cc_by: CC BY 4.0
         contributors_rs_serbia: Serbia
         contributors_si_slovenia: Slofenia
+        contributors_si_mkgp: Gweinyddiaeth Amaethyddiaeth, Coedwigaeth a Bwyd
         contributors_es_spain: Sbaen
         contributors_es_ign: IGN
         contributors_es_cc_by: CC BY 4.0
         contributors_za_south_africa: De Affrica
+        contributors_gb_credit_html: '%{united_kingdom}: Yn cynnwys data Arolwg Ordnans
+          &copy; Hawlfraint y Goron a chronfa ddata 2010-2023.'
         contributors_gb_united_kingdom: Deyrnas Unedig
         contributors_2_contributors_page: Tudalen gyfranwyr
         infringement_title_html: Torri hawlfraint
         trademarks_title: Nodau Masnach
         trademarks_1_1_trademark_policy: Polisi Nod Masnach
     index:
+      js_2: Mae OpenStreetMap yn defnyddio JavaScript ar gyfer ei fap llithrig.
       permalink: Dolen barhaol
       shortlink: Dolen fer
       createnote: Ychwanegu nodyn
@@ -1594,6 +1752,8 @@ cy:
         advice: 'Os yw''r allforio''n methu, ystyriwch un o''r canlynol:'
         planet:
           title: Planet OSM
+        overpass:
+          title: Overpass API
         other:
           title: Ffynonellau eraill
           description: Ffynonellau ychwanegol a nodir ar wici OpenStreetMap
@@ -1637,6 +1797,7 @@ cy:
         title: switch2osm
       wiki:
         title: Wici OpenStreetMap
+        description: Archwiliwch y wici am ddogfennau manwl OpenStreetMap.
     any_questions:
       title: Unrhyw gwestiynau?
     sidebar:
@@ -1723,10 +1884,30 @@ cy:
           toilets: Toiledau
     welcome:
       title: Croeso!
+      introduction: Croeso i OpenStreetMap, map y byd rhydd ac agored. Nawr eich bod
+        wedi cofrestru, rydych chi'n barod i ddechrau mapio. Dyma ganllaw gyflym gyda'r
+        hyn pwysicaf i wybod cyn ichi ddechrau arni.
       whats_on_the_map:
         title: Beth sydd ar y Map
+        on_the_map_html: Mae OpenStreetMap yn addas i fapio pethau sy'n %{real_and_current}
+          - mae'n cynnwys miliynau o adeiladau, strydoedd, a manylion eraill am lefydd.
+          Gallwch chi fapio unrhyw beth sydd o ddiddordeb ichi.
+        real_and_current: bodoli'n go iawn ac yn gyfoes
+        off_the_map_html: '%{doesnt} cynnwys barn defnyddwyr fel sgoriau, nodweddion
+          hanesyddol neu dybiedig, a data o ffynonellau o dan hawlfraint. Oni bai
+          bod gennych chi ganiatâd arbennig, peidiwch â chopio o fapiau ar-lein neu
+          ar bapur.'
+        doesnt: Nad yw'n
       basic_terms:
         title: Termau syml mapio
+        paragraph_1: Mae gan OpenStreetMap rywfaint o dafodiaith ei hun. Dyma ychydig
+          o eiriau allweddol a fydd yn ddefnyddiol ichi.
+        an_editor_html: Mae %{editor} yn rhaglen neu wefan y gallwch chi ei defnyddio
+          i olygu'r map.
+        a_node_html: Mae %{node} yn bwynt ar y map, fel bwyty neu goeden.
+        a_way_html: Mae %{way} yn llinell neu ardal fel ffordd, nant, llyn neu adeilad.
+        a_tag_html: Mae %{tag} yn cynnwys data am nod neu ffordd, fel enw bwyty neu
+          derfyn cyflymder ffordd.
         editor: golygydd
         node: nod
         way: llwybr
@@ -1753,6 +1934,7 @@ cy:
     trace_optionals:
       tags: Tagiau
     show:
+      pending: I DDOD
       filename: 'Enw ffeil:'
       download: lawrlwytho
       uploaded: 'Uwchlwythwyd:'
@@ -1766,6 +1948,7 @@ cy:
       none: Dim
       visibility: 'Gwelededd:'
     trace:
+      pending: I DDOD
       count_points:
         zero: '%{count} pwynt'
         one: '%{count} pwynt'
@@ -1810,6 +1993,9 @@ cy:
       invalid: Nid yw'r tocyn awdurdodiad yn ddilys.
     revoke:
       flash: Rydych wedi diddymu'r tocyn ar gyfer %{application}.
+    scopes:
+      write_api: Golygu'r map
+      write_notes: Addasu nodiadau
   oauth_clients:
     new:
       title: Cofrestru rhaglen newydd
@@ -1836,6 +2022,7 @@ cy:
       delete: Dileu
       client_id: ID Cleient
       client_secret: Cyfrinach Cleient
+      permissions: Caniatadau
   oauth2_authorizations:
     new:
       authorize: Awdurdodi
@@ -1844,6 +2031,8 @@ cy:
     new:
       title: Cofrestru
       support: cymorth
+      about:
+        header: Rhydd ac agored
       display name description: Eich enw defnyddiwr cyhoeddus. Gallwch newid hyn yn
         nes ymlaen yn eich dewisiadau.
       continue: Cofrestru
@@ -1852,16 +2041,21 @@ cy:
     terms:
       title: Telerau
       heading: Telerau
+      heading_ct: Telerau Cyfranwyr
       consider_pd_why: beth yw hwn?
+      informal_translations: cyfieithiadau anffurfiol
       continue: Parhau
       decline: Gwrthod
       legale_names:
         france: Ffrainc
         italy: Yr Eidal
         rest_of_world: Gweddill y byd
+    terms_declined_flash:
+      terms_declined_link: y dudalen wici hon
     no_such_user:
       title: Dim defnyddiwr o'r fath
       heading: Nid yw'r defnyddiwr %{user} yn bodoli.
+      deleted: wedi'i ddileu
     show:
       my diary: Fy Nyddiadur
       my edits: Fy Ngolygiadau
@@ -1871,6 +2065,8 @@ cy:
       my profile: Fy Mhroffil
       my settings: Fy Ngosodiadau
       my comments: Fy Sylwadau
+      my_preferences: Fy Newisiadau
+      my_dashboard: Fy Nashfwrdd
       blocks on me: Blociau arnaf i
       blocks by me: Blociau gennyf i
       edit_profile: Golygu Proffil
@@ -1882,6 +2078,7 @@ cy:
       remove as friend: Dad-ffrindio
       add as friend: Ychwanegu ffrind
       mapper since: 'Yn mapio ers:'
+      uid: 'ID Defnyddiwr:'
       ct status: 'Telerau cyfrannwr:'
       ct undecided: Heb Benderfynu
       ct declined: Wedi Gwrthod
@@ -1911,17 +2108,67 @@ cy:
       heading: Defnyddwyr
     suspended:
       support: cymorth
+    auth_failure:
+      no_authorization_code: Dim cod awdurdodi
   user_role:
     grant:
       confirm: Cadarnhau
     revoke:
       confirm: Cadarnhau
   user_blocks:
+    not_found:
+      back: Nôl i'r mynegai
+    new:
+      title: Wrthi'n creu bloc ar %{name}
+      heading_html: Wrthi'n creu bloc ar %{name}
+    edit:
+      title: Wrthi'n golygu bloc ar %{name}
+      heading_html: Wrthi'n golygu bloc ar %{name}
     helper:
       time_future_html: Yn dod i ben mewn %{time}.
       time_past_html: Wedi dod i ben %{time} yn ôl.
+      block_duration:
+        hours:
+          zero: '%{count} awr'
+          one: '%{count} awr'
+          two: '%{count} awr'
+          few: '%{count} awr'
+          many: '%{count} awr'
+          other: '%{count} hours'
+        days:
+          zero: '%{count} diwrnod'
+          one: '%{count} diwrnod'
+          two: '%{count} ddiwrnod'
+          few: '%{count} diwrnod'
+          many: '%{count} diwrnod'
+          other: '%{count} diwrnod'
+        weeks:
+          zero: '%{count} wythnos'
+          one: '%{count} wythnos'
+          two: '%{count} wythnos'
+          few: '%{count} wythnos'
+          many: '%{count} wythnos'
+          other: '%{count} wythnos'
+        months:
+          zero: '%{count} mis'
+          one: '%{count} mis'
+          two: '%{count} fis'
+          few: '%{count} mis'
+          many: '%{count} mis'
+          other: '%{count} mis'
+        years:
+          zero: '%{count} blynedd'
+          one: '%{count} blynedd'
+          two: '%{count} flynedd'
+          few: '%{count} blynedd'
+          many: '%{count} blynedd'
+          other: '%{count} blynedd'
     blocks_on:
       title: Blociau ar %{name}
+      heading_html: Rhestr Blociau ar %{name}
+    blocks_by:
+      title: Blociau gan %{name}
+      heading_html: Rhestr Blociau gan %{name}
     show:
       created: 'Crëwyd:'
       duration: 'Cyfnod:'
@@ -1933,13 +2180,18 @@ cy:
       show: Dangos
       edit: Golygu
     blocks:
+      creator_name: Crëwr
+      reason: Rheswm dros flocio
       status: Statws
       showing_page: Tudalen %{page}
       next: Nesaf »
       previous: « Blaenorol
   notes:
     index:
+      heading: Nodiadau %{user}
+      no_notes: Dim nodiadau
       id: Id
+      creator: Crëwr
       description: Disgrifiad
       created_at: Crëwyd am
       last_changed: Newidiwyd ddiwethaf
@@ -1953,7 +2205,12 @@ cy:
       event_opened_by_anonymous_html: Crëwyd gan berson ddienw %{time_ago}
       event_commented_by_html: Sylw gan %{user} %{time_ago}
       event_commented_by_anonymous_html: Sylw gan berson ddienw %{time_ago}
+      event_closed_by_html: Datryswyd gan %{user} %{time_ago}
+      event_closed_by_anonymous_html: Datryswyd gan berson ddienw %{time_ago}
+      event_hidden_by_html: Cuddiwyd gan %{user} %{time_ago}
       report: riportio'r nodyn hwn
+      anonymous_warning: Mae'r nodyn hwn yn cynnwys sylwadau gan ddefnyddwyr dienw
+        y dylid eu gwirio'n annibynnol.
       hide: Cuddio
       resolve: Datrys
       reactivate: Ail-ysgogi
@@ -1977,6 +2234,7 @@ cy:
       scale: 'Graddfa:'
       download: Lawrlwytho
       short_url: URL Byr
+      include_marker: Cynnwys marciwr
     key:
       title: Allwedd Map
       tooltip: Allwedd Map
@@ -1996,6 +2254,8 @@ cy:
         notes: Sylwadau Map
         data: Data Map
         title: Haenau
+      make_a_donation: Rhoi arian
+      website_and_api_terms: Telerau'r gwefan ac API
     site:
       edit_tooltip: Golygu'r map
       edit_disabled_tooltip: Chwyddwch mewn i olygu'r map
@@ -2024,6 +2284,11 @@ cy:
       distance_m: '%{distance}m'
       distance_km: '%{distance}km'
       instructions:
+        continue_without_exit: Parhau ar %{name}
+        slight_right_without_exit: Ychydig i'r dde i %{name}
+        offramp_right: Cymerwch y ramp ar y dde
+        offramp_right_with_exit: Cymerwch allanfa %{exit} ar y dde
+        offramp_right_with_exit_name: Cymerwch allanfa %{exit} ar y dde i %{name}
         exit_counts:
           first: 1af
           second: 2il
index 502577aff03d5e24968495bd71fe894ac0b412fd..426d6a7e6fd127b2a59d4c18f77a4856afe9080f 100644 (file)
@@ -1884,7 +1884,7 @@ da:
         facebook:
           title: Log på med Facebook
           alt: Log på med en Facebook-konto
-        windowslive:
+        microsoft:
           title: Log på med Windows Live
           alt: Log på med en Windows Live-konto
         github:
index 0990c3d6d67e24959ee0dee5f721fa0f1107655e..8eff4d8060cf3ff18d94a714780295941082870a 100644 (file)
@@ -316,6 +316,7 @@ de:
       openid: OpenID
       google: Google
       facebook: Facebook
+      microsoft: Microsoft
       github: GitHub
       wikipedia: Wikipedia
   api:
@@ -331,6 +332,8 @@ de:
         reopened_at_by_html: '%{when} von %{user} reaktiviert'
       rss:
         title: OpenStreetMap-Hinweise
+        description_all: Eine Liste der gemeldeten, kommentierten oder geschlossenen
+          Notizen
         description_area: Übersicht der gemeldeten, kommentierten oder geschlossen
           Hinweise im Bereich [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})].
         description_item: Ein RSS-Feed für Hinweis %{id}
@@ -1946,6 +1949,9 @@ de:
       home location: Heimatstandort
       no home location: Du hast noch keinen Standort angegeben.
       update home location on click: Standort beim Klick auf die Karte aktualisieren
+      show: Anzeigen
+      delete: Löschen
+      undelete: Löschen rückgängig machen
     update:
       success: Profil aktualisiert.
       failure: Profil konnte nicht aktualisiert werden.
@@ -1974,7 +1980,7 @@ de:
         facebook:
           title: Mit Facebook anmelden
           alt: Mit einem Facebook-Konto anmelden
-        windowslive:
+        microsoft:
           title: Mit Microsoft anmelden
           alt: Mit einem Microsoft-Konto anmelden
         github:
@@ -2448,6 +2454,7 @@ de:
           fehlt, dich einzuarbeiten, wie man in OSM Daten editiert, so gib einfach
           einen Hinweis/melde einen Fehler, dann kann sich ein anderer Mapper darum
           kümmern.
+        the_map: die Karte
     communities:
       title: Gemeinschaften
       lede_text: |-
@@ -2459,13 +2466,14 @@ de:
         about_text: Lokale Verbände sind Gruppen auf Landesebene oder Regionsebene,
           die den formellen Schritt unternommen haben, einen gemeinnützigen Rechtskörper
           zu gründen. Sie repräsentieren die Karte und Kartographen der Region, wenn
-          Sie mit der örtlichen Regierung, Wirtschaft oder den Medien zu tun haben.
+          sie mit der örtlichen Regierung, Wirtschaft oder den Medien zu tun haben.
           Sie haben auch eine Zusammengehörigkeit mit der OpenStreetMap Foundation
           (OSMF) gebildet, was ihnen eine Verbindung zu der Rechts- und Urheberrechtsabteilung
           gibt.
         list_text: 'Folgende Gemeinschaften sind offiziell als lokale Verbände eingetragen:'
       other_groups:
         title: Andere Gruppen
+        communities_wiki: Community-Wiki-Seite
   traces:
     visibility:
       private: Privat (werden nur als anonyme, unsortierte Punkte ohne Zeitangaben
@@ -2552,6 +2560,7 @@ de:
       empty_title: Noch nichts vorhanden
       empty_upload_html: '%{upload_link} oder erfahren Sie mehr über GPS-Tracks auf
         der %{wiki_link}.'
+      upload_new: Einen neuen Track hochladen
       wiki_page: Wiki-Seite
       upload_trace: Lade einen Track hoch
       all_traces: Alle Tracks
@@ -2820,6 +2829,7 @@ de:
       remove as friend: Freund entfernen
       add as friend: Freund hinzufügen
       mapper since: 'Mapper seit:'
+      uid: 'Benutzer-ID:'
       ct status: 'Bedingungen für Mitwirkende:'
       ct undecided: Unentschlossen
       ct declined: Abgelehnt
@@ -3020,7 +3030,9 @@ de:
     index:
       title: Hinweise/Fehler erstellt oder kommentiert von %{user}
       heading: Hinweise von %{user}
-      subheading_html: Hinweise/Fehler erstellt oder kommentiert von %{user}
+      subheading_html: Hinweise/Fehler %{submitted} oder %{commented} von %{user}
+      subheading_submitted: eingereicht
+      subheading_commented: kommentiert
       no_notes: Keine Hinweise
       id: ID
       creator: Ersteller
index 4d9b62c5941ee5e98a771bb896ab210f44469d93..7b2c93fde5e92824a2430eaebbd6df25ad7b74bd 100644 (file)
@@ -172,7 +172,7 @@ el:
       user:
         auth_provider: Πάροχος αυθεντικοποίησης
         auth_uid: UID αυθεντικοποίησης
-        email: Î\97λεκÏ\84Ï\81ονικÏ\8c Ï\84αÏ\87Ï\85δÏ\81ομείο
+        email: Î\94ιεÏ\8dθÏ\85νÏ\83η Î·Î»ÎµÎºÏ\84Ï\81ονικοÏ\8d Ï\84αÏ\87Ï\85δÏ\81ομείοÏ\85
         email_confirmation: Επιβεβαίωση διεύθυνσης email
         new_email: Νέα διεύθυνση email
         active: Ενεργό
@@ -254,6 +254,7 @@ el:
       openid: OpenID
       google: Google
       facebook: Facebook
+      microsoft: Microsoft
       github: GitHub
       wikipedia: Βικιπαίδεια
   api:
@@ -269,6 +270,7 @@ el:
         reopened_at_by_html: Επανενεργοποιήθηκε %{when} από τον %{user}
       rss:
         title: Σημειώσεις OpenStreetMap
+        description_all: Μια λίστα με αναφερόμενες, σχολιασμένες ή κλειστές σημειώσεις
         description_area: Μια λίστα με σημειώσεις, που αναφέρθηκαν, σχολιάστηκαν ή
           επιλύθηκαν στην περιοχή σας [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]
         description_item: Μια τροφοδοσία rss για τη σημείωση %{id}
@@ -335,6 +337,10 @@ el:
       delete_account: Διαγραφή λογαριασμού...
     go_public:
       heading: Δημόσια επεξεργασία
+      currently_not_public: Προς το παρόν, οι αλλαγές σας είναι ανώνυμες και οι άνθρωποι
+        δεν μπορούν να σας στείλουν μηνύματα ή να δουν την τοποθεσία σας. Για να δείξετε
+        τι επεξεργαστήκατε και να επιτρέψετε στους άλλους να επικοινωνήσουν μαζί σας
+        μέσω του ιστότοπου, κάντε κλικ στο παρακάτω κουμπί.
       only_public_can_edit: Από την αλλαγή του API 0.6, μόνο οι δημόσιοι χρήστες μπορούν
         να επεξεργάζονται τα δεδομένα χάρτη.
       find_out_why: μάθετε γιατί
@@ -577,9 +583,9 @@ el:
       comment_link: Σχολιάστε την καταχώρηση
       reply_link: Αποστολή μηνύματος στον συγγραφέα
       comment_count:
-        zero: Χωρίς σχόλια
         one: '%{count} σχόλιο'
         other: '%{count} σχόλια'
+      no_comments: Κανένα σχόλιο
       edit_link: Επεξεργασία καταχώρησης
       hide_link: Απόκρυψη καταχώρησης
       unhide_link: Επανεμφάνιση καταχώρησης
@@ -941,7 +947,7 @@ el:
           street_lamp: Λάμπα δρόμου
           tertiary: Τριτεύων δρόμος
           tertiary_link: Τριτεύων δρόμος
-          track: Î§Ï\89μαÏ\84Ï\8cδÏ\81ομος
+          track: Î\91γÏ\81οÏ\84ικÏ\8cÏ\82 / Î\94αÏ\83ικÏ\8cÏ\82 Î´Ï\81Ï\8cμος
           traffic_mirror: Καθρέφτης κυκλοφορίας
           traffic_signals: Σήματα κυκλοφορίας
           trailhead: Άκρη μονοπατιού
@@ -1463,9 +1469,9 @@ el:
     show:
       title: '%{status} Ζήτημα #%{issue_id}'
       reports:
-        zero: Καμία αναφορά
-        one: 1 αναφορά
+        one: '%{count} αναφορά'
         other: '%{count} αναφορές'
+      no_reports: Καμία αναφορά
       report_created_at: Αναφέρθηκε για πρώτη φορά στις %{datetime}
       last_resolved_at: Επιλύθηκε για τελευταία φορά στις %{datetime}
       last_updated_at: Ενημερώθηκε για τελευταία φορά στις %{datetime} από τον %{displayname}
@@ -1537,7 +1543,7 @@ el:
   layouts:
     logo:
       alt_text: Λογότυπο OpenStreetMap
-    home: Î\9cεÏ\84άβαÏ\83η Ï\83Ï\84ο Î£Ï\80ίÏ\84ι
+    home: Î\94είξε Ï\84ο Ï\83Ï\80ίÏ\84ι Î¼Î¿Ï\85
     logout: Αποσύνδεση
     log_in: Σύνδεση
     sign_up: Εγγραφή
@@ -1873,10 +1879,13 @@ el:
       delete image: Αφαίρεση της τρέχουσας εικόνας
       replace image: Αντικατάσταση της τρέχουσας εικόνας
       image size hint: (τετράγωνες εικόνες τουλάχιστον 100 x 100 λειτουργούν καλύτερα)
-      home location: Τοποθεσία Σπιτιού
+      home location: Τοποθεσία σπιτιού
       no home location: Δεν έχετε εισάγει την τοποθεσία του σπιτιού σας.
       update home location on click: Ενημέρωση τοποθεσίας σπιτιού όταν κάνω κλικ στον
         χάρτη;
+      show: Εμφάνιση
+      delete: Διαγραφή
+      undelete: Αναίρεση διαγραφής
     update:
       success: Το προφίλ ενημερώθηκε.
       failure: Δεν μπόρεσε να ενημερωθεί το προφίλ.
@@ -1905,7 +1914,7 @@ el:
         facebook:
           title: Σύνδεση με το Facebook
           alt: Σύνδεση με έναν Λογαριασμό Facebook
-        windowslive:
+        microsoft:
           title: Σύνδεση μέσω της Microsoft
           alt: Σύνδεση με ένα Λογαριασμό Microsoft
         github:
@@ -1962,18 +1971,31 @@ el:
         χρησιμοποιούν αεροφωτογραφίες, συσκευές GPS και τοπικούς χάρτες χαμηλής τεχνολογίας
         για να σιγουρευτούν πως το OSM είναι ακριβής και ενημερωμένο.
       community_driven_title: Βασίζεται στην κοινότητα
+      community_driven_1_html: |-
+        Η κοινότητα του OpenStreetMap είναι ποικίλη, παθιασμένη και αυξάνεται καθημερινά.
+        Οι συνεισφέροντες μας, περιλαμβάνουν ενθουσιώδεις χαρτογράφους, επαγγελματίες GIS, μηχανικούς
+        που τρέχουν τους διακομιστές OSM, ανθρωπιστές που χαρτογραφούν περιοχές που έχουν πληγεί από καταστροφές,
+        και πολλά άλλα.
+        Για να μάθετε περισσότερα σχετικά με την κοινότητα, δείτε στον ιστότοπο %{osm_blog_link}, %{user_diaries_link}, %{community_blogs_link} και στο %{osm_foundation_link}.
       community_driven_osm_blog: Ιστολόγιο OpenStreetMap
       community_driven_user_diaries: ημερολόγια χρηστών
       community_driven_community_blogs: ιστολόγια κοινότητας
       community_driven_osm_foundation: Ίδρυμα OSM
       open_data_title: Ανοικτά Δεδομένα
+      open_data_1_html: 'Το OpenStreetMap είναι %{open_data}: είστε ελεύθεροι να την
+        χρησιμοποιήστε για οποιονδήποτε σκοπό, εφόσον μνημονεύετε το OpenStreetMap
+        και τους συνεισφέροντές του. Εάν προσαρμόσετε ή αξιοποιήσετε αυτά τα δεδομένα
+        με συγκεκριμένους τρόπους, πρέπει να διανείμετε το αποτέλεσμα μόνο υπό την
+        ίδια άδεια χρήσης. Δείτε τη σελίδα %{copyright_license_link} για λεπτομέρειες.'
       open_data_open_data: ανοιχτά δεδομένα
+      open_data_copyright_license: Σελίδα Πνευματικών Δικαιωμάτων και Άδειας Χρήσης
       legal_title: Νομικό
       legal_1_1_openstreetmap_foundation: Ίδρυμα OpenStreetMap
       legal_1_1_terms_of_use: Όροι Χρήσης
       legal_1_1_aup: Αποδεκτές Πολιτικές Χρήσης
       legal_1_1_privacy_policy: Πολιτική Απορρήτου
       legal_2_1_contact_the_osmf: επικοινωνήστε με το OSMF
+      legal_2_2_registered_trademarks: εγγεγραμμένα εμπορικά σήματα του OSMF
       partners_title: Συνεργάτες
     copyright:
       foreign:
@@ -1993,13 +2015,18 @@ el:
         introduction_1_open_data: ανοιχτά δεδομένα
         introduction_1_osm_foundation: Ίδρυμα OpenStreetMap
         introduction_2_legal_code: νομικός κώδικας
+        introduction_3_creative_commons: Creative Commons Αναφορά Δημιουργού-Παρόμοια
+          Διανομή 2.0
         credit_title_html: Πως να κάνετε αναφορά στο OpenStreetMap
         credit_1_html: 'Όπου χρησιμοποιήσετε δεδομένα του OpenStreetMap, χρειάζεται
           από σας να κάνετε τα παρακάτω πράγματα:'
+        credit_3_attribution_guidelines: Οδηγίες Αναφοράς
+        credit_4_1_this_copyright_page: αυτή τη σελίδα πνευματικών δικαιωμάτων
         attribution_example:
           alt: Παράδειγμα του πως αναφέρεται το OpenStreetMap σε μια ιστοσελίδα
           title: Παράδειγμα αναφοράς δημιουργού
         more_title_html: Μαθαίνοντας περισσότερα
+        more_1_1_osmf_licence_page: Σελίδα Άδειας Χρήσης OSMF
         more_2_1_api_usage_policy: Πολιτική Χρήσης API
         more_2_1_tile_usage_policy: Πολιτική Χρήσης Πλακιδίων
         more_2_1_nominatim_usage_policy: Πολιτική Χρήσης Nominatim
@@ -2008,8 +2035,12 @@ el:
           έχουμε περιλάβει δεδομένα ανοικτής άδειας από εθνικές υπηρεσίες χαρτογράφησης
           και άλλες πηγές, μεταξύ αυτών:'
         contributors_at_austria: Αυστρία
+        contributors_at_stadt_wien: Stadt Wien
         contributors_at_cc_by: CC BY
+        contributors_at_land_vorarlberg: Land Vorarlberg
+        contributors_at_cc_by_at_with_amendments: CC BY AT με τροποποιήσεις
         contributors_au_australia: Αυστραλία
+        contributors_au_geoscape_australia: Geoscape Australia
         contributors_ca_canada: Καναδάς
         contributors_fi_finland: Φινλανδία
         contributors_fi_nlsfi_license: Άδεια NLSFI
@@ -2024,7 +2055,11 @@ el:
         contributors_rs_serbia: Σερβία
         contributors_rs_rgz: Σερβική Γεωδαιτική Αρχή
         contributors_rs_open_data_portal: Εθνική Πύλη Ανοικτών Δεδομένων
+        contributors_si_credit_html: |-
+          %{slovenia}: Περιέχει δεδομένα από την %{gu_link} και το %{mkgp_link}
+          (δημόσιες πληροφορίες της Σλοβενίας).
         contributors_si_slovenia: Σλοβενία
+        contributors_si_gu: Αρχή Χωρομέτρησης και Χαρτογράφησης
         contributors_si_mkgp: Υπουργείο Γεωργίας, Δασών και Τροφίμων
         contributors_es_spain: Ισπανία
         contributors_es_ign: IGN
@@ -2039,6 +2074,8 @@ el:
         infringement_1_html: Υπενθυμίζουμε στους συνεισφέροντες του OSM να μην προσθέτουν
           δεδομένα από πηγές με πνευματικά δικαιώματα (π.χ. Google Maps η έντυπους
           χάρτες) χωρίς την προηγούμενη άδεια από τους ιδιοκτήτες των δικαιωμάτων.
+        trademarks_title: Εμπορικά σήματα
+        trademarks_1_1_trademark_policy: Πολιτική Εμπορικών Σημάτων
     index:
       js_1: Είτε χρησιμοποιείτε πρόγραμμα περιήγησης που δεν υποστηρίζει JavaScript
         ή έχετε απενεργοποιήσει την JavaScript.
@@ -2122,6 +2159,8 @@ el:
             στην αποθήκευση και άλλοι χαρτογράφοι θα το ερευνήσουν.
       other_concerns:
         title: Άλλες ανησυχίες
+        copyright: σελίδα πνευματικών δικαιωμάτων
+        working_group: Ομάδα εργασίας OSMF
     help:
       title: Βοήθεια
       introduction: Το OpenStreetMap έχει πολλαπλούς πόρους για να μάθετε για το εγχείρημα,
@@ -2202,7 +2241,7 @@ el:
           primary: Κύρια Οδός
           secondary: Δευτερεύουσα Οδός
           unclassified: Αταξινόμητη Οδός
-          track: Î§Ï\89μαÏ\84Ï\8cδÏ\81ομος
+          track: Î\91γÏ\81οÏ\84ικÏ\8cÏ\82 / Î\94αÏ\83ικÏ\8cÏ\82 Î´Ï\81Ï\8cμος
           bridleway: Μονοπάτι για Άλογα
           cycleway: Ποδηλατόδρομος
           cycleway_national: Εθνικός ποδηλατόδρομος
@@ -2679,7 +2718,7 @@ el:
       diary: Ημερολόγιο
       edits: Επεξεργασίες
       traces: Ίχνη
-      notes: Σημειώσεις Χάρτη
+      notes: Σημειώσεις χάρτη
       remove as friend: Αφαίρεση Φίλου
       add as friend: Προσθήκη Φίλου
       mapper since: 'Χαρτογράφος από:'
@@ -2842,12 +2881,12 @@ el:
       heading_html: Κατάλογος φραγών στον %{name}
       empty: Ο %{name} δεν έχει φραχτεί ακόμα.
     blocks_by:
-      title: Φραγές από τον %{name}
-      heading_html: Κατάλογος φραγών από τον %{name}
-      empty: Ο %{name} δεν έχει κάνει φραγή ακόμα.
+      title: Φραγές από %{name}
+      heading_html: Κατάλογος φραγών από %{name}
+      empty: Ο %{name} δεν έχει κάνει φραγή ακόμα.
     show:
-      title: Ο %{block_on} έχει φραχτεί από τον %{block_by}
-      heading_html: Ο %{block_on} έχει φραχτεί από τον %{block_by}
+      title: Ο/Η %{block_on} έχει φραχτεί από τον/την %{block_by}
+      heading_html: Ο/Η %{block_on} έχει φραχτεί από τον/την %{block_by}
       created: 'Δημιουργήθηκε:'
       duration: 'Διάρκεια:'
       status: 'Κατάσταση:'
@@ -2877,7 +2916,7 @@ el:
     index:
       title: Σημειώσεις που υποβλήθηκαν ή σχολιάστηκαν από τον %{user}
       heading: σημειώσεις του %{user}
-      subheading_html: Σημειώσεις που υποβλήθηκαν ή σχολιάστηκαν από τον %{user}
+      subheading_html: Σημειώσεις που %{submitted} ή %{commented} από τον %{user}
       no_notes: Χωρίς σημειώσεις
       id: Αναγνωριστικό
       creator: Δημιουργός
@@ -2956,7 +2995,7 @@ el:
         in: Μεγέθυνση
         out: Σμίκρυνση
       locate:
-        title: Προβολή της Τοποθεσίας μου
+        title: Προβολή της τοποθεσίας μου
         metersPopup:
           one: Είστε εντός %{count} μέτρου από το σημείο
           other: Είστε εντός %{count} μέτρων από το σημείο
@@ -2965,18 +3004,18 @@ el:
           other: Είστε εντός %{count} ποδιών από το σημείο
       base:
         standard: Κανονικός
-        cyclosm: CyclOSM
-        cycle_map: Î§Î¬Ï\81Ï\84ηÏ\82 Î Î¿Î´Î·Î»Î±Ï\83ίαÏ\82
-        transport_map: Î£Ï\85γκοινÏ\89νιακÏ\8cÏ\82 Î§Î¬Ï\81Ï\84ηÏ\82
+        cyclosm: CyclOSM ποδηλασία
+        cycle_map: Î Î¿Î´Î·Î»Î±Ï\83ία
+        transport_map: Î£Ï\85γκοινÏ\89νία
         hot: Ανθρωπιστικός
-        opnvkarte: ÖPNVKarte
+        opnvkarte: ÖPNVKarte συγκοινωνίες
       layers:
-        header: Στρώματα Χάρτη
-        notes: Σημειώσεις Χάρτη
-        data: Δεδομένα Χάρτη
+        header: Στρώματα
+        notes: Σημειώσεις χάρτη
+        data: Δεδομένα χάρτη
         gps: Δημόσια ίχνη GPS
         overlays: Ενεργοποίηση επικαλύψεων για την αντιμετώπιση προβλημάτων του χάρτη
-        title: Στρώματα
+        title: Στρώματα χάρτη
       openstreetmap_contributors: Συνεισφέροντες OpenStreetMap
       make_a_donation: Κάντε μια δωρεά
       website_and_api_terms: Όροι ιστότοπου και API
index b192b0528a1d67333d5bcec79e545b1b3e992df2..3fbb69c26d3ddad7a9b6f5a95d2efe1c60210345 100644 (file)
@@ -1383,7 +1383,7 @@ en-GB:
         facebook:
           title: Login with Facebook
           alt: Login with a Facebook Account
-        windowslive:
+        microsoft:
           title: Login with Windows Live
           alt: Login with a Windows Live Account
         github:
index 7635c483dd94534f647a174f68b69fcb8ea6dca8..530dad2079f530f8134ee38cd37a020e68baafeb 100644 (file)
@@ -212,7 +212,7 @@ en:
       openid: OpenID
       google: Google
       facebook: Facebook
-      windowslive: Microsoft
+      microsoft: Microsoft
       github: GitHub
       wikipedia: Wikipedia
   api:
@@ -228,6 +228,7 @@ en:
         reopened_at_by_html: "Reactivated %{when} by %{user}"
       rss:
         title: "OpenStreetMap Notes"
+        description_all: "A list of reported, commented on or closed notes"
         description_area: "A list of notes, reported, commented on or closed in your area [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]"
         description_item: "An rss feed for note %{id}"
         opened: "new note (near %{place})"
@@ -1785,7 +1786,7 @@ en:
         facebook:
           title: Login with Facebook
           alt: Login with a Facebook Account
-        windowslive:
+        microsoft:
           title: Login with Microsoft
           alt: Login with a Microsoft Account
         github:
@@ -2696,6 +2697,7 @@ en:
       remove as friend: Unfriend
       add as friend: Add Friend
       mapper since: "Mapper since:"
+      uid: "User id:"
       ct status: "Contributor terms:"
       ct undecided: Undecided
       ct declined: Declined
@@ -2964,6 +2966,7 @@ en:
         cyclosm: CyclOSM
         cycle_map: Cycle Map
         transport_map: Transport Map
+        tracestracktop_topo: Tracestrack Topo
         hot: Humanitarian
         opnvkarte: ÖPNVKarte
       layers:
@@ -2984,6 +2987,8 @@ en:
       andy_allan: Andy Allan
       opnvkarte_credit: "Tiles courtesy of %{memomaps_link}"
       memomaps: MeMoMaps
+      tracestrack_credit: "Tiles courtesy of %{tracestrack_link}"
+      tracestrack: Tracestrack
       hotosm_credit: "Tiles style by %{hotosm_link} hosted by %{osm_france_link}"
       hotosm_name: Humanitarian OpenStreetMap Team
     site:
index 88bf0a112a7acdf7ca3a807608be9729dfd99bfd..ed291ca35ab114fdc1e7c1fd822752f3dbf6475d 100644 (file)
@@ -235,6 +235,7 @@ eo:
       openid: OpenID
       google: Google
       facebook: Facebook
+      microsoft: Microsoft
       github: GitHub
       wikipedia: Vikipedio
   api:
@@ -250,6 +251,7 @@ eo:
         reopened_at_by_html: Remalfermita %{when} de %{user}
       rss:
         title: OpenStreetMap-rimarkoj
+        description_all: Listo de raportitaj, komentitaj aŭ fermitaj rimarkoj
         description_area: Listo de rimarkoj raportitaj, komentitaj aŭ fermitaj en
           via najbaraĵo [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]
         description_item: RSS-fluo por rimarko %{id}
@@ -1830,6 +1832,9 @@ eo:
       no home location: Vi ne enigis vian hejmlokon.
       update home location on click: Ĉu freŝigi la hejmlokon kiam mi alklakas sur
         la mapo?
+      show: Montri
+      delete: Forigi
+      undelete: Malforigi
     update:
       success: Aktualigis profilon.
       failure: Ne povis aktualigi la profilon.
@@ -1858,7 +1863,7 @@ eo:
         facebook:
           title: Ensaluti per Fejsbuko
           alt: Ensaluti per konto je Fejsbuko
-        windowslive:
+        microsoft:
           title: Ensaluti per Microsoft
           alt: Ensaluti per konto Microsoft
         github:
@@ -2730,6 +2735,7 @@ eo:
       remove as friend: Eksamikigi
       add as friend: Aldoni kiel amikon
       mapper since: 'Mapigisto ekde:'
+      uid: 'Identigilo de uzanto:'
       ct status: 'Interkonsento pri kontribuado:'
       ct undecided: ne decidita
       ct declined: malakceptita
@@ -2915,7 +2921,9 @@ eo:
     index:
       title: Rimarkoj kreitaj aŭ komentitaj de %{user}
       heading: Rimarkoj de %{user}
-      subheading_html: Rimarkoj kreitaj aŭ komentitaj de %{user}
+      subheading_html: Rimarkoj %{submitted} aŭ %{commented} de %{user}
+      subheading_submitted: kreitaj
+      subheading_commented: komentitaj
       no_notes: Neniu rimarko
       id: Identigilo
       creator: Aŭtoro
index 966991f1186c8384cb5daf91bb80ba96ab357806..3fe57337bcaf4fe1d63a3c7974be86c037660dcb 100644 (file)
@@ -11,6 +11,7 @@
 # Author: Angoca
 # Author: AnupamM
 # Author: Armando-Martin
+# Author: Atzerritik
 # Author: BnSrSa
 # Author: Carlosmg.dg
 # Author: Carlosz22
@@ -68,6 +69,7 @@
 # Author: Nancystodd
 # Author: Nelthal
 # Author: Nemo bis
+# Author: No se
 # Author: Nunte
 # Author: Ovruni
 # Author: Pantareje
@@ -138,7 +140,7 @@ es:
       diary_comment: Comentario de diario
       diary_entry: Entrada de diario
       friend: Amigo
-      issue: Problema
+      issue: Incidencia
       language: Idioma
       message: Mensaje
       node: Nodo
@@ -171,11 +173,11 @@ es:
         url: URL de la aplicación principal (obligatorio)
         callback_url: URL de devolución de llamada
         support_url: URL de asistencia
-        allow_read_prefs: leer tus preferencias de usuario
-        allow_write_prefs: modificar tus preferencias de usuario
+        allow_read_prefs: leer sus preferencias de usuario
+        allow_write_prefs: modificar sus preferencias de usuario
         allow_write_diary: crear entradas de diario, comentarios y hacer amigos
         allow_write_api: modificar el mapa
-        allow_read_gpx: leer tus trazas de GPS privadas
+        allow_read_gpx: leer sus trazas de GPS privadas
         allow_write_gpx: cargar trazas de GPS
         allow_write_notes: modificar notas
       diary_comment:
@@ -216,7 +218,7 @@ es:
         title: Título
         description: Descripción
       report:
-        category: Seleccione el motivo de tu denuncia
+        category: Selecciona el motivo de tu denuncia
         details: Es necesario proporcionar más detalles sobre el problema (requerido).
       user:
         auth_provider: Proveedor de autentificación
@@ -304,7 +306,7 @@ es:
       openid: OpenID
       google: Google
       facebook: Facebook
-      windowslive: Microsoft
+      microsoft: Microsoft
       github: GitHub
       wikipedia: Wikipedia
   api:
@@ -320,6 +322,7 @@ es:
         reopened_at_by_html: Reactivado %{when} por %{user}
       rss:
         title: Notas de OpenStreetMap
+        description_all: Una lista de notas denunciadas, comentadas o cerradas.
         description_area: Una lista de notas, informadas, comentadas o cerradas en
           tu área [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]
         description_item: Un suministro RSS para notas %{id}
@@ -354,7 +357,7 @@ es:
         retain_changeset_discussions: Tus discusiones sobre conjuntos de cambios,
           si las hay, se conservarán.
         retain_email: Tu dirección de correo electrónico se conservará.
-        confirm_delete: ¿Lo confirma?
+        confirm_delete: ¿Estás seguro?
         cancel: Cancelar
   accounts:
     edit:
@@ -399,7 +402,7 @@ es:
         pública.
       not_reversible: Esta acción no se puede revertir y todos los nuevos usuarios
         son ahora públicos de forma predeterminada.
-      make_edits_public_button: Hacer todas mis ediciones públicas
+      make_edits_public_button: Hacer que todas mis ediciones sean públicas
     update:
       success_confirm_needed: La información del usuario se ha actualizado correctamente.
         Comprueba tu correo electrónico para ver un mensaje sobre cómo confirmar tu
@@ -626,7 +629,7 @@ es:
       login: Iniciar sesión
     no_such_entry:
       title: No existe esta entrada de diario
-      heading: No hay ninguna entrada con el identificador %{id}
+      heading: No hay ninguna entrada con el identificador "%{id}"
       body: No hay alguna entrada de diario o comentario con el identificador %{id}.
         Revisa la ortografía, o tal vez el enlace en el que hiciste clic es incorrecto.
     diary_entry:
@@ -683,8 +686,8 @@ es:
     contact:
       contact_url: https://wiki.openstreetmap.org/wiki/ES:Canales_de_contacto
       contact_url_title: Varios canales de contacto explicados
-      contact: contacto
-      contact_the_community_html: Siéntete libre de %{contact_link} a la comunidad
+      contact: contactar
+      contact_the_community_html: Siéntete libre de %{contact_link} con la comunidad
         de OpenStreetMap si has encontrado un enlace roto o un error. Toma nota de
         la URL exacta de tu solicitud.
     forbidden:
@@ -757,7 +760,7 @@ es:
           bar: Bar
           bbq: Parrilla
           bench: Banca
-          bicycle_parking: Aparcamiento de bibicletas
+          bicycle_parking: Estacionamiento de bicicletas
           bicycle_rental: Alquiler de bicicletas
           bicycle_repair_station: Estación de reparación de bicicletas
           biergarten: Patio cervecero
@@ -1422,7 +1425,7 @@ es:
           tattoo: Estudio de tatuajes
           tea: Tienda de té
           ticket: Tienda de Tickets
-          tobacco: Tabaquería
+          tobacco: Tabaquería. Estanco
           toys: Juguetería
           travel_agency: Agencia de viajes
           tyres: Tienda de neumáticos
@@ -1458,7 +1461,7 @@ es:
           zoo: Zoológico
         tunnel:
           building_passage: Pasaje de edificio
-          culvert: Drenaje
+          culvert: Alcantarilla
           "yes": Túnel
         waterway:
           artificial: Vía fluvial artificial
@@ -1567,8 +1570,8 @@ es:
         intro: 'Antes de enviar tu denuncia a los moderadores del sitio, asegúrate
           de que:'
         not_just_mistake: Está seguro de que el problema no es sólo un error
-        unable_to_fix: No puedes corregir el problema tu mismo o con la ayuda de otros
-          miembros de la comunidad.
+        unable_to_fix: No puedes corregir el problema tú mismo o con la ayuda de otros
+          miembros de la comunidad
         resolve_with_user: Ya has intentado resolver el problema con el usuario en
           cuestión.
       categories:
@@ -1672,7 +1675,7 @@ es:
       hi: Hola %{to_user},
       subject: '[OpenStreetMap] %{user} te ha añadido como amigo'
       had_added_you: '%{user} te ha añadido como amigo en OpenStreetMap'
-      see_their_profile: Puedes ver tu perfil en %{userurl}.
+      see_their_profile: Puedes ver su perfil en %{userurl}.
       see_their_profile_html: Puedes ver su perfil en %{userurl}.
       befriend_them: También puedes añadirlo como amigo en %{befriendurl}.
       befriend_them_html: También puedes añadirlo como amigo en %{befriendurl}.
@@ -1714,8 +1717,8 @@ es:
       greeting: Hola,
       hopefully_you: Alguien (posiblemente tu) ha solicitado que se restablezca la
         contraseña de la cuenta en openstreetmap.org de esta dirección de correo electrónico.
-      click_the_link: Si eres tú, haga clic en el enlace a continuación para restablecer
-        tu contraseña.
+      click_the_link: Si este eres tú, por favor, haz clic en el enlace siguiente
+        para restablecer tu contraseña.
     note_comment_notification:
       anonymous: Un usuario anónimo
       greeting: Hola,
@@ -1740,7 +1743,7 @@ es:
         commented_note: '%{commenter} ha resuelto una nota de mapa que has comentado.
           La nota está cerca de %{place}.'
         commented_note_html: '%{commenter} ha resuelto una nota del mapa en la que
-          tu ha comentado. La nota está cerca de %{place}.'
+          tú has comentado. La nota está cerca de %{place}.'
       reopened:
         subject_own: '[OpenStreetMap] %{commenter} ha reactivado una de tus notas'
         subject_other: '[OpenStreetMap] %{commenter} ha reactivado una nota que te
@@ -1780,7 +1783,7 @@ es:
       unsubscribe: Para cancelar la suscripción a las actualizaciones de este conjunto
         de cambios, visita %{url} y haz clic en "Cancelar suscripción".
       unsubscribe_html: Para darte de baja de las actualizaciones de este conjunto
-        de cambios, visita %{url} y haz clic en "Cancelas subscripción".
+        de cambios, visita %{url} y haz clic en "Cancelar suscripción".
   confirmations:
     confirm:
       heading: ¡Revisa tu correo electrónico!
@@ -1792,8 +1795,8 @@ es:
       success: Cuenta confirmada, !gracias por registrarte!
       already active: Esta cuenta ya ha sido confirmada.
       unknown token: Ese código de confirmación ha caducado o no existe.
-      resend_html: Si necesita que le reenviemos el mensaje de confirmación, %{reconfirm_link}.
-      click_here: pulse aquí
+      resend_html: Si necesitas que te reenviemos el mensaje de confirmación, %{reconfirm_link}.
+      click_here: has clic aquí
     confirm_resend:
       failure: No se ha encontrado el usuario %{name}
     confirm_email:
@@ -1884,10 +1887,12 @@ es:
       heading: ¿Contraseña olvidada?
       email address: 'Dirección de correo electrónico:'
       new password button: Restablecer contraseña
-      help_text: Escribe el correo electrónico con el que se registró. Te enviaremos
-        un enlace a esa dirección, que podrás utilizar para restablecer su contraseña.
+      help_text: Escribe la dirección de correo electrónico con la que te registraste,
+        te enviaremos un enlace a esa dirección que podrás utilizar para restablecer
+        tu contraseña.
       notice email on way: Sentimos que la hayas perdido :-( pero ya va de camino
-        un correo electrónico que te servirá para restablecer su contraseña enseguida.
+        un mensaje de correo electrónico que te servirá para restablecer tu contraseña
+        enseguida.
       notice email cannot find: Lo sentimos, no se pudo encontrar esa dirección de
         correo electrónico.
     reset_password:
@@ -1932,6 +1937,9 @@ es:
       no home location: No has introducido tu ubicación de casa.
       update home location on click: ¿Actualizar tu lugar de origen cuando hagas clic
         sobre el mapa?
+      show: Mostrar
+      delete: Eliminar
+      undelete: Deshacer eliminación
     update:
       success: Perfil actualizado.
       failure: No se pudo actualizar el perfil.
@@ -1943,12 +1951,12 @@ es:
       password: 'Contraseña:'
       openid_html: '%{logo} OpenID:'
       remember: Recordarme
-      lost password link: ¿Has perdido su contraseña?
+      lost password link: ¿Has perdido tu contraseña?
       login_button: Iniciar sesión
       register now: Registrarse ahora
       with external: 'O bien, utiliza un servicio de terceros para acceder:'
       no account: ¿No estás registrado?
-      auth failure: Lo sentimos. No puede iniciar sesión con esos datos.
+      auth failure: Lo sentimos. No se pudo iniciar sesión con esos datos.
       openid_logo_alt: Inicia sesión con una OpenID
       auth_providers:
         openid:
@@ -1960,7 +1968,7 @@ es:
         facebook:
           title: Iniciar sesión con Facebook
           alt: Iniciar sesión con una cuenta de Facebook
-        windowslive:
+        microsoft:
           title: Iniciar sesión con Microsoft
           alt: Iniciar sesión con una cuenta Microsoft
         github:
@@ -2085,8 +2093,8 @@ es:
           2.0
         introduction_3_creative_commons_url: https://creativecommons.org/licenses/by-sa/2.0/deed.es
         credit_title_html: Cómo dar reconocimiento a OpenStreetMap
-        credit_1_html: 'Cuando utilice datos de OpenStreetMap, deberás hacer las dos
-          cosas siguientes:'
+        credit_1_html: 'Cuando utilices datos de OpenStreetMap, deberás hacer las
+          siguientes dos cosas:'
         credit_2_1: Proporciona crédito a OpenStreetMap mostrando nuestro aviso de
           derechos de autor.
         credit_2_2: Especifica que los datos están disponibles bajo la Licencia de
@@ -2283,11 +2291,11 @@ es:
       how_to_help:
         title: Cómo ayudar
         join_the_community:
-          title: Unete a la comunidad
+          title: Únete a la comunidad
           explanation_html: Si has notado un problema con nuestros datos del mapa,
-            por ejemplo, falta un camino o su dirección, la mejor manera de proceder
+            por ejemplo, falta un camino o tu dirección, la mejor manera de proceder
             es unirse a la comunidad OpenStreetMap y agregar o corregir los datos
-            tu mismo.
+            tú mismo.
         add_a_note:
           instructions_1_html: |-
             Simplemente haz clic en %{note_icon} o en el mismo icono en la visualización del mapa.
@@ -2356,7 +2364,7 @@ es:
         preguntas sobre él, así como debatir y documentar de forma conjunta sobre temas de mapeo.
         %{help_link}. ¿Con una organización que hace planes para OpenStreetMap? %{welcome_mat_link}.
       get_help_here: Obtén ayuda aquí
-      welcome_mat: Echa un vistazo a la estera de bienvenida
+      welcome_mat: Echa un vistazo a la alfombra de bienvenida
     sidebar:
       search_results: Resultados de la búsqueda
       close: Cerrar
@@ -2400,7 +2408,7 @@ es:
           apron:
           - Rampa aeroportuaria
           - terminal
-          admin: Límite administrativos
+          admin: Límite administrativo
           forest: Bosque
           wood: Bosque
           golf: Campo de golf
@@ -2420,7 +2428,7 @@ es:
           farm: Granja
           brownfield: Sitio baldío
           cemetery: Cementerio
-          allotments: Parcelas
+          allotments: Huertos de ocio
           pitch: Campo de juego
           centre: Centro deportivo
           reserve: Reserva natural
@@ -2439,13 +2447,13 @@ es:
           destination: Acceso a destino
           construction: Vías en construcción
           bicycle_shop: Tienda de bicicletas
-          bicycle_parking: Aparcamiento de bicicletas
+          bicycle_parking: Estacionamiento de bicicletas
           toilets: Baños
     welcome:
       title: ¡Bienvenido!
       introduction: Te damos la bienvenida a OpenStreetMap, el mapa libre y editable
         del mundo. Ahora que te has registrado, has hecho lo necesario para empezar
-        a mapear. He aquí una guía rápida con las cosas más importantes que necesita
+        a mapear. He aquí una guía rápida con las cosas más importantes que necesitas
         saber.
       whats_on_the_map:
         title: Qué hay en el mapa
@@ -2486,12 +2494,12 @@ es:
       start_mapping: Comenzar a mapear
       add_a_note:
         title: ¿No tienes tiempo para editar? ¡Añade una nota!
-        para_1: Si sólo deseas corregir algo pequeño y no tienes tiempo para registrarse
-          y aprender a editar, es fácil añadir una nota.
+        para_1: Si sólo deseas corregir algo pequeño y no tienes tiempo para registrarte
+          y aprender a editar, añadir una nota es fácil.
         para_2_html: |-
           Basta con ir a %{map_link} y pulsar en el icono de nota: %{note_icon}.
           Esto añadirá un marcador al mapa que se puede mover al arrastrarlo.
-          Escriba su mensaje y pulse en «Guardar». La comunidad cartógrafa investigará al respecto.
+          Escribe su mensaje y has clic en «Guardar» y otros mapeadores investigarán.
         the_map: el mapa
     communities:
       title: Comunidades
@@ -2504,7 +2512,7 @@ es:
         title: Capítulos locales
         about_text: Las delegaciones locales son grupos nacionales o regionales que
           han dado el paso formal de constituirse como entidades jurídicas sin ánimo
-          de lucro. Representan al mapa y a los cartógrafos de la zona ante la administración
+          de lucro. Representan al mapa y a los mapeadores de la zona ante la administración
           local, las empresas y los medios de comunicación. También se han afiliado
           a la OpenStreetMap Foundation (OSMF), lo que les proporciona un vínculo
           con el órgano de gobierno legal y de derechos de autor.
@@ -2665,7 +2673,7 @@ es:
       grant_access: Otorgar acceso
     authorize_success:
       title: Solicitud de autorización permitida
-      allowed_html: Has concedido acceso a tu cuenta a la aplicación %{app_name}.
+      allowed_html: Has otorgado acceso a tu cuenta a la aplicación %{app_name}.
       verification: El código de verificación es %{code}.
     authorize_failure:
       title: Falló la solicitud de autorización
@@ -2677,10 +2685,10 @@ es:
       missing: No has permitido que la aplicación acceda a esta instalación.
     scopes:
       read_prefs: Leer preferiencias de usuario
-      write_prefs: modificar tus preferencias de usuario.
-      write_diary: Crea entradas diarias, comentarios y haz amigos
+      write_prefs: Modificar las preferencias de usuario
+      write_diary: Crear entradas del diario, comentarios y hacer amigos
       write_api: modificar el mapa.
-      read_gpx: Leer tus trazas de GPS privadas
+      read_gpx: Leer trazas de GPS privadas
       write_gpx: Subir trazas de GPS
       write_notes: Modifica notas
       read_email: Leer dirección de correo electrónico del usuario
@@ -2867,6 +2875,7 @@ es:
       remove as friend: Eliminar como amigo
       add as friend: Añadir como amigo
       mapper since: 'Mapeando desde:'
+      uid: 'Identificación de usuario:'
       ct status: 'Términos de Colaborador:'
       ct undecided: Indeciso
       ct declined: Rechazado
@@ -2879,7 +2888,7 @@ es:
         administrator: Este usuario es un administrador
         moderator: Este usuario es un moderador
         grant:
-          administrator: Adjudicar acceso de administrador
+          administrator: Otorgar acceso de administrador
           moderator: Adjudicar acceso de moderador
         revoke:
           administrator: Revocar acceso de administrador
@@ -2943,7 +2952,7 @@ es:
       not_revoke_admin_current_user: No se pudo revocar el rol de administrador del
         usuario actual.
     grant:
-      title: Confirmar adjudicación de rol
+      title: Confirmar otorgamiento de rol
       heading: Confirmar adjudicación de rol
       are_you_sure: ¿Estás seguro de que deseas otorgar el rol `%{role}' al usuario
         `%{name}'?
@@ -2953,7 +2962,7 @@ es:
     revoke:
       title: Confirmar revocación de rol
       heading: Confirmar revocación de rol
-      are_you_sure: ¿Está seguro de que deseas revocar el rol `%{role}' del usuario
+      are_you_sure: ¿Estás seguro de que deseas revocar el rol `%{role}' del usuario
         `%{name}'?
       confirm: Confirmar
       fail: No se pudo revocar el rol `%{role}' del usuario `%{name}'. Comprueba que
@@ -2997,7 +3006,7 @@ es:
       heading_html: Revocando el bloqueo sobre %{block_on} por %{block_by}
       time_future: Este bloqueo finalizará en %{time}.
       past: Este bloqueo terminó %{time} y no puede ser revocado ahora.
-      confirm: ¿Estás seguro de que desea revocar este bloqueo?
+      confirm: ¿Estás seguro de que deseas revocar este bloqueo?
       revoke: ¡Revocar!
       flash: Este bloqueo ha sido revocado.
     helper:
@@ -3061,9 +3070,11 @@ es:
       previous: « Anterior
   notes:
     index:
-      title: Notas remitidas o comentadas por %{user}
+      title: Notas creadas o comentadas por %{user}
       heading: Notas de %{user}
-      subheading_html: Notas remitidas o comentadas por %{user}
+      subheading_html: Notas %{submitted} o %{commented} por %{user}
+      subheading_submitted: creadas
+      subheading_commented: comentada
       no_notes: Ninguna nota
       id: Identificador
       creator: Creador
@@ -3213,7 +3224,7 @@ es:
         no_route: No se pudo encontrar una ruta entre esos dos lugares.
         no_place: No se pudo localizar «%{place}».
       instructions:
-        continue_without_exit: Continuar en %{name}
+        continue_without_exit: Continúa por %{name}
         slight_right_without_exit: Gira un poco a la derecha hacia %{name}
         offramp_right: Toma la rampa de la derecha
         offramp_right_with_exit: Toma la salida %{exit} a la derecha
@@ -3272,7 +3283,7 @@ es:
         destination_without_exit: Llegaste a tu destino
         against_oneway_without_exit: Ir en contra del sentido único en %{name}
         end_oneway_without_exit: Final de sentido único en %{name}
-        roundabout_with_exit: En la rotonda, toma la salida %{exit} hacia %{name}
+        roundabout_with_exit: En la rotonda, toma la %{exit} salida hacia %{name}
         roundabout_with_exit_ordinal: En la rotonda, toma la salida %{exit} hacia
           %{name}
         exit_roundabout: Sal de la rotonda hacia %{name}
@@ -3334,7 +3345,7 @@ es:
       error: Se produjo un error al destruir esta censura.
   validations:
     leading_whitespace: tiene espacio en blanco delantero
-    trailing_whitespace: tiene espacio en blanco final
+    trailing_whitespace: tiene espacios en blanco al final
     invalid_characters: contiene caracteres no válidos
     url_characters: Contiene caracteres especiales de URL (%{characters})
 ...
index 263d70c8be397faabb577048737bf1c40a88f343..7bb68167c1f0a631c759e91ef8d436c78304ca36 100644 (file)
@@ -1399,7 +1399,7 @@ et:
         facebook:
           title: Logi sisse Facebooki kaudu
           alt: Logi sisse Facebooki kontoga
-        windowslive:
+        microsoft:
           title: Logi sisse Windows Live'i kaudu
           alt: Logi sisse Windows Live'i kontoga
         github:
index d17c5ca15c3282653a048711b3f0390b0ad922e1..963dccd51ce148843fc9426744b4ce2c604b98c6 100644 (file)
@@ -6,11 +6,13 @@
 # Author: Amaia
 # Author: An13sa
 # Author: Asieriko
+# Author: Atzerritik
 # Author: EukeneFL
 # Author: Garaolaza
 # Author: Gorkaazk
 # Author: Ibai
 # Author: Iñaki LL
+# Author: Juele
 # Author: Maite
 # Author: McDutchie
 # Author: Mikel Ibaiba
@@ -112,8 +114,8 @@ eu:
         user: Erabiltzailea
         title: Gaia
         body: Testua
-        latitude: Latitude
-        longitude: Longitude
+        latitude: Latitudea
+        longitude: Longitudea
         language_code: Hizkuntza
       doorkeeper/application:
         name: Izena
@@ -122,14 +124,14 @@ eu:
         scopes: Baimenak
       friend:
         user: Erabiltzailea
-        friend: Lagun
+        friend: Laguna
       trace:
         user: Erabiltzailea
         visible: Ikusgai
         name: Fitxategi izena
         size: Tamaina
-        latitude: Latitude
-        longitude: Longitude
+        latitude: Latitudea
+        longitude: Longitudea
         public: Publikoa
         description: Deskribapena
         gpx_file: 'GPX fitxategia igo:'
@@ -152,20 +154,20 @@ eu:
         email: Eposta
         email_confirmation: 'E-posta egiaztapena:'
         new_email: 'E-posta helbide berria:'
-        active: Aktibo
+        active: Aktiboa
         display_name: Erakusteko izena
         description: 'Profilaren deskribapena:'
         home_lat: Latitudea
-        home_lon: 'Longitudea:'
+        home_lon: Longitudea
         languages: Hizkuntza lehenetsiak
         preferred_editor: 'Lehenetsitako editorea:'
         pass_crypt: Pasahitza
-        pass_crypt_confirmation: 'Berretsi pasahitza:'
+        pass_crypt_confirmation: Pasahitza berretsi
     help:
       doorkeeper/application:
-        confidential: Bezeroaren sekretua isilpean manten daitekeenean erabiliko da
-          aplikazioa (telefono mugikorretako aplikazio natiboak eta orrialde bakarreko
-          aplikazioak ez dira isilpekoak)
+        confidential: Bezeroaren sekretua isilpean gorde daitekeenean erabiliko da
+          aplikazioa (jatorrizko aplikazio mugikorrak eta orri bakarreko aplikazioak
+          ez dira konfidentzialak)
         redirect_uri: Erabili lerro bat URI bakoitzeko
       trace:
         tagstring: koma mugatua
@@ -230,6 +232,7 @@ eu:
       openid: OpenID
       google: Google
       facebook: Facebook
+      microsoft: Microsoft
       github: GitHub
       wikipedia: Wikipedia
   api:
@@ -245,6 +248,7 @@ eu:
         reopened_at_by_html: '%{user}k %{when} berraktibatua'
       rss:
         title: OpenStreetMap oharrak
+        description_all: Jakinarazitako, iruzkindutako edo itxitako oharren zerrenda
         description_area: Iruzkinak dituzten, itxi diren edota iragarki diren oharren
           zerrenda [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]
         description_item: Rss feed bat %{id} oharrarentzako
@@ -306,13 +310,13 @@ eu:
         agreed_with_pd: Zure aldaketak domeinu publikoan egongo direla adierazi duzu.
         link text: zer da hau?
       save changes button: Aldaketak gorde
-      delete_account: Ezabatu kontua...
+      delete_account: Kontua ezabatu
     go_public:
       heading: Aldaketa publikoak
       currently_not_public: Une honetan, zure aldaketak anonimoak dira eta jendeak
         ezin dizu mezurik bidali edo zure kokapena ikusi. Editatu duzuna erakusteko
         eta jendeari webgunearen bidez zurekin harremanetan jarri izan ahal dadin
-        baimentzeko, egin klik beheko botoian.
+        baimentzeko, sakatu beheko botoia.
       only_public_can_edit: 0.6 APIa aldatu zenetik, erabiltzaile publikoek soilik
         edita ditzakete maparen datuak.
       find_out_why: jakin zergatik
@@ -329,6 +333,12 @@ eu:
   browse:
     created: Sortua
     closed: Itxita
+    created_ago_html: Sortua orain dela %{time_ago}
+    closed_ago_html: Itxia orain dela %{time_ago}
+    created_ago_by_html: '%{user}-ek %{time_ago} sortua'
+    closed_ago_by_html: '%{user}-ek %{time_ago} itxia'
+    deleted_ago_by_html: '%{user}-ek %{time_ago} ezabatua'
+    edited_ago_by_html: '%{user}-ek %{time_ago} editatua'
     version: Bertsioa
     in_changeset: Aldaketak
     anonymous: anonimoa
@@ -354,6 +364,8 @@ eu:
       relation: Erlazioak (%{count})
       relation_paginated: Erlazioak (%{x}-%{y} %{count}-tik)
       comment: Iruzkinak (%{count})
+      hidden_comment_by_html: '%{user} -ren ezkutuko iruzkina %{time_ago} tik'
+      comment_by_html: '%{user} -ren iruzkina orain dela %{time_ago}'
       changesetxml: Aldaketaren XML kodea
       osmchangexml: osmChange XML kodea
       feed:
@@ -545,9 +557,9 @@ eu:
       comment_link: Sarrera honetan iruzkina utzi
       reply_link: Egileari mezua bidali
       comment_count:
-        one: iruzkin %{count}
-        zero: Iruzkinik ez
-        other: '%{count} iruzkin'
+        one: '%{count} iruzkin'
+        other: '%{count} comments'
+      no_comments: Iruzkin gabe
       edit_link: Sarrera hau editatu
       hide_link: Sarrera hau ezkutatu
       unhide_link: Erakutsi sarrera hau
@@ -623,6 +635,9 @@ eu:
       success: '%{name} kendu duzu zure adiskide zerrendatik.'
       not_a_friend: '%{name} ez da zure laguna.'
   geocoder:
+    search:
+      title:
+        results_from_html: '%{results_link} ren emaitzak'
     search_osm_nominatim:
       prefix:
         aerialway:
@@ -1427,9 +1442,9 @@ eu:
     show:
       title: '%{status} %{issue_id} arazoa'
       reports:
-        zero: Reporterik ez
-        one: Reporte 1
-        other: '%{count} reporte'
+        one: '%{count} report'
+        other: '%{count} jakinarazpen'
+      no_reports: Ez dago txostenik
       report_created_at: Lehenengoz %{datetime} egunean berri emanda
       last_resolved_at: Azkenekoz %{datetime} egunean konponduta
       last_updated_at: Azkenekoz %{displayname}-(e)k %{datetime} egunean eguneratua
@@ -1691,6 +1706,8 @@ eu:
       success: Zure kontua berretsi du, erregistratzeagatik milesker!
       already active: Kontu hau dagoeneko berretsi da.
       unknown token: Berrespen-kodea iraungi egin da edo ez da existitzen.
+      resend_html: Berrespen-mezua berriro bidaltzea behar baduzu, %{reconfirm_link}.
+      click_here: sakatu hemen
     confirm_resend:
       failure: '%{name} erabiltzailea ez da aurkitu.'
     confirm_email:
@@ -1826,6 +1843,9 @@ eu:
       no home location: Zure etxe-helbidea ez duzu txertatu.
       update home location on click: Eguneratu etxeko kokalekua mapan klik egiten
         dudanean?
+      show: Erakutsi
+      delete: Ezabatu
+      undelete: Desegin ezabatzea
     update:
       success: Profila eguneratu da.
       failure: Ezin izan da profila eguneratu.
@@ -1854,9 +1874,9 @@ eu:
         facebook:
           title: Saioa hasi Facebookekin
           alt: Saioa hasi Facebookekin
-        windowslive:
-          title: Saioa hasi Windows Livekin
-          alt: Windows Live kontu batekin saioa hasi
+        microsoft:
+          title: Saioa hasi Microsoftekin
+          alt: Microsoft kontu batekin saioa hasi
         github:
           title: GitHub-rekin saioa hasi
           alt: GitHub kontuarekin saioa hasi
@@ -1880,6 +1900,7 @@ eu:
       support: laguntza
   shared:
     markdown_help:
+      heading_html: '%{kramdown_link}rekin aztertu da'
       headings: Goiburuak
       heading: Goiburua
       subheading: Azpi-goiburua
@@ -1898,6 +1919,7 @@ eu:
   site:
     about:
       next: Hurrengoa
+      heading_html: '%{copyright}OpenStreetMap %{br} laguntzaileak'
       used_by_html: '%{name}-k mapa datuz hornitzen ditu milaka web gune, mugikorretako
         aplikazio eta hardware gailu.'
       lede_text: OpenStreetMap mundu osoan zehar errepideak, bideak, kafetegiak, tren
@@ -1908,8 +1930,20 @@ eu:
         aireko irudiak erabiltzen dituzte, GPS gailuak eta teknologia baxuko eremuko
         mapak OSMrako egiaztapen zehatza eta eguneratua egiteko.
       community_driven_title: Komunitatearen Ahotsa
+      community_driven_osm_blog: OpenStreetMap bloga
+      community_driven_user_diaries: Erabiltzaileen egunerokoak
+      community_driven_community_blogs: Komunitateko blogak
+      community_driven_osm_foundation: OSM Fundazioa
       open_data_title: Datu Irekiak
+      open_data_open_data: Datu Irekiak
+      open_data_copyright_license: Copyright eta lizentzia orria
       legal_title: Legala
+      legal_1_1_openstreetmap_foundation: OpenStreetMap Fundazioa
+      legal_1_1_terms_of_use: Erabilera-baldintzak
+      legal_1_1_aup: Erabilera-politika onargarriak
+      legal_1_1_privacy_policy: Pribatutasun politika
+      legal_2_1_contact_the_osmf: OMSFrekin harremanetan jarri
+      legal_2_2_registered_trademarks: OSMFren marka erregistratuak
       partners_title: Parte-hartzaileak
     copyright:
       foreign:
@@ -1926,17 +1960,74 @@ eu:
         mapping_link: kartografiarekin hasi
       legal_babble:
         title_html: Egile-eskubideak eta lizentzia
+        introduction_1_open_data: Datu Irekiak
+        introduction_1_odc_odbl: Open Data Commons Open Database Lizentzia
+        introduction_1_osm_foundation: OpenStreetMap Fundazioa
+        introduction_2_html: |-
+          Gure datuak kopiatzeko, banatzeko, transmititzeko eta egokitzeko libre zara,
+          betiere, OpenStreetMap eta bere
+          kolaboratzaileak kreditatzen badituzu. Gure datuak aldatzen edo eraikitzen badituzu, zuk
+          -ek emaitza lizentzia berarekin bakarrik banatu dezakezu. %{legal_code_link}
+          full-ek zure eskubideak eta betebeharrak azaltzen ditu.
+        introduction_2_legal_code: lege kodea
+        introduction_3_html: Gure dokumentazioa %{creative_commons_link} lizentziapean
+          dago (CC BY-SA 2.0).
+        introduction_3_creative_commons: Creative Commons Aitortu-PartekatuBerdin
+          2.0
         credit_title_html: OpenStreetMap nola kreditatu
         credit_1_html: 'OpenStreetMap datuak erabiltzen dituzun lekuetan, bi gauza
           hauek egin behar dituzu:'
+        credit_2_1: Eman kreditu OpenStreetMap-i gure copyright-oharra erakutsiz.
+        credit_2_2: Argi utzi datuak Open Database Lizentziapean eskuragarri daudela.
+        credit_3_attribution_guidelines: Esleipen-gidalerroak
+        credit_4_1_this_copyright_page: copyright orri hau
         attribution_example:
           alt: Web-orri batean OpenStreetMap nola esleitu erakusteko adibidea
           title: Eskuduntza adibidea
         more_title_html: Jakin ezazu gehiago
+        more_1_1_html: Irakurri informazio gehiago gure datuak erabiltzeari buruz
+          eta nola guri kreditatu, %{osmf_licence_page_link} helbidean.
+        more_1_1_osmf_licence_page: OSMF lizentzia orria
+        more_2_1_api_usage_policy: APIaren erabilera-politika
         contributors_title_html: Gure kolaboratzaileak
         contributors_intro_html: |-
           Gure laguntzaileen taldea milaka pertsonek osatzen dute. Horrez gain, nazio mailan aginte publikoko lizentziak
           dituzten mapak eta beste iturri batzuk eskeintzen ditugu, besteak beste:
+        contributors_at_credit_html: |-
+          %{austria}: %{stadt_wien_link} (%{cc_by_link} azpian), %{land_vorarlberg_link}
+          eta Land Tirol (%{cc_by_at_with_amendments_link} azpian) datuak ditu.
+        contributors_at_austria: Austria
+        contributors_at_stadt_wien: Stadt Wien
+        contributors_at_cc_by: CC BY
+        contributors_at_land_vorarlberg: Land Vorarlberg
+        contributors_at_cc_by_at_with_amendments: CC BY AT zuzenketekin
+        contributors_au_australia: Australia
+        contributors_au_geoscape_australia: Geoscape Australia
+        contributors_au_cc_licence: Creative Commons Aitortu 4.0 Nazioarteko lizentzia
+          (CC BY 4.0)
+        contributors_ca_canada: Kanada
+        contributors_fi_finland: Finlandia
+        contributors_fi_nlsfi_license: NLSFI lizentzia
+        contributors_fr_france: Frantzia
+        contributors_nl_netherlands: Herbehereak
+        contributors_nz_new_zealand: Zelanda Berria
+        contributors_nz_linz_data_service: LINZ Datu Zerbitzua
+        contributors_nz_cc_by: CC BY 4.0
+        contributors_rs_serbia: Serbia
+        contributors_rs_rgz: Serbiako Geodesiako Agintaritza
+        contributors_rs_open_data_portal: Datu Irekien Atari Nazionala
+        contributors_si_slovenia: Eslovenia
+        contributors_si_mkgp: Nekazaritza, Basogintza eta Elikadura Ministerioa
+        contributors_es_credit_html: |-
+          %{spain}:
+          Spanish National Geographic Institute (%{ign_link}) eta
+          National Cartographic System (%{scne_link})
+          %{cc_by_link} pean berrerabiltzeko lizentziarekin jasotako datuak ditu.
+        contributors_es_spain: Espainia
+        contributors_es_cc_by: CC BY 4.0
+        contributors_za_south_africa: Hego Afrika
+        contributors_gb_united_kingdom: Erresuma Batua
+        contributors_2_contributors_page: Kolaboratzaileen orria
         contributors_footer_2_html: |-
           OpenStreetMap-en datuak sartzeak ez du beharrez jatorrizko
           datu-hornitzaileak OpenStreetMap onartzea baieztatzen, edozein berme ematen, edota inolako erantzukizunik onartzen.
@@ -1944,6 +2035,13 @@ eu:
         infringement_1_html: |-
           OSMren laguntzaileek ez dute inolako daturik gehitu behar
           copyright iturrietatik (adibidez, Google Maps edo inprimatutako mapak) copyright-jabeen baimen espliziturik gabe.
+        infringement_2_1_takedown_procedure: kentzeko prozedura
+        trademarks_title: Markak
+        trademarks_1_1_html: |-
+          OpenStreetMap, lupa logotipoa eta State of the Map
+          OpenStreetMap Foundation-en marka erregistratuak dira. Marken erabilerari buruzko galderarik baduzu, ikusi gure
+          %{trademark_policy_link}.
+        trademarks_1_1_trademark_policy: Marken politika
     index:
       js_1: Javascript onartzen ez duen arakatzailea erabiltzen ari zara edo JavaScript
         desgaitu duzu.
@@ -1974,6 +2072,9 @@ eu:
       map_image: Maparen irudia (geruza estandarra erakusten du)
       embeddable_html: HTML kapsulagarria
       licence: Lizentzia
+      licence_details_html: OpenStreetMap datuak %{odbl_link} (ODbL) lizentziapean
+        daude.
+      odbl: Open Data Commons Open Database Lizentzia
       too_large:
         advice: 'Goiko esportazioak kale egiten badu, behean zerrendatutako iturrietako
           bat erabiltzea kontuan hartu mesedez:'
@@ -2017,6 +2118,7 @@ eu:
             komunitatean sartzea da datuak berreskuratu edo konpontzeko.
       other_concerns:
         title: Bestelako kezkak
+        working_group: OSMF lan taldea
     help:
       title: Laguntza Lortu
       introduction: OpenStreetMap-ek proiektuari buruz ikasteko hainbat baliabide
@@ -2060,8 +2162,18 @@ eu:
       removed: Zure OpenStreetMap editore lehenetsia gisa Potlatch dago ezarrita.
         Adobe Flash Player baztertu denez, Potlatch jada ez dago erabilgarri web-arakatzaile
         batean erabiltzeko.
+      desktop_application_html: Potlatch erabil dezakezu oraindik %{download_link}.
+      download: mahaigaineko aplikazioa deskargatuz Mac eta Windows-erako
+      id_editor_html: Bestela, iD ezar dezakezu zure editore lehenetsi gisa, zure
+        web arakatzailean exekutatzen dena Potlatch-ek lehen egiten zuen bezala. %{change_preferences_link}
+      change_preferences: Aldatu zure hobespenak hemen
     any_questions:
       title: Galderarik?
+      paragraph_1_html: |-
+        OpenStreetMap-ek hainbat baliabide ditu proiektuari buruz ikasteko,
+        galderak egiteko eta erantzuteko, eta elkarrekin eztabaidatzeko eta mapa-gaiak dokumentatzeko.
+        %{help_link}. Erakunderen batekin OpenStreetMap-erako planak egiten? %{welcome_mat_link}.
+      get_help_here: Lortu laguntza hemen
     sidebar:
       search_results: Bilaketaren emaitzak
       close: Itxi
@@ -2153,17 +2265,46 @@ eu:
         gida laburra jakin behar dituzun gauzarik garrantzitsuenak dituena.
       whats_on_the_map:
         title: Mapan dagoena
+        real_and_current: benetakoa eta egungoa
       basic_terms:
         title: Kartografiarako Oinarrizko Terminoak
         paragraph_1: OpenStreetMap-ek bere parekatze propioa du. Hemen daude erabilgarriak
           diren zenbait hitz gako.
+        editor: editorea
+        node: nodoa
+        tag: etiketa
       rules:
         title: Arauak!
+        para_1_html: |-
+          OpenStreetMap-ek arau formal gutxi ditu, baina parte-hartzaile guztiek elkarlanean aritzea espero dugu
+          komunitatearekin eta harekin komunikatzea. Eskuz editatzeaz gain beste edozein jarduera kontuan hartzen ari bazara, irakurri eta jarraitu
+          %{imports_link} eta %{automated_edits_link} ataleko jarraibideak.
+        imports: Inportazioak
+        automated_edits: Aldaketa automatikoak
       start_mapping: Hasi mapeatzen
       add_a_note:
         title: Editatzeko denborarik ez? Gehitu ohar bat!
         para_1: Zerbait txiki eta finkoa bada eta ez baduzu denbora erregistratzeko
           eta nola editatzen ikasteko, ohar bat gehitzea erraza da.
+        the_map: mapa
+    communities:
+      title: Komunitateak
+      local_chapters:
+        title: Tokiko Kapituluak
+        about_text: |-
+          Tokiko Kapituluak herrialde-mailako edo eskualde-mailako taldeak dira
+          irabazi-asmorik gabeko erakunde juridikoak ezartzeko urrats formala eman dutenak. Inguruko mapa eta mapatzaileak irudikatzen dituzte
+          tokiko gobernuarekin, negozioekin eta komunikabideekin harremanetan daudenean. OpenStreetMap Foundation-ekin (OSMF) afiliazio bat ere sortu dute
+          rekin, eta lege eta copyright
+          gobernu organorako esteka emanez.
+        list_text: 'Honako erkidego hauek Tokiko Kapitulu gisa ezartzen dira formalki:'
+      other_groups:
+        title: Beste Taldeak
+        other_groups_html: |-
+          Ez dago talde bat formalki eratu behar Tokiko Kapituluen neurri berean.
+          Izan ere, talde asko arrakastaz existitzen dira jendearen bilkura informal gisa edo
+          komunitate talde gisa. Edonork konfiguratu edo batu daiteke hauetara. Irakurri gehiago %{communities_wiki_link} webgunean.
+        communities_wiki: Komunitateen wiki orria
   traces:
     visibility:
       private: Pribatua (puntu anonimo eta desordenatu gisa soilik partekatzen da)
@@ -2244,6 +2385,11 @@ eu:
       public_traces_from: '%{user} erabiltzailearen GPS aztarna publikoak'
       description: Arakatu azkenaldian egin dire GPS ibilbide igoerak
       tagged_with: '%{tags}(r)ekin etiketatua'
+      empty_title: Hemen oraindik ez dago ezer
+      empty_upload_html: '%{upload_link} edo gehiago jakin GPS-en jarraipenari buruz
+        %{wiki_link}.'
+      upload_new: Aztarna bat igo
+      wiki_page: wiki orria
       upload_trace: Aztarna bat igo
       all_traces: Aztarna guztiak
       my_traces: Nire aztarnak
@@ -2416,8 +2562,14 @@ eu:
     new:
       title: Eman izena
       no_auto_account_create: Zoritxarrez ezin  dizugu automatikoki kontu bat sortu.
+      support: laguntza
       about:
         header: Doakoa eta editagarria
+        paragraph_1: Beste mapak ez bezala, OpenStreetMap zu bezalako pertsonek sortu
+          dute guztiz, eta edonork konpondu, eguneratu, deskargatu eta erabiltzeko
+          doan da.
+        paragraph_2: Eman izena ekarpenak egiten hasteko. Mezu elektroniko bat bidaliko
+          dizugu zure kontua berresteko.
       display name description: Zuk publikoki erakutsitako erabiltzaile izena. Hau
         geroago alda dezakezu hobespenetan.
       external auth: 'Hirugarrenen Autentifikazioa:'
@@ -2427,6 +2579,11 @@ eu:
         gerta daiteke.
       continue: Eman izena
       terms accepted: Eskerrik asko laguntzaileen termino berriak onartzeagatik!
+      email_confirmation_help_html: Zure helbidea ez da publikoki bistaratzen, ikusi
+        gure %{privacy_policy_link} informazio gehiago lortzeko.
+      privacy_policy: pribatutasun politika
+      privacy_policy_title: OSMF pribatutasun-politika helbide elektronikoei buruzko
+        atala barne
     terms:
       title: Baldintzak
       heading: Baldintzak
@@ -2443,6 +2600,9 @@ eu:
       consider_pd: Goikoaz gain, nire ekarpenak Domeinu Publikoan egon behar direla
         uste dut
       consider_pd_why: zer da hau?
+      guidance_info_html: 'Termino hauek ulertzen laguntzeko informazioa: %{readable_summary_link}
+        eta %{informal_translations_link}'
+      informal_translations: itzulpen informalak
       continue: Jarraitu
       decline: Ez onartu
       you need to accept or decline: Irakurri eta gero, onartu edo ezetsi Kolaboratzaileen
@@ -2484,6 +2644,7 @@ eu:
       remove as friend: Kendu adiskidetzat
       add as friend: Gehitu adiskidetzat
       mapper since: 'Noiztik mapatzaile:'
+      uid: 'Erabiltzaile ID:'
       ct status: 'Kolaboratzaile terminoak:'
       ct undecided: Erabakigabea
       ct declined: Ez da onartu
@@ -2532,6 +2693,11 @@ eu:
       title: Kontua bertan behera geratu da
       heading: Kontua bertan behera geratu da
       support: laguntza
+      automatically_suspended: Barkatu, zure kontua bertan behera utzi da jarduera
+        susmagarriengatik.
+      contact_support_html: Erabaki hau administratzaile batek berrikusiko du laster,
+        edo %{support_link} harremanetan jar zaitezke honi buruz eztabaidatu nahi
+        baduzu.
     auth_failure:
       connection_failed: Autentifikazioaren hornitzailearekin konexioa huts egin du
       invalid_credentials: Autentifikazio kredentzialak baliogabekoak dira
@@ -2669,7 +2835,9 @@ eu:
     index:
       title: '%{user}k igotako edo iruzkinak utzitako oharrak'
       heading: '%{user} erabiltzailearen oharrak'
-      subheading_html: '%{user}k igotako edo iruzkinak utzitako oharrak'
+      subheading_html: '%{user}k %{submitted} edo%{commented} notak'
+      subheading_submitted: bidalita
+      subheading_commented: -en komentatu buen
       no_notes: Oharrik ez
       id: Id-a
       creator: Sortzailea
@@ -2690,9 +2858,8 @@ eu:
       reactivate: Berriz aktibatu
       comment_and_resolve: Utzi iruzkina eta Konpondu
       comment: Iruzkina
-      report_link_html: 'Ohar honek ezabatu beharreko informazio sentikorra badu,
-        hau egin dezakezu: %{link}. Oharraren gainontzeko arazo guztientzat, mesedez
-        konpondu zuk zeuk iruzkin batekin.'
+      report_link_html: Ohar honek ezabatu beharreko informazio sentikorra badu, %{link}
+        dezakezu.
     new:
       title: Ohar berria
       intro: Akats bat edo zerbait falta zaizula ikusi duzu? Utzi beste mapa editatzaileek
@@ -2757,6 +2924,13 @@ eu:
         gps: GPS aztarna publikoak
         overlays: Gaitu maparen konponketa egiteko gainjartzen direnak
         title: Geruzak
+      openstreetmap_contributors: OpenStreetMap laguntzaileak
+      make_a_donation: Dohaintza egin
+      website_and_api_terms: Webgunearen eta APIaren baldintzak
+      osm_france: OpenStreetMap Frantzia
+      andy_allan: Andy Allan
+      memomaps: MeMoMaps
+      hotosm_name: OpenStreetMap Talde humanitarioa
     site:
       edit_tooltip: Editatu mapa
       edit_disabled_tooltip: Handiagotu mapa aldatzeko
@@ -2784,9 +2958,13 @@ eu:
         graphhopper_bicycle: Bizikletaz (GraphHopper)
         graphhopper_car: Autoz(GraphHopper)
         graphhopper_foot: Oinez (GraphHopper)
+        fossgis_valhalla_bicycle: Bizikleta (Valhalla)
+        fossgis_valhalla_car: Autoa (Valhalla)
       descend: Jaitsi
       directions: Norabideak
       distance: Distantzia
+      distance_m: '%{distance}m'
+      distance_km: '%{distance}'
       errors:
         no_route: Ezin izan da bi lekuen artean ibilbidea aurkitu.
         no_place: Barkatu - ezin izan da '%{place}' aurkitu.
index 6f51531b7fbb6f39b806d66f7a28b26c75bac1d6..efa485f43402b10b6fdbc2c1e77915b44cfd437f 100644 (file)
@@ -256,7 +256,7 @@ fa:
       openid: OpenID
       google: گوگل
       facebook: فیس‌بوک
-      windowslive: مایکروسافت
+      microsoft: مایکروسافت
       github: گیت‌هاب
       wikipedia: ویکی‌پدیا
   api:
@@ -1837,7 +1837,7 @@ fa:
         facebook:
           title: ورود با فیسبوک
           alt: ورود با حساب فیسبوک
-        windowslive:
+        microsoft:
           title: ورود با مایکروسافت
           alt: ورود با حساب مایکروسافت
         github:
index a358fcd065a2228d5157ecb144a0292bf757d7ff..eb11333a9f86073bf43646cb2c4ee91ad69c3053 100644 (file)
@@ -1166,7 +1166,7 @@ fi:
           financial: Rahoitusalan toimisto
           government: Virasto
           insurance: Vakuutusyhtiö
-          it: IT toimisto
+          it: IT-toimisto
           lawyer: Asianajotoimisto
           logistics: Logistiikkatoimisto
           newspaper: Sanomalehtitoimisto
@@ -1821,6 +1821,9 @@ fi:
       home location: Kotipaikka
       no home location: Kotipaikkaa ei ole vielä määritetty.
       update home location on click: Päivitä kotipaikka karttaa napsauttaessa
+      show: Näytä
+      delete: Poista
+      undelete: Peruuta poistaminen
     update:
       success: Profiili päivitetty.
       failure: Profiilia ei voitu päivittää.
@@ -1849,7 +1852,7 @@ fi:
         facebook:
           title: Kirjaudu Facebookin avulla
           alt: Kirjaudu käyttämällä Facebook-tunnustasi
-        windowslive:
+        microsoft:
           title: Kirjaudu Microsoft-tilin avulla
           alt: Kirjaudu sisään Microsoft-tililläsi
         github:
@@ -2802,7 +2805,9 @@ fi:
     index:
       title: Käyttäjän %{user} kommentoimat ja luomat huomautukset
       heading: Käyttäjän %{user} karttailmoitukset
-      subheading_html: Käyttäjän %{user} kommentoimat ja luomat karttailmoitukset
+      subheading_html: Käyttäjän %{user} %{commented} ja %{submitted} karttailmoitukset
+      subheading_submitted: luomat
+      subheading_commented: kommentoimat
       no_notes: Ei muistiinpanoja
       id: Tunniste
       creator: Tekijä
index 0aa7d67d63e6d9e6b2bbf9bee0e6262e3696c27f..553f83479e77a62148b339d2708335fa9f9a19ab 100644 (file)
 # Author: JenyxGym
 # Author: Jiremek
 # Author: Jlrb+
+# Author: Koreller
 # Author: Linedwell
 # Author: Litlok
 # Author: Ljubinka
 # Author: Ltrlg
 # Author: Lucky
+# Author: Lulucmy
 # Author: Macofe
 # Author: Manaviko
 # Author: Mathieu
@@ -309,12 +311,13 @@ fr:
       openid: OpenID
       google: Google
       facebook: Facebook
+      microsoft: Microsoft
       github: GitHub
       wikipedia: Wikipédia
   api:
     notes:
       comment:
-        opened_at_html: Créé le %{when}
+        opened_at_html: Créé %{when}
         opened_at_by_html: Créée %{when} par %{user}
         commented_at_html: Mis à jour le %{when}
         commented_at_by_html: Mis à jour le %{when} par %{user}
@@ -324,6 +327,7 @@ fr:
         reopened_at_by_html: Réactivé à %{when} par %{user}
       rss:
         title: Notes OpenStreetMap
+        description_all: Une liste de notes rapportées, commentées ou fermées
         description_area: Une liste de notes, signalées, commentées ou fermées dans
           votre zone [(%{min_lat} ; %{min_lon}) – (%{max_lat} ; %{max_lon})]
         description_item: Un fil RSS pour la note %{id}
@@ -339,12 +343,12 @@ fr:
       show:
         title: Supprimer mon compte
         warning: Avertissement ! Le processus de suppression de compte est définitif
-          et ne pourra pas être annulé.
+          et ne peut pas être annulé.
         delete_account: Supprimer un compte
         delete_introduction: 'Vous pouvez supprimer votre compte OpenStreetMap en
           utilisant le bouton ci-dessous. Veuillez prendre note des détails suivants :'
-        delete_profile: Vos informations de profil, y compris votre avatar, votre
-          description et votre emplacement de domicile seront retirés.
+        delete_profile: Les informations de votre profil, y compris votre avatar,
+          votre description et votre lieu de résidence seront supprimées.
         delete_display_name: Votre nom affiché sera supprimé et pourra être réutilisé
           pour d’autres comptes.
         retain_caveats: 'Cependant, quelques informations vous concernant seront conservées
@@ -369,7 +373,7 @@ fr:
       external auth: Authentification externe
       openid:
         link: https://wiki.openstreetmap.org/wiki/FR:OpenID
-        link text: qu’est-ce que ceci ?
+        link text: qu’est-ce que cela ?
       public editing:
         heading: Modification publique
         enabled: Activée. Non anonyme et peut modifier les données.
@@ -390,7 +394,7 @@ fr:
         link: https://wiki.osmfoundation.org/wiki/Licence/Contributor_Terms/FR
         link text: qu’est-ce que ceci ?
       save changes button: Enregistrer les modifications
-      delete_account: Suppression du compte...
+      delete_account: Supprimer le compte...
     go_public:
       heading: Modification publique
       currently_not_public: Actuellement, vos modifications sont anonymes et les utilisateurs
@@ -1986,7 +1990,7 @@ fr:
         facebook:
           title: Connexion avec Facebook
           alt: Se connecter avec un compte de Facebook
-        windowslive:
+        microsoft:
           title: Connexion avec Microsoft
           alt: Se connecter avec un compte Microsoft
         github:
@@ -2923,6 +2927,7 @@ fr:
       remove as friend: Supprimer en tant qu’ami
       add as friend: Ajouter en tant qu’ami
       mapper since: 'Cartographe depuis :'
+      uid: 'Identifiant utilisateur :'
       ct status: 'Conditions de contribution :'
       ct undecided: Indécis
       ct declined: Refusées
@@ -3117,7 +3122,9 @@ fr:
     index:
       title: Notes soumises ou commentées par « %{user} »
       heading: Notes de « %{user} »
-      subheading_html: Notes soumises ou commentées par « %{user} »
+      subheading_html: Notes %{submitted} ou %{commented} par %{user}
+      subheading_submitted: soumis
+      subheading_commented: commenté
       no_notes: Aucune note
       id: Identifiant
       creator: Créateur
index 219c282f715972c872fe57c7392508b8ec4932f2..fddcd757a080b67d40a89efe31afdf164eb3a623 100644 (file)
@@ -1123,7 +1123,7 @@ fur:
         facebook:
           title: Jentre cun Facebook
           alt: Jentre cuntun un cont Facebook
-        windowslive:
+        microsoft:
           title: Jentre cun Windows Live
           alt: Jentre cuntun cont di Windows Live
         github:
index fc81f938d4531dfad38ca1dfe1375d0cf61668bd..60d2efa81a8158250642544e2c5264708339185f 100644 (file)
@@ -1800,7 +1800,7 @@ fy:
         facebook:
           title: Oanmelde mei Facebook
           alt: Meld jo oan mei in Facebook-akkount
-        windowslive:
+        microsoft:
           title: Oanmelde mei Windows Live
           alt: Meld jo oan mei in Windows Live-akkount
         github:
index 34d7bd4d6eab44f8519cda7419c83532b12b127d..81775a67094b2117057211a61c0c2cc71080b9bf 100644 (file)
@@ -1348,7 +1348,7 @@ ga:
         facebook:
           title: Logáil isteach le Facebook
           alt: Logáil isteach le Cuntas Facebook
-        windowslive:
+        microsoft:
           title: Logáil isteach le Windows Live
           alt: Logáil isteach le Cuntas Windows Live
         github:
index a2457bd6c9fe2b7a2d79b6c67a1e7d29fa0bb098..6a4f75c0cad095cd80c01b2cf3d4e79b57fcd96f 100644 (file)
@@ -1189,7 +1189,7 @@ gd:
         facebook:
           title: Clàraich a-steach le Facebook
           alt: Clàraich a-steach le cunntas Facebook
-        windowslive:
+        microsoft:
           title: Clàraich a-steach le Windows Live
           alt: Clàraich a-steach le cunntas Windows Live
         github:
index 460003de8d2c112431ce86a572c3c1e63f6b65d8..7446bf54b83cfee34f77bd42b9b5a6444bf22e51 100644 (file)
@@ -229,6 +229,7 @@ gl:
       openid: OpenID
       google: Google
       facebook: Facebook
+      microsoft: Microsoft
       github: GitHub
       wikipedia: Wikipedia
   api:
@@ -244,7 +245,8 @@ gl:
         reopened_at_by_html: Reactivado %{when} por %{user}
       rss:
         title: Notas do OpenStreetMap
-        description_area: Unha listaxe das notas, denunciadas, comentadas ou pechadas
+        description_all: Unha lista das notas denunciadas, comentadas ou pechadas
+        description_area: Unha lista das notas denunciadas, comentadas ou pechadas
           na túa zona [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]
         description_item: Unha fonte de novas RSS para a nota %{id}
         opened: nota nova (preto de %{place})
@@ -1848,6 +1850,9 @@ gl:
       no home location: Non inseriches o teu lugar de orixe.
       update home location on click: Desexas actualizar a túa localización ó premer
         sobre o mapa?
+      show: Amosar
+      delete: Borrar
+      undelete: Desfacer o borrado
     update:
       success: Perfil actualizado.
       failure: Non foi posíbel actualizar o perfil.
@@ -1876,7 +1881,7 @@ gl:
         facebook:
           title: Iniciar a sesión co Facebook
           alt: Iniciar a sesión cunha conta do Facebook
-        windowslive:
+        microsoft:
           title: Iniciar a sesión con Microsoft
           alt: Iniciar a sesión cunha conta de Microsoft
         github:
@@ -2779,6 +2784,7 @@ gl:
       remove as friend: Eliminar coma amizade
       add as friend: Engadir coma amizade
       mapper since: 'Cartógrafo dende:'
+      uid: 'Identificador de usuario:'
       ct status: 'Termos do colaborador:'
       ct undecided: Indeciso
       ct declined: Rexeitou
@@ -2970,7 +2976,9 @@ gl:
     index:
       title: Notas enviadas ou comentadas por %{user}
       heading: Notas de %{user}
-      subheading_html: Notas enviadas ou comentadas por %{user}
+      subheading_html: Notas %{submitted} ou %{commented} por %{user}
+      subheading_submitted: enviadas
+      subheading_commented: comentadas
       no_notes: Sen notas
       id: ID
       creator: Creador
@@ -3060,6 +3068,7 @@ gl:
         cyclosm: CyclOSM (Ciclista)
         cycle_map: Ciclista
         transport_map: Transporte
+        tracestracktop_topo: Tracestrack Topo
         hot: Humanitario
         opnvkarte: ÖPNVKarte (Transporte)
       layers:
@@ -3078,6 +3087,8 @@ gl:
       andy_allan: Andy Allan
       opnvkarte_credit: Mosaicos cortesía de %{memomaps_link}
       memomaps: MeMoMaps
+      tracestrack_credit: Mosaicos cortesía de %{tracestrack_link}
+      tracestrack: Tracestrack
       hotosm_credit: Estilo de mosaicos do %{hotosm_link} aloxado por %{osm_france_link}
       hotosm_name: equipo humanitario do OpenStreetMap
     site:
index 36f7fab271d787e71d0bb619005f079b5d0ae00a..664f90fcbac110ae5dac3b5adc5caa1f724da68f 100644 (file)
@@ -51,7 +51,7 @@ he:
       prompt: בחירת קובץ
     submit:
       diary_comment:
-        create: הערה
+        create: ×¤×¨×¡×\95×\9d ×\94ער×\94
       diary_entry:
         create: פרסום
         update: עדכון
@@ -91,8 +91,8 @@ he:
       language: שפה
       message: הודעה
       node: נקודה
-      node_tag: ×ª×\92 ×¦×\95×\9eת
-      old_node: ×¦×\95×\9eת ×\99ש×\9f
+      node_tag: ×ª×\92 × ×§×\95×\93×\94
+      old_node: × ×§×\95×\93×\94 ×\99שנ×\94
       old_node_tag: תג צומת ישן
       old_relation: יחס ישן
       old_relation_member: איבר יחס ישן
@@ -117,7 +117,7 @@ he:
     attributes:
       client_application:
         name: שם (נדרש)
-        url: כתובת יישום ראשית (נדרש)
+        url: כתובת יישום ראשית (נדרשת)
         callback_url: כתובת קריאה חוזרת (callback)
         support_url: כתובת לתמיכה
         allow_read_prefs: לקרוא את העדפות המשתמש שלהם
@@ -273,7 +273,7 @@ he:
       openid: OpenID
       google: גוגל
       facebook: פייסבוק
-      windowslive: מיקרוסופט
+      microsoft: מיקרוסופט
       github: גיטהאב
       wikipedia: ויקיפדיה
   api:
@@ -289,6 +289,7 @@ he:
         reopened_at_by_html: הופעלה מחדש %{when} על־ידי %{user}
       rss:
         title: הערות של OpenStreetMap
+        description_all: רשימה של הערות מדווחות, שהגיבו עליהן או שנסגרו
         description_area: רשימת הערות שהוספו, שהתקבלו עליהן הערות ושנפתרו באזור שלך
           [(%{min_lat}|%{min_lon}) – (%{max_lat}|%{max_lon})]
         description_item: הזנת rss עבור ההערה %{id}
@@ -1898,7 +1899,7 @@ he:
         facebook:
           title: כניסה עם פייסבוק
           alt: כניסה עם חשבון פייסבוק
-        windowslive:
+        microsoft:
           title: כניסה עם מיקרוסופט
           alt: כניסה עם חשבון מיקרוסופט
         github:
@@ -2764,6 +2765,7 @@ he:
       remove as friend: הסרה מרשימת חברים
       add as friend: הוספה כחבר
       mapper since: 'ממפה מאז:'
+      uid: 'מזהה משתמש:'
       ct status: 'תנאי תרומה:'
       ct undecided: עוד אין החלטה
       ct declined: נדחו
@@ -2956,7 +2958,9 @@ he:
     index:
       title: הערות ותגובות של %{user}
       heading: הערות של %{user}
-      subheading_html: הערות ותגובות של %{user}
+      subheading_html: הערות ש%{submitted} על־ידי %{user} או %{commented} מאת %{user}
+      subheading_submitted: שנשלחו
+      subheading_commented: קיבלו תגובות
       no_notes: אין הערות
       id: מזהה
       creator: יוצר
index 692428839c6d1c23aed6866e50487d9f6a8cb814..36d0cfcb4c2aef06162df32512e8d429a4d50510 100644 (file)
@@ -231,7 +231,7 @@ hi:
       openid: OpenID
       google: गूगल
       facebook: फेसबुक
-      windowslive: विन्डोज़ लाइव
+      microsoft: विन्डोज़ लाइव
       github: गिट्हब
       wikipedia: विकिपीडिया
   api:
@@ -942,6 +942,8 @@ hi:
       delete image: इस तस्वीर को हटाएं
       replace image: इस तस्वीर की जगह दूसरी लगाएं
       home location: घर का स्थान
+      show: दिखाएँ
+      delete: हटाएँ
   site:
     about:
       legal_1_1_terms_of_use: उपयोग की शर्तें
index 17ef797bc01923855638b7ba6f2f465adcf41186..f916c38e921658199cfac3b93f21a5d5d65fc5c8 100644 (file)
@@ -852,7 +852,7 @@ hr:
         place:
           city: Grad
           country: Država
-          county: Županija/grofovija
+          county: Županija
           farm: Farma
           hamlet: Zaseok
           house: Kuća
@@ -1251,7 +1251,7 @@ hr:
         facebook:
           title: Prijavi se sa Facebook-om
           alt: Prijavi se sa računom Facebook-a
-        windowslive:
+        microsoft:
           title: Prijavi se sa Windows Live-om
           alt: Prijavi se sa računom Windows Live-a
         github:
@@ -1320,8 +1320,8 @@ hr:
           iz bilo kakvih izvora zaštićenih autorskim pravima (npr. Google karte ili
           tiskane karte) bez izričitog dopuštenja nositelja autorskih prava.
     index:
-      js_1: Koristite internet preglednik koji ne podržava JavaScript, ili vam je
-        isključen JavaScript.
+      js_1: Koristite preglednik koji ne podržava JavaScript ili Vam je JavaScript
+        isključen.
       js_2: OpenStreetMap koristi JavaScript za slippy kartu.
       permalink: Permalink
       shortlink: Kratki link
index 79052ed5440f57f28346b41bb28cc8dcff80df6f..9c28c2cada880a5da3af63644fcac64913521b97 100644 (file)
@@ -1782,7 +1782,7 @@ hsb:
         facebook:
           title: Přizjewjenje z Facebook
           alt: Přizjewjenje z facebookowym kontom
-        windowslive:
+        microsoft:
           title: Přizjewjenje z Windows Live
           alt: Přizjewjenje z kontom Windows Live
         github:
index 5df67b97683e2fbf412bdb853abac493f8194f31..242aa3ae4d59872cdf913255cf720d8f3de969c7 100644 (file)
@@ -33,6 +33,7 @@
 # Author: Tacsipacsi
 # Author: Uno20001
 # Author: Urbalazs
+# Author: Zalán Hári
 # Author: Zizzerus
 ---
 hu:
@@ -246,6 +247,7 @@ hu:
       openid: OpenID
       google: Google
       facebook: Facebook
+      microsoft: Microsoft
       github: GitHub
       wikipedia: Wikipédia
   api:
@@ -261,6 +263,7 @@ hu:
         reopened_at_by_html: 'Újraaktiválta %{user} ekkor: %{when}'
       rss:
         title: OpenStreetMap jegyzetek
+        description_all: Jelentett, kommentált vagy lezárt feljegyzések listája
         description_area: Bejelentett, hozzászólással ellátott vagy lezárt jegyzetek
           a területeden [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]
         description_item: RSS hírcsatorna a %{id} jegyzethez
@@ -1882,7 +1885,7 @@ hu:
         facebook:
           title: Bejelentkezés Facebook-kal
           alt: Bejelentkezés Facebook fiókkal
-        windowslive:
+        microsoft:
           title: Bejelentkezés Microsofttal.
           alt: Bejelentkezés Microsoft fiókkal
         github:
@@ -1965,7 +1968,7 @@ hu:
         szerzői jogi vagy egyéb jogi kérdései vannak.
       legal_2_1_contact_the_osmf: lépj kapcsolatba az OSM Alapítvánnyal
       legal_2_2_html: Az OpenStreetMap, a nagyító logó és a State of the Map %{registered_trademarks_link}.
-      legal_2_2_registered_trademarks: az OSMF bejegyzett védjegye
+      legal_2_2_registered_trademarks: az OSMF bejegyzett védjegyei
       partners_title: Partnerek
     copyright:
       foreign:
@@ -2052,6 +2055,10 @@ hu:
         contributors_au_australia: Ausztrália
         contributors_au_geoscape_australia: Geoscape Australia
         contributors_ca_canada: Kanada
+        contributors_si_slovenia: Szlovénia
+        contributors_es_spain: Spanyolország
+        contributors_es_cc_by: CC BY 4.0
+        contributors_gb_united_kingdom: Egyesült Királyság
         contributors_footer_2_html: Az adatok befoglalása az OpenStreetMapbe nem jelenti
           azt, hogy az eredeti adatszolgáltató támogatja az OpenStreetMapet, garanciát
           nyújt vagy felelősséget vállal rá.
@@ -2851,7 +2858,9 @@ hu:
     index:
       title: '%{user} által beküldött vagy kommentált jegyzetek'
       heading: '%{user} jegyzetei'
-      subheading_html: '%{user} által beküldött vagy kommentált jegyzetek'
+      subheading_html: '%{user} által %{submitted} vagy %{commented} jegyzetek'
+      subheading_submitted: beküldött
+      subheading_commented: kommentált
       no_notes: Nincs jegyzet
       id: ID
       creator: Létrehozta
index 7a4063e4b5105769974c4b7493e1cb951ebef58c..da1b37ba13b67647d016fb93e0aafc813edfb143 100644 (file)
@@ -218,6 +218,7 @@ ia:
       openid: OpenID
       google: Google
       facebook: Facebook
+      microsoft: Microsoft
       github: GitHub
       wikipedia: Wikipedia
   api:
@@ -233,6 +234,7 @@ ia:
         reopened_at_by_html: Reactivate %{when} per %{user}
       rss:
         title: Notas de OpenStreetMap
+        description_all: Un lista de notas reportate, commentate o claudite
         description_area: Un lista de notas reportate, commentate o claudite in tu
           area [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]
         description_item: Syndication RSS pro le nota %{id}
@@ -1870,7 +1872,7 @@ ia:
         facebook:
           title: Aperir session con Facebook
           alt: Aperir session con un conto de Facebook
-        windowslive:
+        microsoft:
           title: Aperir session con Microsoft
           alt: Aperir session con un conto Microsoft
         github:
@@ -2761,6 +2763,7 @@ ia:
       remove as friend: Remover amico
       add as friend: Adder amico
       mapper since: 'Cartographo depost:'
+      uid: 'ID de usator:'
       ct status: 'Conditiones de contributor:'
       ct undecided: Indecise
       ct declined: Declinate
@@ -2949,7 +2952,9 @@ ia:
     index:
       title: Notas submittite o commentate per %{user}
       heading: Notas de %{user}
-      subheading_html: Notas submittite o commentate per %{user}
+      subheading_html: Notas %{submitted} o %{commented} per %{user}
+      subheading_submitted: submittite
+      subheading_commented: commentate
       no_notes: Sin notas
       id: ID
       creator: Creator
@@ -3040,6 +3045,7 @@ ia:
         cyclosm: CyclOSM
         cycle_map: Carta cyclista
         transport_map: Carta de transporto
+        tracestracktop_topo: Tracestrack Topo
         hot: Humanitario
         opnvkarte: ÖPNVKarte
       layers:
@@ -3058,6 +3064,8 @@ ia:
       andy_allan: Andy Allan
       opnvkarte_credit: Tegulas fornite per %{memomaps_link}
       memomaps: MeMoMaps
+      tracestrack_credit: Tegulas fornite per %{tracestrack_link}
+      tracestrack: Tracestrack
       hotosm_credit: Stilo de tegulas per %{hotosm_link} albergate per %{osm_france_link}
       hotosm_name: le Equipa Humanitari de OpenStreetMap
     site:
index 00943412a12f44b73e3be23607e9c002ce67a8e1..69501f68c772d48a00d45083f630f06e41806867 100644 (file)
@@ -1888,7 +1888,7 @@ id:
         facebook:
           title: Masuk dengan Facebook
           alt: Masuk dengan akun Facebook
-        windowslive:
+        microsoft:
           title: Masuk dengan Windows Live
           alt: Masuk dengan akun Windows Live
         github:
index 297191f9d1cb974cabcdc4b38d0e02c812bbf079..efc567067850db4133f09144ca6cfed5718b5ccf 100644 (file)
@@ -1864,6 +1864,9 @@ is:
       home location: Upphafsstaðsetning
       no home location: Þú hefur ekki stillt staðsetningu þína.
       update home location on click: Uppfæra staðsetninguna þegar ég smelli á kortið
+      show: Birta
+      delete: Eyða
+      undelete: Afturkalla eyðingu
     update:
       success: Notandasíða uppfært.
       failure: Gat ekki uppfært kjörstillingar.
@@ -1892,7 +1895,7 @@ is:
         facebook:
           title: Skrá inn með Facebook
           alt: Skrá inn með Facebook-aðgangi
-        windowslive:
+        microsoft:
           title: Skrá inn með Microsoft
           alt: Skrá inn með Microsoft-aðgangi
         github:
index e000c57818703ff1e3764576fb9d6637fa0c9324..2600c31f361a2b5c5024148759edd51012f796d2 100644 (file)
@@ -272,6 +272,7 @@ it:
       openid: OpenID
       google: Google
       facebook: Facebook
+      microsoft: Microsoft
       github: GitHub
       wikipedia: Wikipedia
   api:
@@ -287,6 +288,7 @@ it:
         reopened_at_by_html: Riaperta %{when} da %{user}
       rss:
         title: Note di OpenStreetMap
+        description_all: Un elenco di note segnalate, commentate o chiuse
         description_area: Una lista di note inserite, commentate o chiuse nella tua
           area [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]
         description_item: Feed rss per la nota %{id}
@@ -1898,6 +1900,7 @@ it:
       update home location on click: Aggiorna la posizione quando clicco sulla mappa?
       show: Mostra
       delete: Cancella
+      undelete: Annulla eliminazione
     update:
       success: Il profilo è stato aggiornato.
       failure: Impossibile aggiornare il profilo.
@@ -1926,7 +1929,7 @@ it:
         facebook:
           title: Accedi con Facebook
           alt: Accedi con un account Facebook
-        windowslive:
+        microsoft:
           title: Accedi con Microsoft
           alt: Accedi con un account Microsoft
         github:
@@ -2124,6 +2127,7 @@ it:
           (informazioni pubbliche della Serbia), 2018.
         contributors_rs_serbia: Serbia
         contributors_rs_rgz: Autorità geodetica serba
+        contributors_rs_open_data_portal: Portale nazionale degli open data
         contributors_si_credit_html: |-
           %{slovenia}: Contiene i dati provenienti dall'%{gu_link} e dal %{mkgp_link}
           (informazioni pubbliche della Slovenia).
@@ -2818,6 +2822,7 @@ it:
       remove as friend: Rimuovi amico
       add as friend: Aggiungi amico
       mapper since: 'Mappatore dal:'
+      uid: 'ID utente:'
       ct status: 'Termini di collaborazione:'
       ct undecided: Indeciso
       ct declined: Non accetto
@@ -3008,7 +3013,9 @@ it:
     index:
       title: Note inserite o commentate da %{user}
       heading: Note dell'utente %{user}
-      subheading_html: Note inserite o commentate da %{user}
+      subheading_html: Note %{submitted} o %{commented} da %{user}
+      subheading_submitted: inviate
+      subheading_commented: commentate
       no_notes: Nessuna nota
       id: Identificativo
       creator: Autore
@@ -3116,6 +3123,7 @@ it:
       andy_allan: Andy Allan
       opnvkarte_credit: Tasselli per gentile concessione di %{memomaps_link}
       memomaps: MeMoMaps
+      tracestrack_credit: Tasselli per gentile concessione di %{tracestrack_link}
       hotosm_credit: Stile tasselli di %{hotosm_link} ospitato da %{osm_france_link}
       hotosm_name: La squadra di OpenStreetMap Humanitarian
     site:
index 9869ab108cd800af603d1e21a1598e756c999c3f..13ec9bc9fcd3aa18520cb1de94d207292a9b0c95 100644 (file)
@@ -269,7 +269,7 @@ ja:
       openid: OpenID
       google: Google
       facebook: Facebook
-      windowslive: マイクロソフト
+      microsoft: マイクロソフト
       github: GitHub
       wikipedia: ウィキペディア
   api:
@@ -350,12 +350,12 @@ ja:
   browse:
     created: 作成
     closed: クローズ
-    created_ago_html: '%{time_ago} に作成されました'
+    created_ago_html: '%{time_ago} に作成'
     closed_ago_html: '%{time_ago}に閉じられました'
-    created_ago_by_html: '%{user}ã\81«ã\82\88ã\81£ã\81¦%{time_ago}ã\81«ä½\9cæ\88\90ã\81\95ã\82\8cã\81¾ã\81\97ã\81\9f'
-    closed_ago_by_html: '%{time_ago}に%{user}によって閉じられました'
-    deleted_ago_by_html: '%{time_ago}に%{user}によって削除されました'
-    edited_ago_by_html: '%{time_ago}に%{user}によって編集されました'
+    created_ago_by_html: '%{user}ã\81\8c%{time_ago}ã\81«ä½\9cæ\88\90'
+    closed_ago_by_html: '%{user}が%{time_ago}に閉じました'
+    deleted_ago_by_html: '%{user}が%{time_ago}に削除'
+    edited_ago_by_html: '%{user}が%{time_ago}に編集'
     version: バージョン
     in_changeset: 変更セット
     anonymous: 匿名
@@ -1795,7 +1795,7 @@ ja:
         facebook:
           title: Facebookでログイン
           alt: Facebook アカウントを使用してログイン
-        windowslive:
+        microsoft:
           title: Microsoftでログイン
           alt: Microsoftアカウントでログイン
         github:
index d2cb1a0d7d8e2d8d8c975c06d98c06ddf3d9c2c6..a5abc42d71a5ac365c218fdddb45eac3c025508f 100644 (file)
@@ -984,7 +984,7 @@ kab:
         facebook:
           title: Qqen s Facebook
           alt: Qqen s umidan Facebook
-        windowslive:
+        microsoft:
           title: Qqen s Windows Live
           alt: Qqen s umiḍan Windows Live
         github:
index bd64152827dc85b6018af40fec2dbc7b2c5ae881..d32001d7b5675f6a0fd5b3549671c8291e2ad8eb 100644 (file)
@@ -673,7 +673,7 @@ km:
           title: កត់ឈ្មោះចូលដោយប្រើ Google
         facebook:
           title: កត់ឈ្មោះចូលដោយប្រើ Facebook
-        windowslive:
+        microsoft:
           title: កត់ឈ្មោះចូលដោយប្រើ Windows Live
         github:
           title: កត់ឈ្មោះចូលដោយប្រើ GitHub
index 5925bc1a18ea87016719c39de91320ec7c4e2725..1a2964d2073224d735a8dfc44ce12ea0f09a0b6a 100644 (file)
@@ -170,7 +170,7 @@ kn:
       none: ಯಾವುದೂ ಇಲ್ಲ
       google: ಗೂಗಲ್
       facebook: ಫೇಸ್‍ಬುಕ್
-      windowslive: ವಿಂಡೋಸ್ ಲೈವ್
+      microsoft: ವಿಂಡೋಸ್ ಲೈವ್
       github: ಗಿಟ್‌ಹಬ್
       wikipedia: ವಿಕಿಪೀಡಿಯ
   api:
index 9fe8930a379baa515a8adc7079d50948627071a2..8783f551ec8c31366ab5b0c60a6ada2ab8912eb8 100644 (file)
@@ -1686,7 +1686,7 @@ ko:
         facebook:
           title: 페이스북으로 로그인
           alt: 페이스북 계정으로 로그인하기
-        windowslive:
+        microsoft:
           title: 윈도 라이브로 로그인하기
           alt: 윈도 라이브 계정으로 로그인하기
         github:
index 3afc544cf7a2a618b4039b7ef887867ae65cfc00..3cf67f7b5c98e144885fc98c11d752d0b49ce011 100644 (file)
@@ -228,7 +228,7 @@ ksh:
         facebook:
           title: Donn övver ene Zohjang op Facebook ennlogge
           alt: Donn övver ene Zohjang op Facebook ennlogge
-        windowslive:
+        microsoft:
           title: Donn medd enem Zohjang op Windows Live ennlogge
           alt: Donn medd enem Zohjang op Windows Live ennlogge
         github:
index 5f245f4f8cb0f89d282627a7dd07fc2a17b0042b..fa820475292998d78d919b0496f966f3e1a7a58b 100644 (file)
@@ -171,41 +171,41 @@ ku-Latn:
   datetime:
     distance_in_words_ago:
       about_x_hours:
-        one: teqrîben berî saetekê
+        one: teqrîben berî %{count} saetê
         other: teqrîben berî %{count} saetan
       about_x_months:
-        one: teqrîben berî mehekê
+        one: teqrîben berî %{count} mehê
         other: teqrîben berî %{count} mehan
       about_x_years:
-        one: teqrîben berî salekê
+        one: teqrîben berî %{count} salê
         other: teqrîben berî %{count} salan
       almost_x_years:
-        one: hema bêje berî salekê
-        other: hema bêja berî %{count} salan
+        one: hema bêje berî %{count} salê
+        other: hema bêje berî %{count} salan
       half_a_minute: berî nîv deqeyê
       less_than_x_seconds:
-        one: kêmtirî saniyeyekê
-        other: kêmtirî berî %{count} saniyeyan
+        one: Berî kêmtirî %{count} saniyeyê
+        other: Berî kêmtirî %{count} saniyeyan
       less_than_x_minutes:
-        one: berî kêmtir deqeyekê
+        one: berî kêmtir %{count} deqeyê
         other: berî kêmtir ji %{count} deqeyan
       over_x_years:
-        one: berî zêdetirî salekê
+        one: berî zêdetirî %{count} salê
         other: berî zêdetirî %{count} salan
       x_seconds:
-        one: berî saniyeyekê
+        one: berî %{count} saniyeyê
         other: Berî %{count} saniyeyan
       x_minutes:
-        one: Berî deqeyekê
+        one: Berî %{count} deqeyê
         other: Berî %{count} deqeyan
       x_days:
-        one: berî rojekê
+        one: berî %{count} rojê
         other: berî %{count} rojan
       x_months:
-        one: berî mehekê
-        other: beî %{count} mehan
+        one: berî %{count} mehê
+        other: berî %{count} mehan
       x_years:
-        one: berî salekê
+        one: berî %{count} salê
         other: berî %{count} salan
   editor:
     default: Standard (vêga %{name})
@@ -221,6 +221,7 @@ ku-Latn:
       openid: OpenID
       google: Google
       facebook: Facebook
+      microsoft: Microsoft
       github: GitHub
       wikipedia: Wîkîpediya
   api:
@@ -316,10 +317,10 @@ ku-Latn:
     no_comment: (bêşirove)
     part_of: Perçeyek ji
     part_of_relations:
-      one: 1 pêwendî
+      one: '%{count} pêwendî'
       other: '%{count} pêwendî'
     part_of_ways:
-      one: 1 rê
+      one: '%{count} rê'
       other: '%{count} rê'
     download_xml: XMLê daxe
     view_history: Dîrokê Bibîne
@@ -335,6 +336,8 @@ ku-Latn:
       relation: Eleqe (%{count})
       relation_paginated: Eleqe (%{x}-%{y} bi tevahî %{count})
       comment: Şîrove (%{count})
+      hidden_comment_by_html: Şîroveya veşartî ji %{user} %{time_ago}
+      comment_by_html: Şîroveya ji %{user} %{time_ago}
       changesetxml: Desteya guhartinan a XML
       osmchangexml: osmChange XML
       feed:
@@ -361,7 +364,7 @@ ku-Latn:
       history_title_html: Dîroka Eleqeyêː %{name}
       members: Endam
       members_count:
-        one: 1 endam
+        one: '%{count} endam'
         other: '%{count} endam'
     relation_member:
       entry_role_html: '%{type} %{name} bi rola %{role}'
@@ -529,9 +532,9 @@ ku-Latn:
       comment_link: Vê nivîsê şîrove bike
       reply_link: Peyamekî bişînê nivîserê
       comment_count:
-        zero: Bêşîrove
         one: '%{count} şîrove'
         other: '%{count} şîrove'
+      no_comments: Ti şîrove tine
       edit_link: Vê nivîsê biguherîne
       hide_link: Vê nivîsê veşêre
       unhide_link: Veşartina vê nivîsê rake
@@ -607,6 +610,10 @@ ku-Latn:
       success: '%{name} ji hevalên te hate derxistin.'
       not_a_friend: '%{name} ne hevalekî/eke te ye.'
   geocoder:
+    search:
+      title:
+        results_from_html: Netîceyên ji %{results_link}
+        latlon: Daxilî
     search_osm_nominatim:
       prefix:
         aerialway:
@@ -987,7 +994,7 @@ ku-Latn:
           fitness_station: Navenda Sporê
           garden: Baxçe
           golf_course: Cihê Golfê
-          horse_riding: Ajotina Hespê
+          horse_riding: Merkeza Ajotina Hespê
           ice_rink: Şemitandina li ser cemedê
           marina: Marîna
           miniature_golf: Golfa Mînyatûr
@@ -1399,10 +1406,11 @@ ku-Latn:
       status: Rewş
       reports: Rapor
       last_updated: Rojanekirina dawî
+      last_updated_time_ago_user_html: '%{time_ago} ji aliyê %{user} ve'
       link_to_reports: Raporan Bibîne
       reports_count:
-        one: 1 Rapor
-        other: '%{count} Raporan'
+        one: '%{count} Rapor'
+        other: '%{count} Rapor'
       reported_item: Hêmanê Raporkirî
       states:
         ignored: Guh nedê
@@ -1411,9 +1419,9 @@ ku-Latn:
     show:
       title: '%{status} Pirsgirêk #%{issue_id}'
       reports:
-        zero: Rapor tune ye
-        one: 1 rapor
+        one: '%{count} rapor'
         other: '%{count} raporan'
+      no_reports: Ti raporekî tine
       report_created_at: Pêşî di %{datetime} de hatiye raporkirin
       last_resolved_at: Herî dawî di %{datetime} de hat çareserkirin
       last_updated_at: Ji aliyê %{displayname} ve herî dawî di %{datetime} de hat
@@ -1824,6 +1832,9 @@ ku-Latn:
       no home location: Te cihê malê xwe diyar nekir.
       update home location on click: Gava ku tu bitikînî ser nexşeyê bila cihê malê
         te were rojanekirin?
+      show: Nîşan bide
+      delete: Jê bibe
+      undelete: Jêbirinê vegerîne
     update:
       success: Profîl hate rojanekirin.
       failure: Profîlê nikare rojane bike.
@@ -1852,9 +1863,9 @@ ku-Latn:
         facebook:
           title: Bi Facebookê têkeve
           alt: Bi hesabekî Facebookê têkeve
-        windowslive:
-          title: Bi Windows Live'ê têkeve
-          alt: Bi hesabê xwe yê Windows Liveê têkeve
+        microsoft:
+          title: Bi Microsoftê têkeve
+          alt: Bi hesabê xwe yê Microsoftê têkeve
         github:
           title: Bi GitHub'ê têkeve
           alt: Bi hesabekî GitHubê têbikeve
@@ -1936,6 +1947,7 @@ ku-Latn:
         contributors_intro_html: 'Bi hezaran beşdarên me hene. Herwiha em ji ajansên
           nexşekirinê yên netewî û çavkaniyên din jî daneyên bi lîsansa-vekirî îhtîwa
           dikin, hinek ji wan ev in:'
+        contributors_2_contributors_page: Rûpela beşdaran
         contributors_footer_2_html: Daxilbûna daneyan a di OpenStreetMapê de nayê
           maneya ku peydakera daneyan yê eslî OpenStreetMapê teswîb dike, garantiyekî
           temîn dike an jî berpirsîyariyekê qebûl dike.
@@ -2470,6 +2482,8 @@ ku-Latn:
       consider_pd: Tevî evên li jorê, tu dikarî bibijêrî ku beşdariyên te wek Malê
         Giştî (malê ku ne aîdî şexsekî ye) were qebûlkirin.
       consider_pd_why: Ev çi ye?
+      readable_summary: kurteya xwendinbar ê li gor însanan
+      informal_translations: tercimeyên nefermî
       continue: Dewam bike
       decline: Red bike
       you need to accept or decline: Ji bo ku dewam bikî, xêra xwe şertên beşdariyê
@@ -2650,19 +2664,19 @@ ku-Latn:
       time_past_html: '%{time} qediya.'
       block_duration:
         hours:
-          one: 1 saetê
+          one: '%{count} saet'
           other: '%{count} saetan'
         days:
-          one: 1 roj
+          one: '%{count} roj'
           other: '%{count} rojan'
         weeks:
-          one: 1 heftî
+          one: '%{count} heftî'
           other: '%{count} heftiyan'
         months:
-          one: 1 meh
+          one: '%{count} meh'
           other: '%{count} mehan'
         years:
-          one: 1 sal
+          one: '%{count} sal'
           other: '%{count} salan'
     blocks_on:
       title: Astengiyên ser %{name}
@@ -2704,7 +2718,9 @@ ku-Latn:
     index:
       title: Notên ku ji aliyê %{user} ve hatine şandin an jî şirovekirin
       heading: Notên %{user}
-      subheading_html: Notên ku ji aliyê %{user} ve hatine şandin an jî şirovekirin
+      subheading_html: Notên ku ji aliyê %{user} ve %{submitted} an %{commented}
+      subheading_submitted: hatiye şandin
+      subheading_commented: şîrovekirî li ser
       no_notes: Not tine
       id: Id
       creator: Çêker
@@ -2717,6 +2733,16 @@ ku-Latn:
       open_title: 'Nota ku nehatiye çarekirin #%{note_name}'
       closed_title: 'Nota ku hatiye çarekirin #%{note_name}'
       hidden_title: 'Notê veşartî #%{note_name}'
+      event_opened_by_html: Ji aliyê %{user} ve %{time_ago} hatiye çêkirin
+      event_opened_by_anonymous_html: Ji aliyê anonîmekî ve %{time_ago} hatiye çêkirin
+      event_commented_by_html: Şîrove ji %{user} %{time_ago}
+      event_commented_by_anonymous_html: Şîroveya ji anonîm %{time_ago}
+      event_closed_by_html: Ji aliyê %{user} ve %{time_ago} hate çareserkirin
+      event_closed_by_anonymous_html: Ji aliyê anonîmekî ve %{time_ago} hatiye çareserkirin
+      event_reopened_by_html: Ji aliyê %{user} ve %{time_ago} cardin hatiye aktîvkirin
+      event_reopened_by_anonymous_html: Ji aliyê anonîmekî ve %{time_ago} cardin hatiye
+        aktîvkirin
+      event_hidden_by_html: Hatiye veşartin ji aliyê %{user} ve %{time_ago}
       report: vê nîşeyê gilî bike
       anonymous_warning: Ji ber ku di vê notê de ji bikarhênerên anonîm şirove hene,
         divê bi awayekî serbixwe were teyîdkirin.
@@ -2776,11 +2802,11 @@ ku-Latn:
       locate:
         title: Cihê min nîşan bide
         metersPopup:
-          one: Tu di nava 1 metreya vê nuqteyê de yî
+          one: Tu di nava %{count} metreya vê nuqteyê de yî
           other: Tu di nava %{count} metreyên vê nuqteyê de yî
         feetPopup:
-          one: Tu 1 gav di nava vê nuqteyê de yî
-          other: Tu d nava %{count} gavên vê nuqteyê de yî
+          one: Tu %{count} gav di nava vê nuqteyê de yî
+          other: Tu di nava %{count} gavên vê nuqteyê de yî
       base:
         standard: Standard
         cyclosm: CyclOSM
@@ -2795,6 +2821,10 @@ ku-Latn:
         gps: Şopên GPSê yên giştî
         overlays: Ji bo ku pirsgirêkan çareser bikî tebeqeyan bide aktîvkirin
         title: Tebeqeyên nexşeyê
+      openstreetmap_contributors: Beşdarên OpenStreetMapê
+      make_a_donation: Bexş bike
+      website_and_api_terms: Malper û şertên APIyê
+      osm_france: OpenStreetMap Fransa
     site:
       edit_tooltip: Nexşeyê sererast bike
       edit_disabled_tooltip: Ji bo sererastkirina nexşeyê nêzîk bike
index 7d92e3a5ac69ca722c0e2c0615dbabfb3f2ceeeb..824f8fce1f80bb9cd4469d4cc496decb0ddf92c5 100644 (file)
@@ -48,7 +48,7 @@ lb:
     errors:
       messages:
         invalid_email_address: schéngt keng valabel E-Mail-Adress ze sinn
-        email_address_not_routable: ass net routingfäheg
+        email_address_not_routable: ass net routingfäeg
     models:
       acl: Zougrëffssteierlëscht
       changeset: Set vun Ännerungen
@@ -96,7 +96,7 @@ lb:
         allow_write_api: d'Kaart änneren
         allow_read_gpx: Zougrëff op hir privat GPS-Spueren
         allow_write_gpx: GPS-Spueren eroplueden
-        allow_write_notes: Notizë beaarbechten
+        allow_write_notes: Notize beaarbechten
       diary_comment:
         body: Text
       diary_entry:
@@ -108,7 +108,7 @@ lb:
         language_code: Sprooch
       doorkeeper/application:
         name: Numm
-        redirect_uri: Weiderleedungs-URIën
+        redirect_uri: Weiderleedungs-URIen
         confidential: Confidentiel Applikatioun?
         scopes: Autorisatiounen
       friend:
@@ -155,14 +155,14 @@ lb:
     help:
       doorkeeper/application:
         confidential: Et gëtt eng Applikatioun verwent, bei där d'Clientsgeheimnis
-          vertraulech behandelt ka ginn (nativ- an eesäiteg Appë sinn net vertraulech)
+          vertraulech behandelt ka ginn (nativ- an eesäiteg Appe sinn net vertraulech)
         redirect_uri: Pro URI eng Zeil benotzen
       trace:
         tagstring: Mat Komma getrennt
       user_block:
         reason: De Grond, firwat de Benotzer / d'Benotzerin gespaart ass. Sief wannechgelift
           esou roueg a sachlech wéi méiglech. Beschreif d'Lag méiglechst detailléiert
-          an denk dorun, datt déng Noriicht ëffentlech siichtbar ass. Denk och dorun,
+          an denk dorun, datt deng Noriicht ëffentlech siichtbar ass. Denk och dorun,
           datt net all d'Benotzer de Jargon vum Gemeinschaftsprojet verstinn a benotz
           wannechgelift Formuléierungen, déi fir Laie verständlech sinn.
         needs_view: Muss sech de Benotzer umellen, ier dës Spär opgehuewe gëtt?
@@ -1840,7 +1840,7 @@ lb:
         facebook:
           title: Mat Facebook aloggen
           alt: Mat engem Facebook Benotzerkont aloggen
-        windowslive:
+        microsoft:
           title: Mat Microsoft aloggen
           alt: Mat engem Microsoft-Benotzerkont aloggen
         github:
index b09bc0c78c35b859923db04eec83b0adfcb4dffb..7447cf52140db13012679a28a83e27f5c9344f16 100644 (file)
@@ -1775,6 +1775,9 @@ lt:
       home location: Pradinė lokacija
       no home location: Jūs neįvedėte savo namų pozicijos
       update home location on click: Atnaujinti namų poziciją paspaudus ant žemėlapio?
+      show: Rodyti
+      delete: Trinti
+      undelete: Anuliuoti trynimą
     update:
       success: Profilis atnaujintas.
       failure: Nepavyko atnaujinti profilio.
@@ -1803,7 +1806,7 @@ lt:
         facebook:
           title: Prisijungti su Facebook
           alt: Prisijungti su Facebook paskyra
-        windowslive:
+        microsoft:
           title: Prisijungti su Windows Live
           alt: Prisijungti su Windows Live paskyra
         github:
index 3c78c0c8a58fc011aebfe68d545a11692d311c03..3edc42d98c4a4b0e4cc727df3d7b01dcf4bc44e3 100644 (file)
@@ -7,6 +7,7 @@
 # Author: Cuu508
 # Author: Danieldegroot2
 # Author: Edgars2007
+# Author: Edgarsdna
 # Author: GreenZeb
 # Author: Jmg.cmdi
 # Author: Karlis
@@ -156,6 +157,10 @@ lv:
   datetime:
     distance_in_words_ago:
       half_a_minute: pirms pusminūtes
+      less_than_x_minutes:
+        zero: pirms mazāk nekā %{count} minūtēm
+        one: pirms mazāk nekā %{count} minūtes
+        other: pirms mazāk nekā %{count} minūtēm
   editor:
     default: Noklusējuma (pašlaik %{name})
     id:
@@ -253,6 +258,10 @@ lv:
     anonymous: anonīms
     no_comment: (nav komentāru)
     part_of: Daļa no
+    part_of_relations:
+      zero: '%{count} attiecības'
+      one: '%{count} attiecība'
+      other: '%{count} attiecības'
     download_xml: Lejupielādēt XML
     view_history: Skatīt vēsturi
     view_details: Skatīt detaļas
@@ -385,6 +394,9 @@ lv:
       nearby mapper: Kartētājs tuvējā apkārtnē
       friend: Draugs
     show:
+      title: Mans vadības panelis
+      no_home_location_html: '%{edit_profile_link} un iestatiet savu atrašanās vietu,
+        lai redzētu tuvumā esošos lietotājus.'
       my friends: Mani draugi
       no friends: Tu  vēl neesi pievienojis draugus.
       nearby users: Citi tuvumā esoši lietotāji
@@ -1195,6 +1207,7 @@ lv:
     help: Palīdzība
     about: Par
     copyright: Autortiesības
+    communities: Kopienas
     community: Kopiena
     community_blogs: Kopienas emuāri
     community_blogs_title: OpenStreetMap kopienas locekļu emuāri
@@ -1462,7 +1475,7 @@ lv:
         facebook:
           title: Pieslēgties ar Facebook
           alt: Pieslēgties ar Facebook kontu
-        windowslive:
+        microsoft:
           title: Pieslēgties ar Microsoft
           alt: Pieslēgties ar Microsoft kontu
         github:
@@ -1489,6 +1502,7 @@ lv:
   site:
     about:
       next: Tālāk
+      heading_html: '%{copyright}OpenStreetMap %{br} datu sniedzēji'
       used_by_html: '%{name} darbina kartes datus simtiem mājaslapu, mobilajās aplikācijās
         un aparatūras ierīcēs'
       lede_text: OpenStreetMap būvē kartētāju kopiena, kuri iegulda un uztur datus
@@ -1676,6 +1690,7 @@ lv:
       where_am_i: Kur tas ir?
       where_am_i_title: Aprakstiet pašreizējo atrašanās vietu izmantojot meklētāju
       submit_text: OK
+      reverse_directions_text: Apgriezt virzienu
     key:
       table:
         entry:
@@ -1769,6 +1784,20 @@ lv:
         para_1: Ja tu vēlies labot ko mazu un nav laika lai piereģistrētos vai iemācītos
           kā rediģēt, ir iespējams vienkārši atstāt piezīmi.
         the_map: karte
+    communities:
+      title: Kopienas
+      lede_text: |-
+        OpenStreetMap veido vai izmanto cilvēki no visas pasaules.
+        Daudzi piedalās individuāli, bet citi ir izveidojuši kopienas.
+        Šīs grupas ir dažāda lieluma un pārstāv dažādas ģeogrāfiskās teritorijas - no mazām pilsētām līdz lieliem daudzvalstu reģioniem.
+        Tās var būt arī formālas vai neformālas.
+      local_chapters:
+        list_text: 'Šādas kopienas ir oficiāli izveidotas kā vietējās nodaļas:'
+      other_groups:
+        other_groups_html: |-
+          Nav nepieciešams formāli izveidot grupu tādā pašā apjomā kā vietējās nodaļas.
+          Patiešām, daudzas grupas ļoti veiksmīgi pastāv kā neformāla cilvēku pulcēšanās vai kā
+          kopienas grupa. Tās var izveidot vai pievienoties ikviens. Vairāk lasiet %{communities_wiki_link}.
   traces:
     visibility:
       private: Privāts (kopīgots kā anonīms, nesakārtoti punkti)
@@ -1981,6 +2010,8 @@ lv:
       my profile: Mans profils
       my settings: Mani iestatījumi
       my comments: Mani komentāri
+      my_preferences: Mani iestatījumi
+      my_dashboard: Mans vadības panelis
       blocks on me: Bloki uz mani
       blocks by me: Manis piešķirtie Bloki
       send message: Nosūtīt ziņojumu
@@ -2166,6 +2197,7 @@ lv:
       open_title: 'Neatrisināta piezīme: #%{note_name}'
       closed_title: 'Atrisināta piezīme: #%{note_name}'
       hidden_title: 'Paslēpta piezīme #%{note_name}'
+      event_opened_by_html: Izveidoja %{user} %{time_ago}
       report: Ziņot par šo piezīmi
       anonymous_warning: Šī piezīme ietver komentārus no anonīmiem lietotājiem, kurus
         nepieciešams pārbaudīt neatkarīgi.
@@ -2174,6 +2206,10 @@ lv:
       reactivate: Atkal aktivizēt
       comment_and_resolve: Komentēt un atrisināt
       comment: Komentēt
+      report_link_html: Ja šajā piezīmē ir konfidenciāla informācija, kas jādzēš,
+        varat %{link}.
+      other_problems_resolve: Visas pārējās problēmas, kas saistītas ar piezīmi, lūdzu,
+        atrisiniet paši, pievienojot komentāru.
     new:
       title: Jauna piezīme
       intro: Piezīmes domātas, lai norādītu uz kartes kļūdām. Ja vēlies pamēģināt
@@ -2182,6 +2218,9 @@ lv:
         precīzāk un detalizētāk visu izklāsti, kā arī marķieri novieto pēc iespējas
         pareizākajā pozīcijā. (Lūdzu neizmantojiet personīgo informāciju vai arī informāciju
         no citām ar autortiesībām aizsargātām kartēm.)
+      advice: Jūsu piezīme ir publiska, un to var izmantot kartes atjaunināšanai,
+        tāpēc neievadiet personisku informāciju vai informāciju no kartēm vai direktoriju
+        sarakstiem, uz kuriem attiecas autortiesības.
       add: Pievienot piezīmi
   javascripts:
     close: Aizvērt
@@ -2197,6 +2236,7 @@ lv:
       custom_dimensions: Uzstādīt pielāgotus izmērus
       format: 'Formāts:'
       scale: 'Mērogs:'
+      image_dimensions: Attēlā būs redzams standarta slānis %{width} x %{height}
       download: Lejupielādēt
       short_url: Īsais URL
       include_marker: Iekļaut marķieri
@@ -2228,6 +2268,8 @@ lv:
         data: Kartes dati
         overlays: Iespējot pārklājumus, lai novērstu trūkumus kartei
         title: Slāņi
+      make_a_donation: Veikt ziedojumu
+      website_and_api_terms: Tīmekļa vietnes un API noteikumi
     site:
       edit_tooltip: Rediģēt karti
       edit_disabled_tooltip: Pietuvini, lai rediģētu karti
@@ -2246,10 +2288,12 @@ lv:
         unhide_comment: parādīt
     edit_help: Pārvieto karti un pietuvini vietai, kuru vēlies labot, tad spied šeit.
     directions:
+      ascend: Kāpums
       engines:
         fossgis_osrm_car: Ar mašīnu (OSRM)
         graphhopper_bicycle: Ar velosipēdu (GraphHopper)
         graphhopper_foot: Ar kājām (GraphHopper)
+      descend: Kritums
       directions: Norādes
       distance: Attālums
       errors:
@@ -2285,7 +2329,7 @@ lv:
         end_oneway_without_exit: Vienvirziena ceļa beigas pie %{name}
         roundabout_with_exit: Pēc apkārtceļa nogriezieties uz izejas %{exit} pie %{name}
         unnamed: nenosaukts ceļš
-        courtesy: Virzienos, pieklājīgi no %{link}
+        courtesy: Norādes no %{link}
         exit_counts:
           first: "1."
           second: "2."
index 720b34c6bcea61ebbaa033481395aeb25a4494a4..f6045106faf0271f872ba376c330914d2ac31510 100644 (file)
@@ -220,6 +220,7 @@ mk:
       openid: OpenID
       google: Google
       facebook: Фејсбук
+      microsoft: Microsoft
       github: GitHub
       wikipedia: Википедија
   api:
@@ -235,6 +236,7 @@ mk:
         reopened_at_by_html: Повторно отворено %{when} од %{user}
       rss:
         title: Белешки на OpenStreetMap
+        description_all: Список на пријавени, коментирани или затворени белешки
         description_area: Список на белешки, создадени, искометирани или затворени,
           во вашата околина [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]
         description_item: RSS-тековник за белешката %{id}
@@ -1859,7 +1861,7 @@ mk:
         facebook:
           title: Најава со Фејсбук
           alt: Најава со профил на Фејсбук
-        windowslive:
+        microsoft:
           title: Најава со Microsoft
           alt: Најава со сметка на Microsoft
         github:
@@ -2747,6 +2749,7 @@ mk:
       remove as friend: Отстрани од пријатели
       add as friend: Додај во пријатели
       mapper since: 'Картограф од:'
+      uid: 'Корисничка назнака:'
       ct status: 'Услови за учество:'
       ct undecided: Неодлучено
       ct declined: Одбиен
@@ -2937,7 +2940,9 @@ mk:
     index:
       title: Белешки создадени или коментирани од %{user}
       heading: Белешки на %{user}
-      subheading_html: Белешки создадени или коментирани од %{user}
+      subheading_html: Белешки %{submitted} или %{commented} од %{user}
+      subheading_submitted: создадени
+      subheading_commented: коментирани
       no_notes: Нема белешки
       id: Назнака
       creator: Создавач
@@ -3027,6 +3032,7 @@ mk:
         cyclosm: CyclOSM
         cycle_map: Велосипедска
         transport_map: Сообраќајна
+        tracestracktop_topo: Tracestrack Топо
         hot: Хуманитарна
         opnvkarte: ÖPNVKarte
       layers:
@@ -3045,6 +3051,8 @@ mk:
       andy_allan: Енди Алан
       opnvkarte_credit: Полињата се доставени од %{memomaps_link}
       memomaps: MeMoMaps
+      tracestrack_credit: Полињата се доставени од %{tracestrack_link}
+      tracestrack: Tracestrack
       hotosm_credit: Стилот на полињата е од %{hotosm_link} вдомен од %{osm_france_link}
       hotosm_name: Екипа на Хуманитарната OpenStreetMap
     site:
index 1fe000ae9f1f7566010f050f24e09bf4a4c2102f..b8183b232ddf858878525ed3809b19a262c83b66 100644 (file)
@@ -580,7 +580,7 @@ mo:
         facebook:
           title: Ынтраря ку ажуторул Facebook
           alt: Ынтраря ку ажуторул контулуй де Facebook
-        windowslive:
+        microsoft:
           title: Ынтраря ку ажуторул Windows Live
           alt: Ынтраря ку ажуторул контулуй де Windows Live
         github:
index 129e0d1a10efab85d963f59f6b35c6c9ebac3818..176c877d400329d89ec47b9278eadf0449475a69 100644 (file)
@@ -5,6 +5,7 @@
 # Author: Anakmalaysia
 # Author: Hakimi97
 # Author: Izing
+# Author: Izington
 # Author: Jeluang Terluang
 # Author: Karmadunya9-
 # Author: Macofe
@@ -200,6 +201,7 @@ ms:
       openid: OpenID
       google: Google
       facebook: Facebook
+      microsoft: Microsoft
       github: GitHub
       wikipedia: Wikipedia
   api:
@@ -1464,7 +1466,7 @@ ms:
         facebook:
           title: Log masuk dengan Facebook
           alt: Log masuk dengan Akuan Facebook
-        windowslive:
+        microsoft:
           title: Log masuk dengan Window Live
           alt: Log masuk dengan Akaun Windows Live
         github:
index 34e08cea6eef47f80e9c17397b291ac64ef11337..6d8323aab45a8da327ce43f4cf0bec5a60a355df 100644 (file)
@@ -1616,7 +1616,7 @@ nb:
         facebook:
           title: Logg inn med Facebook
           alt: Logg inn med en Facebook-konto
-        windowslive:
+        microsoft:
           title: Logg inn med Microsoft
           alt: Logg inn med en Microsoft-konto
         github:
index 95794336a795d482c951f3622cc58f09fbc78195..02843f1ed06f10ae9fceb039637074c44f4d1a1e 100644 (file)
@@ -272,6 +272,7 @@ nl:
       openid: OpenID
       google: Google
       facebook: Facebook
+      microsoft: Microsoft
       github: GitHub
       wikipedia: Wikipedia
   api:
@@ -287,6 +288,8 @@ nl:
         reopened_at_by_html: '%{when} opnieuw geactiveerd door %{user}'
       rss:
         title: OpenStreetMap-opmerkingen
+        description_all: Een lijst met gerapporteerde, becommentarieerde of gesloten
+          opmerkingen
         description_area: Een lijst met opmerkingen en reacties in uw gebied [(%{min_lat}|%{min_lon})
           -- (%{max_lat}|%{max_lon})]
         description_item: Een RSS-feed voor opmerking %{id}
@@ -1931,7 +1934,7 @@ nl:
         facebook:
           title: Aanmelden met Facebook
           alt: Aanmelden met een Facebookaccount
-        windowslive:
+        microsoft:
           title: Aanmelden met Microsoft
           alt: Aanmelden met een Microsoft-account
         github:
@@ -2832,6 +2835,7 @@ nl:
       remove as friend: Vriend verwijderen
       add as friend: Vriend toevoegen
       mapper since: 'Mapper sinds:'
+      uid: 'Gebruikers-ID:'
       ct status: 'Voorwaarden voor bijdragen:'
       ct undecided: Onbeslist
       ct declined: Afgewezen
@@ -3024,7 +3028,9 @@ nl:
     index:
       title: Opmerkingen gemaakt door %{user}
       heading: Opmerkingen van %{user}
-      subheading_html: Opmerkingen gemaakt door %{user}
+      subheading_html: Opmerkingen %{submitted} of %{commented} door %{user}
+      subheading_submitted: verzonden
+      subheading_commented: gereageerd op
       no_notes: Geen opmerkingen
       id: Id
       creator: Auteur
index e5cda0b9c0babc3c75b33ab897cf31dc5653c617..2b594f0bbf5565b08c7d083cfd77b5be512b67d7 100644 (file)
@@ -11,6 +11,7 @@
 # Author: Gunnernett
 # Author: Harald Khan
 # Author: Macofe
+# Author: Maddy from Celeste
 # Author: McDutchie
 # Author: Nemo bis
 # Author: Nghtwlkr
@@ -26,9 +27,11 @@ nn:
     formats:
       friendly: '%e %B %Y kl. %H:%M'
   helpers:
+    file:
+      prompt: Vel fil
     submit:
       diary_comment:
-        create: Lagre
+        create: Kommenter
       diary_entry:
         create: Publiser
         update: Oppdater
@@ -39,6 +42,9 @@ nn:
       client_application:
         create: Registrer
         update: Oppdater
+      oauth2_application:
+        create: Registrer
+        update: Oppdater
       redaction:
         create: Lag maskering
         update: Lagre markering
@@ -127,26 +133,32 @@ nn:
         description: Skildring
       user:
         email: E-post
-        new_email: 'Ny e-postadresse:'
+        email_confirmation: Stadfesting av e-post
+        new_email: Ny e-postadresse
         active: Aktive
         display_name: Visningsnamn
-        description: Skildring
-        home_lat: 'Breiddegrad:'
-        home_lon: 'Lengdegrad:'
-        languages: Språk
+        description: Skildring profilen
+        home_lat: Breiddegrad
+        home_lon: Lengdegrad
+        languages: Føretrekte språk
+        preferred_editor: Føretrekt redigeringsprogram
         pass_crypt: Passord
         pass_crypt_confirmation: Stadfest passord
     help:
       trace:
         tagstring: kommaseparert
       user_block:
+        reason: Årsaka for at brukaren vert blokkert. Ver venleg og ver so sindig
+          og fornuftig som mogleg, gje so mykje opplysingar om situasjonen som du
+          kan med tanke på at meldinga vil vera synleg for ålmenta. Hugs på at ikkje
+          alle brukarar har kjennskap til sjargongen, so prøv å bruka ålmenne omgrep.
         needs_view: Må brukaren logge inn før denne blokkeringa vert fjerna?
       user:
         new_email: ' (vis aldri offentleg)'
   datetime:
     distance_in_words_ago:
       about_x_hours:
-        one: omkring 1 time sidan
+        one: omkring %{count} time sidan
         other: omkring %{count} timar sidan
       about_x_months:
         one: omkring 1 månad sidan
@@ -157,6 +169,7 @@ nn:
       almost_x_years:
         one: nesten 1 år sidan
         other: nesten %{count} år sidan
+      half_a_minute: for eit halvminutt sidan
       less_than_x_seconds:
         one: mindre enn 1 sekund sidan
         other: mindre enn %{count} sekund sidan
@@ -188,16 +201,18 @@ nn:
       description: Lokalt installert program (JOSM eller Merkaartor)
   auth:
     providers:
+      none: Ingen
       openid: OpenID
       google: Google
       facebook: Facebook
+      microsoft: Microsoft
       github: GitHub
       wikipedia: Wikipedia
   api:
     notes:
       comment:
-        opened_at_html: Oppretta for %{when} sidan
-        opened_at_by_html: Oppretta for %{when} sidan av %{user}
+        opened_at_html: Oppretta %{when}
+        opened_at_by_html: Oppretta %{when} av %{user}
         commented_at_html: Oppdatert %{when}
         commented_at_by_html: Oppdatert %{when} av %{user}
         closed_at_html: Løyst %{when}
@@ -210,11 +225,37 @@ nn:
       entry:
         comment: Kommentar
         full: Fullstendig merknad
+  account:
+    deletions:
+      show:
+        title: Slett kontoen min
+        warning: Åtvaring! Sletting av konto er endeleg, og kan ikkje gjerast om.
+        delete_account: Slett konto
+        delete_introduction: 'Du kan sletta kontoen din hjå OpenStreetMap med knappen
+          under. Merk fylgjande:'
+        delete_profile: Profilinformasjonen din, medrekna profilbilde, skildring og
+          heimestad vil fjernast.
+        delete_display_name: Det viste namnet ditt vil fjernast, og kan brukast av
+          andre kontoar.
+        retain_caveats: Somme opplysingar vil verte tatt vare på, til og med etter
+          at kontoen din er sletta.
+        retain_edits: Eventuelle redigeringer av kartdatabasen vil behaldast.
+        retain_traces: Spor du har lasta opp vil behaldast.
+        retain_diary_entries: Innlegg og kommentarar frå deg i brukardagboken vil
+          verte tekne vare på, men skylte frå ålmenta.
+        retain_notes: Merknadane og kommentarane dine vil verte tekne vare på, men
+          skylt frå ålmenta.
+        retain_changeset_discussions: Tilskota dine til diskusjonar om endringssett
+          vil behaldast.
+        retain_email: E-postadressa di vil behaldast.
+        confirm_delete: Er du sikker?
+        cancel: Bryt av
   accounts:
     edit:
       title: Rediger konto
       my settings: Innstellingane mine
-      current email address: 'Noverande e-postadresse:'
+      current email address: Noverande e-postadresse
+      external auth: Ekstern autentisering
       openid:
         link text: kva er dette?
       public editing:
@@ -225,7 +266,7 @@ nn:
           er anonyme.
         disabled link text: kvifor can eg ikkje redigere?
       contributor terms:
-        heading: 'Bidragsytervilkår:'
+        heading: Vilkår for bidragsytarar
         agreed: Du har godkjent dei nye bidragsytervilkåra
         not yet agreed: Du har endå ikkje godkjent dei nye bidragsytervilkåra.
         review link text: Vennligst følg denne lenkja når det passar deg, for å sjå
@@ -234,20 +275,46 @@ nn:
           offentleg eigedom (Public Domain).
         link text: kva er dette?
       save changes button: Lagre endringar
+      delete_account: Slett konto...
     go_public:
-      heading: 'Offentleg redigering:'
+      heading: Offentleg redigering
+      currently_not_public: Nett no er redigeringane dine anonyme, og folk kan ikkje
+        senda deg meldingar eller sjå kor du er. For å visa kva du har redigert og
+        la folk kontakta deg gjennom nettstaden, klikk på knappen nedanfor.
+      only_public_can_edit: Sidan overgangen til 0.6-API-et, kan berre offentlege
+        brukarar redigera kartdata.
+      find_out_why: finn ut kvifor
+      email_not_revealed: E-postadressa di vil ikkje verte synleg for ålmenta når
+        kontoen din vert offentleg.
+      not_reversible: Denne handlinga kan ikkje omgjerast, og alle nye brukarar er
+        no offentlege frå byrjinga.
       make_edits_public_button: Gjer alle redigeringane mine offentleg
     update:
       success_confirm_needed: Brukerinformasjon oppdatert. Sjekk eposten din for å
         stadfeste din epostadresse.
       success: Brukerinformasjon oppdatert.
+    destroy:
+      success: Kontoen er sletta.
   browse:
     created: Oppretta
     closed: Attlaten
+    created_ago_html: Oppretta %{time_ago}
+    closed_ago_html: Lukka %{time_ago}
+    created_ago_by_html: Oppretta %{time_ago} av %{user}
+    closed_ago_by_html: Lukka %{time_ago} av %{user}
+    deleted_ago_by_html: Sletta %{time_ago} av %{user}
+    edited_ago_by_html: Redigert %{time_ago} av %{user}
     version: 'Versjon:'
+    in_changeset: Endringssett
     anonymous: anonym
     no_comment: (ingen kommentar)
     part_of: Del av
+    part_of_relations:
+      one: '%{count} samhøve'
+      other: '%{count} samhøve'
+    part_of_ways:
+      one: 1 line
+      other: '%{count} liner'
     download_xml: Last ned XML
     view_history: Vis historikk
     view_details: Vis detaljar
@@ -259,7 +326,11 @@ nn:
       node_paginated: Punkt (%{x}-%{y} av %{count})
       way: Strekningar (%{count})
       way_paginated: Strekningar (%{x}-%{y} av %{count})
+      relation: Samhøve (%{count})
+      relation_paginated: Samhøve (%{x}–%{y} av %{count})
       comment: Kommentarar (%{count})
+      hidden_comment_by_html: Skylt kommentar frå %{user} %{time_ago}
+      comment_by_html: Kommentar frå %{user} %{time_ago}
       changesetxml: XML for endringssett
       osmchangexml: osmChange XML
       feed:
@@ -267,6 +338,8 @@ nn:
         title_comment: 'Endringssett: %{id} - %{comment}'
       join_discussion: Logg inn for å vere med i diskusjonen
       discussion: Ordskifte
+      still_open: Endringssettet er framleis ope – det vert opna for diskusjon når
+        endringssettet vert lukka.
     node:
       title_html: 'Punkt: %{name}'
       history_title_html: 'Punkthistorikk: %{name}'
@@ -274,11 +347,19 @@ nn:
       title_html: 'Strekning: %{name}'
       history_title_html: 'Strekningshistorikk: %{name}'
       nodes: Punkt
+      nodes_count:
+        one: '%{count} punkt'
+        other: '%{count} punkt'
       also_part_of_html:
         one: delstrekning %{related_ways}
         other: delstrekningar %{related_ways}
     relation:
+      title_html: 'Samhøve: %{name}'
+      history_title_html: 'Samhøvehistorikk: %{name}'
       members: Medlemmar
+      members_count:
+        one: '%{count} medlem'
+        other: '%{count} medlemar'
     relation_member:
       entry_role_html: '%{type} %{name} som %{role}'
       type:
@@ -289,6 +370,7 @@ nn:
       entry_html: Relasjon %{relation_name}
       entry_role_html: Relasjon %{relation_name} (som %{relation_role})
     not_found:
+      title: Ikkje funne
       sorry: Beklagar, klarte ikkje å finne %{type}-en med ID %{id}.
       type:
         node: node
@@ -297,6 +379,7 @@ nn:
         changeset: endringssett
         note: merknad
     timeout:
+      title: Tida gjekk ut
       sorry: Beklagar, data for %{type} med id %{id} tok for lang tid å hente.
       type:
         node: punkt
@@ -313,6 +396,8 @@ nn:
         way: vegen
         relation: relasjonen
     start_rjs:
+      feature_warning: Hentar %{num_features} kartobjekt, noe som kan gjera at nettlesaren
+        vert treg eller stoppar heilt. Er du sikker på at du vil visa desse datuma?
       load_data: Last inn data
       loading: Lastar...
     tag_details:
@@ -322,10 +407,14 @@ nn:
         tag: Wiki-beskrivelsessiden for %{key}=%{value}-elementet
       wikidata_link: Elementet %{page} på Wikidata
       wikipedia_link: Artikkelen %{page} på Wikipedia
+      wikimedia_commons_link: Sida %{page} på Wikimedia Commons
       telephone_link: Ring %{phone_number}
+      colour_preview: Førehandsvising av farga %{colour_value}
     query:
-      title: Førespurnadsfunksjonar
-      nearby: Nærliggjande funksjonar
+      title: Finn objekt
+      introduction: Klikk på kartet for å visa objekt i nærleiken.
+      nearby: Nærliggjande objekt
+      enclosing: Omgjevande objekt
   changesets:
     changeset_paging_nav:
       showing_page: Side %{page}
@@ -344,6 +433,7 @@ nn:
     index:
       title: Endringssett
       title_user: Endringssett av %{user}
+      title_user_link_html: Endringssett av %{user_link}
       title_friend: Endringssett av venene dine
       title_nearby: Endringssett av brukarar i nærleiken
       empty: Fann ingen endringssett.
@@ -354,10 +444,18 @@ nn:
       no_more_user: Ingen fleire endringssett av denne brukaren.
       load_more: Last inn meir
     timeout:
-      sorry: Lista over endringssett tok for lang tid å hente.
+      sorry: Lista over endringssett du ba om tok for lang tid å hente.
   changeset_comments:
     comment:
-      commented_at_by_html: Oppdatert for %{when} sidan av %{user}
+      comment: 'Ny kommentar til endringssett #%{changeset_id} av %{author}'
+      commented_at_by_html: Oppdatert %{when} av %{user}
+    comments:
+      comment: 'Ny kommentar til endringssett #%{changeset_id} av %{author}'
+    index:
+      title_all: Endringssettdiskusjon hjå OpenStreetMap
+      title_particular: Diskusjon om endringssett %{changeset_id} hjå OpenStreetMap
+    timeout:
+      sorry: Lista over kommentarar til endringssett tok for lang tid å henta.
   dashboards:
     contact:
       km away: '%{count}km unna'
@@ -367,6 +465,10 @@ nn:
       nearby mapper: Brukarar i nærleiken
       friend: Ven
     show:
+      title: Kontrollpanelet mitt
+      no_home_location_html: '%{edit_profile_link} og set heimestaden din for å sjå
+        brukarar i nærleiken.'
+      edit_your_profile: Endra profilen din
       my friends: Mine vener
       no friends: Du har ikkje lagt til nokon venner enno.
       nearby users: Andre brukarar i nærleiken
@@ -380,66 +482,75 @@ nn:
     new:
       title: Ny dagbokoppføring
     form:
-      location: 'Posisjon:'
-      use_map_link: bruk kart
+      location: Stad
+      use_map_link: Bruk kart
     index:
-      title: Brukarane sine dagbøker
-      title_friends: Dagbøkene til venene dine
-      title_nearby: Dagbøkene til naboar
+      title: Brukardagbøker
+      title_friends: Dagbøkene til venane dine
+      title_nearby: Dagbøkene til brukarar i nærleiken
       user_title: '%{user} si dagbok'
       in_language_title: Dagbokoppføringar på %{language}
       new: Ny dagbokoppføring
       new_title: Skriv ei ny oppføring i dagboka di
+      my_diary: Dagboka mi
       no_entries: Ingen oppføringar i dagboka
       recent_entries: Nye oppføringer i dagboka
       older_entries: Eldre oppføringar
       newer_entries: Nyare oppføringar
     edit:
-      title: Rediger oppføring i dagboka
-      marker_text: Lokasjon for dagbokoppføring
+      title: Rediger dagbokoppføring
+      marker_text: Stad for dagbokoppføring
     show:
-      title: '%{user} sin dagbok | %{title}'
+      title: '%{user} si dagbok | %{title}'
       user_title: '%{user} si dagbok'
       leave_a_comment: Legg igjen ein kommentar
       login_to_leave_a_comment_html: '%{login_link} for å legge igjen ein kommentar'
       login: Logg inn
     no_such_entry:
       title: Inga slik dagbokoppføring
-      heading: Inga oppføring med %{id}
-      body: Det er ingen dagbokinnlegg eller kommentar med ID %{id}. Sjekk om du har
-        skrive feil eller om lenkja er riktig.
+      heading: 'Inga oppføring med ID: %{id}'
+      body: Det finst inkje dagbokinnlegg eller kommentar med ID %{id}. Sjekk om du
+        har skrive feil eller om lenkja er feil.
     diary_entry:
       posted_by_html: Skrive av %{link_user} %{created} på %{language_link}
+      updated_at_html: Sist oppdatert %{updated}.
       comment_link: Kommenter denne oppføringa
-      reply_link: Svar på denne oppføringa
+      reply_link: Send ei melding til forfattaren
       comment_count:
         one: '%{count} kommentar'
-        zero: Ingen kommentarar
         other: '%{count} kommentarar'
+      no_comments: Ingen kommentarar
       edit_link: Rediger denne oppføringa
       hide_link: Skjul denne oppføringa
+      unhide_link: Slutta å skjule denne oppføringa
       confirm: Stadfest
+      report: Melda denne oppføringa
     diary_comment:
       comment_from_html: Kommentar frå %{link_user}, %{comment_created_at}
       hide_link: Skjul denne kommentaren
+      unhide_link: Slutta å skjula denne kommentaren
       confirm: Stadfest
       report: Rapporter denne kommentaren
     location:
-      location: 'Posisjon:'
+      location: 'Stad:'
       view: Vis
-      edit: Rediger
+      edit: Endra
     feed:
       user:
-        title: Oppføringar i OpenStreetMap-dagboka for %{user}
+        title: Oppføringar i OpenStreetMap-dagboka f %{user}
         description: Nye oppføringar i OpenStreetMap-dagboka til %{user}
       language:
         title: Oppføringar i OpenStreetMap-dagbøker på %{language_name}
         description: Nye oppføringar i dagbøkene til OpenStreetMap-brukarar på %{language_name}
       all:
         title: Oppføringar OpenStreetMap-dagboka
-        description: Nye oppføringar i dagbøkene til OpenStreetMap-brukarar
+        description: Nylege oppføringar i dagbøkene til OpenStreetMap-brukarar
     comments:
-      post: Post
+      title: Kommentarar i dagboka frå %{user}
+      heading: '%{user} sine kommentarar til dagboksoppføringar'
+      subheading_html: Kommentarar i dagboka frå %{user}
+      no_comments: Ingen kommentarar i dagboka
+      post: Oppføring
       when: Når
       comment: Kommentar
       newer_comments: Nyare kommentarar
@@ -451,12 +562,18 @@ nn:
       success: '%{name} er no venen din!'
       failed: Klarte ikkje leggje til %{name} som ven.
       already_a_friend: Du er allereie venner med %{name}.
+      limit_exceeded: Du har lagt til mange venar i det siste. Ver venleg og vent
+        litt før du legg til fleire.
     remove_friend:
       heading: Fjern %{user} som ein ven?
       button: Fjern som ein ven
       success: '%{name} vart fjerna frå venene dine'
       not_a_friend: '%{name} er ikkje ein av venene dine.'
   geocoder:
+    search:
+      title:
+        results_from_html: Resultata frå %{results_link}
+        latlon: Intern
     search_osm_nominatim:
       prefix:
         aerialway:
@@ -464,16 +581,29 @@ nn:
           chair_lift: Stolheis
           drag_lift: Skitrekk
           gondola: Gondolheis
+          magic_carpet: skiband
+          platter: Tallerkenheis
+          pylon: Mast
           station: Fjellheisstasjon
+          t-bar: Ankerheis
+          "yes": Taubane
         aeroway:
           aerodrome: Flyplass
+          airstrip: Landingsstripe
           apron: Flyrampe
           gate: Gate
+          hangar: Hangar
           helipad: Helikopterplass
+          holding_position: Venteposisjon
+          navigationaid: Luftnavigasjonshjelp
+          parking_position: Parkeringsposisjon
           runway: Rullebane
+          taxilane: Taxifelt
           taxiway: Taksebane
-          terminal: Terminal
+          terminal: Flyplassterminal
+          windsock: Vindpose
         amenity:
+          animal_boarding: Dyrepensjonat
           animal_shelter: Dyrehospits
           arts_centre: Kunstsenter
           atm: Minibank
@@ -483,7 +613,9 @@ nn:
           bench: Benk
           bicycle_parking: Sykkelparkering
           bicycle_rental: Sykkelutleige
+          bicycle_repair_station: Sjølvbetent sykkelreparasjonsstad
           biergarten: Uteservering
+          blood_bank: Blodbank
           boat_rental: Båtutleige
           brothel: Bordell
           bureau_de_change: Vekslingskontor
@@ -500,6 +632,7 @@ nn:
           clock: Klokke
           college: Høgskule
           community_centre: Samfunnshus
+          conference_centre: Konferansesenter
           courthouse: Rettsbygning
           crematorium: Krematorium
           dentist: Tannlege
@@ -507,26 +640,37 @@ nn:
           drinking_water: Drikkevatn
           driving_school: Køyreskule
           embassy: Ambassade
+          events_venue: Samlingslokale
           fast_food: Hurtigmat
           ferry_terminal: Ferjeterminal
           fire_station: Brannstasjon
           food_court: Serveringsstadar
           fountain: Fontene
-          fuel: Drivstoff
+          fuel: Bensinstation
           gambling: Gambling
           grave_yard: Gravlund
+          grit_bin: Strøsandkasse
           hospital: Sjukehus
           hunting_stand: Jaktbod
           ice_cream: Iskrem
+          internet_cafe: Internettkafe
           kindergarten: Barnehage
+          language_school: Språkskule
           library: Bibliotek
+          loading_dock: Lastekai
+          love_hotel: Kjærleikshotell
           marketplace: Marknadsplass
+          mobile_money_agent: Mobil pengeagent
           monastery: Kloster
+          money_transfer: Valutaoverføring
           motorcycle_parking: Motorsykkelparkering
+          music_school: Musikkskule
           nightclub: Nattklubb
           nursing_home: Pleieheim
           parking: Parkeringsplass
           parking_entrance: Innkøyring til parkeringsgarasje
+          parking_space: Parkeingsplass
+          payment_terminal: Betalingsterminal
           pharmacy: Apotek
           place_of_worship: Religiøst hus
           police: Politi
@@ -534,9 +678,13 @@ nn:
           post_office: Postkontor
           prison: Fengsel
           pub: Pub
+          public_bath: Badehus
+          public_bookcase: Offentleg bokkasse
           public_building: Offentleg bygning
+          ranger_station: Skogvaktarpost
           recycling: Resirkuleringspunkt
           restaurant: Restaurant
+          sanitary_dump_station: Toalettømmingsstasjon
           school: Skule
           shelter: Tilfluktsrom
           shower: Dusj
@@ -549,76 +697,145 @@ nn:
           theatre: Teater
           toilets: Toalett
           townhall: Rådhus
+          training: Treningsanlegg
           university: Universitet
+          vehicle_inspection: Køyretøykontroll
           vending_machine: Vareautomat
           veterinary: Veterinærklinikk
           village_hall: Forsamlingshus
           waste_basket: Søppelkasse
           waste_disposal: Avfallshandtering
+          waste_dump_site: Avfallsdeponi
+          watering_place: Vatntrau
+          water_point: Vatnpunkt
+          weighbridge: Køyretøyvekt
+          "yes": Fasilitet
         boundary:
+          aboriginal_lands: Urfolksområde
           administrative: Administrativ grense
           census: Folketeljingsgrense
           national_park: Nationalpark
+          political: Valdistriktsgrense
           protected_area: Verna område
+          "yes": Grense
         bridge:
           aqueduct: Akvadukt
+          boardwalk: Strandpromenade
           suspension: Hengebru
           swing: Svingbru
           viaduct: Viadukt
           "yes": Bru
         building:
-          apartments: Bustadblokk
+          apartment: Leilegheit
+          apartments: Leilegheiter
+          barn: Låve
+          bungalow: Bungalow
+          cabin: Hytte
           chapel: Kapell
-          church: Kyrkje
+          church: Kyrkjebygg
+          civic: Offentleg bygnad
+          college: Universitetsbygnad
           commercial: Kommersiell bygning
+          construction: Bygning under bygging
+          detached: Frittståande hus
           dormitory: Sovesal
-          farm: Gårdsbygg
+          duplex: Tomannshus
+          farm: Gardshus
+          farm_auxiliary: Ytterleg gardsbygg
           garage: Garasje
+          garages: Garasjar
+          greenhouse: Drivhus
+          hangar: Hangar
           hospital: Sykehusbygg
-          hotel: Hotell
+          hotel: Hotellbygg
           house: Hus
+          houseboat: Husbåt
+          hut: Hytte
           industrial: Industribygg
+          kindergarten: Barnehagebygnad
+          manufacture: Fabrikkbygnad
           office: Kontorbygg
           public: Offentleg bygg
           residential: Boligbygg
           retail: Detaljsalgbygg
+          roof: Halvtak
+          ruins: Bygnadsruin
           school: Skulebygg
-          terrace: Terrasse
-          train_station: Jernbanestasjon
+          semidetached_house: Rekkjehus
+          service: Tenestebygg
+          shed: Skur
+          stable: Stall
+          static_caravan: Husvogn
+          temple: Tempelbygg
+          terrace: Terrassebygning
+          train_station: Stasjonsbygg
           university: Universitetsbygg
+          warehouse: Lagerhall
           "yes": Bygning
+        club:
+          scout: Speidarklubbhus
+          sport: Idrettslag
+          "yes": Samskipnad
         craft:
+          beekeeper: Bierøktar
+          blacksmith: Smed
           brewery: Bryggeri
           carpenter: Tømrar
+          caterer: Catering
+          confectionery: Godtebutikk
+          dressmaker: Syar
           electrician: Elektrikar
+          electronics_repair: Elektronikkreparatør
           gardener: Gartnar
+          glaziery: Glasmeister
+          handicraft: Kunsthandverkar
+          hvac: Klimakontrollverksemd
+          metal_construction: Metallverkstad
           painter: Målar
           photographer: Fotograf
           plumber: Røyrleggjar
+          roofer: Taktekkjar
+          sawmill: Sagbruk
           shoemaker: Skomakar
+          stonemason: Steinhoggar
           tailor: Skreddar
+          window_construction: Vindaugsnikkar
+          winery: Vingard
           "yes": Handverkbutikk
         emergency:
+          access_point: Tilgjengepunkt
           ambulance_station: Ambulansestasjon
+          assembly_point: Samlingsplass
           defibrillator: Hjartestartar
+          fire_extinguisher: Brannsløkkjar
+          fire_water_pond: Branndam
           landing_site: Nødlandingsplass
+          life_ring: Livbøye
           phone: Nødtelefon
+          siren: Varselsiren
+          suction_point: Naudsugepunkt for brannslange
+          water_tank: Naudvasstank for brannslange
         highway:
           abandoned: Forlaten motorveg
           bridleway: Rideveg
           bus_guideway: Leidde bussfelt
           bus_stop: Busstopp
           construction: Motorveg under konstruksjon
+          corridor: Korridor
+          crossing: Fotgjengarfelt
           cycleway: Sykkelsti
           elevator: Heis
           emergency_access_point: Nødtilgangspunkt
+          emergency_bay: Naudstoppestad
           footway: Gangsti
           ford: Vadestad
+          give_way: Vikeskilt
           living_street: Gatetun
           milestone: Milestolpe
           motorway: Motorveg
           motorway_junction: Motorvegkryss
           motorway_link: Veg til motorveg
+          passing_place: Møteplass
           path: Sti
           pedestrian: Gangveg
           platform: Perrong
@@ -635,50 +852,67 @@ nn:
           services: Motorveitjenester
           speed_camera: Fotoboks
           steps: Trapper
+          stop: Stoppskilt
           street_lamp: Gatelykt
           tertiary: Tertiær veg
           tertiary_link: Kommunal veg
           track: Sti
+          traffic_mirror: Trafikkspeil
           traffic_signals: Trafikklys
+          trailhead: Ende på sti
           trunk: Hovedveg
           trunk_link: Hovedveg
+          turning_circle: Snuplass
+          turning_loop: Vendesløyfe
           unclassified: Uklassifisert veg
           "yes": Veg
         historic:
+          aircraft: Historisk fly
           archaeological_site: Arkeologisk plass
+          bomb_crater: Historisk bombekrater
           battlefield: Slagmark
           boundary_stone: Grensestein
           building: Historisk bygning
           bunker: Bunker
+          cannon: Historisk kanon
           castle: Slott
+          charcoal_pile: Historisk kolmile
           church: Kyrkje
           city_gate: Byport
           citywalls: Bymurar
           fort: Fort
           heritage: Verdsarvsstad
+          hollow_way: Hol veg
           house: Hus
           manor: Herregard
           memorial: Minne
+          milestone: Historisk milepæl
           mine: Gruve
+          mine_shaft: Gruvesjakt
           monument: Monument
+          railway: Historisk jarnveg
           roman_road: Romersk veg
           ruins: Ruinar
+          rune_stone: Runestein
           stone: Stein
           tomb: Grav
           tower: Tårn
+          wayside_chapel: Vegkyrkje
           wayside_cross: Vegkant kross
           wayside_shrine: Vegkant alter
           wreck: Vrak
+          "yes": Historisk stad
         junction:
           "yes": Kryss
         landuse:
           allotments: Kolonihagar
+          aquaculture: Akvakultur
           basin: Elveområde
           brownfield: Tidlegare industriområde
           cemetery: Gravplass
           commercial: Kommersielt område
-          conservation: Freda
-          construction: Kontruksjon
+          conservation: Freda område
+          construction: Byggjeplass
           farmland: Jordbruksland
           farmyard: Gardstun
           forest: Skog
@@ -691,32 +925,43 @@ nn:
           military: Militært område
           mine: Gruve
           orchard: Frukthage
+          plant_nursery: Planteskule
           quarry: Steinbrot
           railway: Jernbane
           recreation_ground: Idrettsplass
+          religious: Religiøs mark
           reservoir: Reservoar
           reservoir_watershed: Nedbørfelt
           residential: Boligområde
-          retail: Detaljsalg
+          retail: Detaljsalområde
           village_green: Landsbypark
           vineyard: Vingård
           "yes": Arealbruk
         leisure:
+          adult_gaming_centre: Vaksenspelehall
+          amusement_arcade: Spillehall
+          bandstand: Musikkpaviljong
           beach_resort: Badestrand
           bird_hide: Fugletårn
+          bleachers: Tilskodarplassar
+          bowling_alley: Bowlinghall
           common: Allmenning
+          dance: Dansesal
           dog_park: Hundepark
+          firepit: Bålgrop
           fishing: Fiskeområde
           fitness_centre: Treningssenter
           fitness_station: Trenings studio
           garden: Hage
           golf_course: Golfbane
-          horse_riding: Riding
+          horse_riding: Ridesenter
           ice_rink: Skøytebane
           marina: Båthavn
           miniature_golf: Minigolf
           nature_reserve: Naturreservat
+          outdoor_seating: Utandørs sitjeplass
           park: Park
+          picnic_table: Piknikbord
           pitch: Sportsarena
           playground: Leikeplass
           recreation_ground: Idrettsplass
@@ -730,24 +975,76 @@ nn:
           water_park: Vannpark
           "yes": Fritid
         man_made:
+          adit: Stoll
+          advertising: Reklame
+          antenna: Antenne
+          avalanche_protection: Skredvern
+          beacon: Fyr
+          beam: Bjelke
+          beehive: Bikube
+          breakwater: Molo
+          bridge: Bru
+          bunker_silo: Bunker
+          cairn: Varde
+          chimney: Skorstein
+          clearcut: Snauhogst
+          communications_tower: Kommunikasjonstårn
+          crane: Kran
+          cross: Kors
+          dolphin: Fortøyingspåle
+          dyke: Dike
+          embankment: Voll
+          flagpole: Flaggstong
+          gasometer: Gassklokke
+          groyne: Høfde
+          kiln: Omn
           lighthouse: Fyr
+          manhole: Kum
+          mast: Mast
+          mine: Gruve
+          mineshaft: Gruvesjakt
+          monitoring_station: Overvakingsstasjon
+          petroleum_well: Oljebrønn
+          pier: Pir
           pipeline: Røyrleidning
+          pumping_station: Pumpestasjon
+          reservoir_covered: Overdekt reservoar
+          silo: Silo
+          snow_cannon: Snøkanon
+          snow_fence: Snøskjerm
+          storage_tank: Lagringstank
+          street_cabinet: Gatekabinett
+          surveillance: Overvaking
+          telescope: Teleskop
           tower: Tårn
+          utility_pole: Straummast
+          wastewater_plant: Kloakkanlegg
+          watermill: Vassmylne
+          water_tap: Vasskran
+          water_tower: Vasstårn
+          water_well: Brønn
+          water_works: Vassverk
+          windmill: Vindmylne
           works: Fabrikk
           "yes": Menneskeskapt
         military:
           airfield: Militær flyplass
           barracks: Kaserner
           bunker: Bunker
+          checkpoint: Kontrollpost
+          trench: Skyttargrav
+          "yes": Militær
         mountain_pass:
           "yes": Fjellovergang
         natural:
+          atoll: Atoll
+          bare_rock: Klippe
           bay: Bukt
           beach: Strand
           cape: Nes
           cave_entrance: Holeinngang
           cliff: Klippe
-          coastline: Kystlinje
+          coastline: Kystline
           crater: Krater
           dune: Sanddyne
           fell: Fjellskrent
@@ -758,12 +1055,15 @@ nn:
           grassland: Grasslette
           heath: Vidde
           hill: Ås
+          hot_spring: Varm kjelde
           island: Øy
+          isthmus: Eid
           land: Land
           marsh: Sump
           moor: Myr
           mud: Gjørme
           peak: Topp
+          peninsula: Halvøy
           point: Punkt
           reef: Rev
           ridge: Rygg
@@ -772,32 +1072,51 @@ nn:
           sand: Sand
           scree: Ur
           scrub: Kratt
+          shingle: Steinstrand
           spring: Kjelde
           stone: Stein
           strait: Stred
           tree: Tre
+          tree_row: Trerekkje
+          tundra: Tundra
           valley: Dal
           volcano: Vulkan
           water: Vatn
           wetland: Våtmark
           wood: Skog
+          "yes": Naturelement
         office:
           accountant: Revisor
           administrative: Administrasjon
+          advertising_agency: Reklamebyrå
           architect: Arkitekt
+          association: Samband
           company: Bedrift
+          diplomatic: Diplomatkontor
+          educational_institution: Utdanningsinstitusjon
           employment_agency: Bemanningsbedrift
+          energy_supplier: Kontor til energiselskap
           estate_agent: Eiendomsmeglar
+          financial: Finanskontor
           government: Statlig kontor
           insurance: Forsikringskontor
+          it: IKT-kontor
           lawyer: Advokat
+          logistics: Logistikkontor
+          newspaper: Avisredaksjon
           ngo: Ikkje-statlig kontor
+          notary: Notarus publicus
+          religion: Religiøst kontor
+          research: Forskingskontor
+          tax_advisor: Skatterådgjevar
           telecommunication: Telefonkontor
           travel_agent: Reisebyrå
           "yes": Kontor
         place:
           allotments: Kolonihagar
+          archipelago: Arkipel
           city: By
+          city_block: Byblokk
           country: Land
           county: Fylke
           farm: Gard
@@ -810,9 +1129,12 @@ nn:
           locality: Plass
           municipality: Kommune
           neighbourhood: Nabolag
+          plot: Tomt
           postcode: Postnummer
+          quarter: Kvartal
           region: Område
           sea: Hav
+          square: Torg
           state: Delstat
           subdivision: Underavdeling
           suburb: Forstad
@@ -821,6 +1143,7 @@ nn:
           "yes": Stad
         railway:
           abandoned: Forlatt jernbane
+          buffer_stop: Sporstoppar
           construction: Jernbane under konstruksjon
           disused: Nedlagt jernbane
           funicular: Kabelbane
@@ -834,6 +1157,7 @@ nn:
           platform: Jernbaneperrong
           preserved: Verna jernbane
           proposed: Føreslått jernbane
+          rail: Jarnveg
           spur: Jernbaneforgrening
           station: Jernbanestasjon
           stop: Jernbanestopp
@@ -842,15 +1166,23 @@ nn:
           switch: Sporveksel
           tram: Sporveg
           tram_stop: Trikkestopp
+          turntable: Dreieskive
           yard: Skiftetomt
         shop:
+          agrarian: Landbruksbutikk
           alcohol: Utanfor lisens
           antiques: Antikviteter
+          appliance: Kvitvareforretning
           art: Kunstbutikk
+          baby_goods: Babybutikk
+          bag: Veskebutikk
           bakery: Bakeri
+          bathroom_furnishing: Badmøbelforretning
           beauty: Skjønnheitssalong
+          bed: Sengetøyforretning
           beverages: Drikkevarebutikk
           bicycle: Sykkelbutikk
+          bookmaker: Bookmaker
           books: Bokhandel
           boutique: Luksusforretning
           butcher: Slaktar
@@ -859,65 +1191,109 @@ nn:
           car_repair: Bilverkstad
           carpet: Teppebutikk
           charity: Veldedighetsbutikk
+          cheese: Ostbutikk
           chemist: Kjemiker
+          chocolate: Sjokolade
           clothes: Klesbutikk
+          coffee: Kaffebutikk
           computer: Databutikk
           confectionery: Konditori
           convenience: Nærbutikk
           copyshop: Kopieringsbutikk
           cosmetics: Kosmetikkforretning
+          craft: Hobbybutikk
+          curtain: Gardinebutikk
+          dairy: Meieributikk
           deli: Delikatessebutikk
           department_store: Varehus
           discount: Tilbudsbutikk
-          doityourself: Gjer-det-sjølv
+          doityourself: Gjer-det-sjølv-butikk
           dry_cleaning: Renseri
+          e-cigarette: E-sigarettbutikk
           electronics: Elektronikkforretning
+          erotic: Sexbutikk
           estate_agent: Eiendomsmegler
+          fabric: Stoffbutikk
           farm: Gardsbutikk
           fashion: Motebutikk
+          fishing: Fiskebutikk
           florist: Blomsterbutikk
           food: Matbutikk
+          frame: Rammeverkstad
           funeral_directors: Begravelsesforretning
           furniture: Møbler
           garden_centre: Hagesenter
+          gas: Gassbutikk
           general: Landhandel
           gift: Gåvebutikk
           greengrocer: Grønsakshandel
           grocery: Daglegvarebutikk
           hairdresser: Frisør
           hardware: Jernvarehandel
-          hifi: Hi-fi
+          health_food: Helsekostforretning
+          hearing_aids: Høyreapparat
+          herbalist: Urtehandel
+          hifi: Hi-fi-butikk
+          houseware: Kjøkkenutstyrsbutikk
+          ice_cream: Iskrembutikk
+          interior_decoration: Innreiingsbutikk
           jewelry: Gullsmed
           kiosk: Kiosk
+          kitchen: Kjøkkenbutikk
           laundry: Vaskeri
+          locksmith: Låsesmed
+          lottery: Lotteri
           mall: Kjøpesenter
+          massage: Massasje
+          medical_supply: Forhandlar av medisinsk utstyr
           mobile_phone: Mobiltelefonbutikk
+          money_lender: Pengeutlånar
           motorcycle: Motorsykkelbutikk
+          motorcycle_repair: Motorsykkelverkstad
           music: Musikkbutikk
+          musical_instrument: Musikkinstrument
           newsagent: Nyhetsbyrå
+          nutrition_supplements: Kosttilskot
           optician: Optikar
           organic: Organisk matbutikk
           outdoor: Utandørs butikk
+          paint: Fargehandel
+          pastry: Bakeri
+          pawnbroker: Pantelånar
+          perfumery: Parfymeri
           pet: Dyrebutikk
+          pet_grooming: Kjæledyrfrisør
           photo: Fotobutikk
+          seafood: Sjømat
           second_hand: Bruktbutikk
+          sewing: Saumforretning
           shoes: Skobutikk
           sports: Sportsbutikk
           stationery: Papirbutikk
+          storage_rental: Lagerhotell
           supermarket: Supermarked
           tailor: Skreddar
+          tattoo: Tatoveringsstudio
+          tea: Tehandel
+          ticket: Billettformidlar
+          tobacco: Tobakksbutikk
           toys: Leikebutikk
           travel_agency: Reisebyrå
+          tyres: Dekkforhandlar
+          vacant: Ledig forretningslokale
           video: Videobutikk
-          wine: Utanfor lisens
+          video_games: Videospelbutikk
+          wholesale: Grosserar
+          wine: Vinforretning
           "yes": Butikk
         tourism:
           alpine_hut: Fjellhytte
-          apartment: Leilegheit
+          apartment: Feriehusvære
           artwork: Kunstverk
           attraction: Attraksjon
           bed_and_breakfast: Bed and breakfast
-          cabin: Hytte
+          cabin: Turisthytte
+          camp_pitch: Teltplass
           camp_site: Teltplass
           caravan_site: Campingplass
           chalet: Fjellhytte
@@ -931,8 +1307,10 @@ nn:
           picnic_site: Piknikplass
           theme_park: Fornøyelsespark
           viewpoint: Utsiktspunkt
+          wilderness_hut: Villmarksstove
           zoo: Dyrepark
         tunnel:
+          building_passage: Bygnadspassasje
           culvert: Stikkrenne
           "yes": Tunnel
         waterway:
@@ -956,11 +1334,15 @@ nn:
           "yes": Vassveg
       admin_levels:
         level2: Riksgrense
+        level3: Regiongrense
         level4: Statsgrense
         level5: Regiongrense
+        level6: Fylkesgrense
+        level7: Kommunegrense
         level8: Bygrense
         level9: Landsbygrense
         level10: Forstadsgrense
+        level11: Grannelagsgrense
       types:
         cities: Byar
         towns: Småbyar
@@ -968,16 +1350,106 @@ nn:
     results:
       no_results: Ingen resultat funne
       more_results: Fleire resultat
+  issues:
+    index:
+      title: Saker
+      select_status: Vel stode
+      select_type: Vel type
+      select_last_updated_by: Vel Sist oppdatert av
+      reported_user: Meld brukar
+      not_updated: Ikkje oppdatert
+      search: Søk
+      search_guidance: 'Søk blant saker:'
+      user_not_found: Brukaren finst ikkje
+      issues_not_found: Ingen slike saker funne
+      status: Stode
+      reports: Meldingar
+      last_updated: Sist oppdatert
+      last_updated_time_ago_user_html: '%{time_ago} av %{user}'
+      link_to_reports: Sjå meldingar
+      reports_count:
+        one: '%{count} melding'
+        other: '%{count} meldingar'
+      reported_item: Meld objekt
+      states:
+        ignored: Sett bort frå
+        open: Open
+        resolved: Løyst
+    show:
+      title: '%{status} Sak #%{issue_id}'
+      reports:
+        one: '%{count} melding'
+        other: '%{count} meldingar'
+      no_reports: Ingen meldingar
+      report_created_at: Fyrst meld %{datetime}
+      last_resolved_at: Sist løyst %{datetime}
+      last_updated_at: Sis oppdatert %{datetime} av %{displayname}
+      resolve: Løys
+      ignore: Sjå bort frå
+      reopen: Opna att
+      reports_of_this_issue: Meldingar om denne saka
+      read_reports: Les meldingar
+      new_reports: Nye meldingar
+      other_issues_against_this_user: Andre saker mot denne brukaren
+      no_other_issues: Ingen andre saker mot denne brukaren.
+      comments_on_this_issue: Kommentarar om denne saka
+    resolve:
+      resolved: Stoda på saka har vorte sett til «Løyst»
+    ignore:
+      ignored: Stoda på saka har vorte sett til «Sett bort frå»
+    reopen:
+      reopened: Stoda på saka har vorte sett til «Open»
+    comments:
+      comment_from_html: Kommentar frå %{user_link}, skriven %{comment_created_at}
+      reassign_param: Omdeleger saka?
+    reports:
+      reported_by_html: Meld som %{category} av %{user}, %{updated_at}
+    helper:
+      reportable_title:
+        diary_comment: '%{entry_title}, kommentar #%{comment_id}'
+        note: 'Merknad #%{note_id}'
+  issue_comments:
+    create:
+      comment_created: Kommentaren din vart oppretta
+      issue_reassigned: Kommentaren din vart oppretta og saka vart delegert om
   reports:
     new:
+      title_html: Meld %{link}
+      missing_params: Kan ikkje oppretta ei ny melding
+      disclaimer:
+        intro: 'Før du sender inn meldinga til moderatorane, pass på at:'
+        not_just_mistake: Du er sikker på at problemet ikkje berre er eit uhell
+        unable_to_fix: Du ikkje kan fikse problemet sjølv eller med hjelp av andre
+        resolve_with_user: Du alt har prød å løyse problemet med brukaren
       categories:
+        diary_entry:
+          spam_label: Dette dagbokinnlegget inneheld spam
+          offensive_label: Dette dagbokinnlegget er usømeleg
+          threat_label: Dette dagbokinnlegget inneheld ein trugsel
+          other_label: Anna
+        diary_comment:
+          spam_label: Denne dagbokskommentaren er eller inneheld spam
+          offensive_label: Denne dagbokskommentaren er usømeleg
+          threat_label: Denne dagbokskommentaren inneheld ein trugsel
+          other_label: Anna
+        user:
+          spam_label: Denne brukarprofilen er eller inneheld spam
+          offensive_label: Denne brukarprofilen er usømeleg
+          threat_label: Denne brukarprofilen inneheld ein trugsel
+          vandal_label: Denne brukaren er ein vandal
+          other_label: Anna
         note:
           spam_label: Denne merknaden er søppel
+          personal_label: Denne merknaden inneheld personopplysingar
           abusive_label: Denne merknaden er støytande
+          other_label: Anna
+    create:
+      successful_report: Meldinga di har vorte registrert
+      provide_details: Du må oppgje dei påkravde opplysingane
   layouts:
     logo:
       alt_text: OpenStreetMap-logo
-    home: heim
+    home: Gå til heimstaden din
     logout: Logg ut
     log_in: Logg inn
     sign_up: Registrer deg
@@ -985,6 +1457,7 @@ nn:
     edit: Rediger
     history: Historikk
     export: Eksporter
+    issues: Problem
     data: Data
     export_data: Eksportar data
     gps_traces: GPS-spor
@@ -997,10 +1470,13 @@ nn:
     intro_text: OpenStreetMap er eit verdskart, laga av folk som deg. Kartet er gratis
       å bruke under ein open lisens.
     intro_2_create_account: Opprett ein brukarkonto
-    hosting_partners_html: Drifta er støtta av %{ucl}, %{bytemark} og andre %{partners}.
-    partners_ucl: UCL VR-senteret
+    hosting_partners_html: Drifta er støtta av %{ucl}, %{fastly}, %{bytemark} og andre
+      %{partners}.
+    partners_ucl: UCL
+    partners_fastly: Fastly
     partners_bytemark: Bytemark Hosting
     partners_partners: partnarar
+    tou: Bruksvilkår
     osm_offline: OpenStreetMap databasen er for augneblunken utilgjengelig medan essensielt
       vedlikeholdsarbeid vert utført.
     osm_read_only: OpenStreetMap kan ikkje redigerast akkurat no, på grunn av nødvendig
@@ -1010,6 +1486,7 @@ nn:
     help: Hjelp
     about: Om
     copyright: Opphavsrett
+    communities: Fellesskap
     community: Samfunnet
     community_blogs: Bloggar
     community_blogs_title: Bloggar frå medlemmane i OpenStreetMap-felleskapet
@@ -1024,22 +1501,39 @@ nn:
       hi: Hei %{to_user},
       header: '%{from_user} har kommentert på ditt siste OpenStreetMap-dagbokinnlegg
         med emnet %{subject}:'
+      header_html: '%{from_user} har kommentert på OpenStreetMap-dagboksinnlegget
+        med emnet %{subject}:'
       footer: Du kan òg lese kommentaren på %{readurl} og du kan kommentere på %{commenturl}
         eller svare på %{replyurl}
+      footer_html: Du kan òg lesa kommentaren på %{readurl}, og du kan kommentera
+        på %{commenturl}, eller senda ei melding til forfattaren på %{replyurl}
     message_notification:
+      subject: '[OpenStreetMap] %{message_title}'
       hi: Hei %{to_user},
       header: '%{from_user} har sendt deg ei melding gjennom OpenStreetMap med emnet
         %{subject}:'
+      header_html: '%{from_user} har sendt deg ei melding via OpenStreetMap med emnet
+        %{subject}:'
+      footer: Du kan òg lesa meldinga på %{readurl}, og du kan senda ei melding til
+        forfattaren på %{replyurl}
+      footer_html: Du kan òg lesa meldinga på %{readurl}, og du kan senda ei melding
+        til forfattaren på %{replyurl}
     friendship_notification:
       hi: Hei %{to_user},
       subject: '[OpenStreetMap] %{user} la deg til som ein ven'
       had_added_you: '%{user} har lagt deg til som ven på OpenStreetMap.'
       see_their_profile: Du kan sjå profilen deira på %{userurl}.
+      see_their_profile_html: Du kan sjå profilen hens på %{userurl}.
       befriend_them: Du kan òg leggje dei til som ven på %{befriendurl}.
+      befriend_them_html: Du kan òg legga hen til som ein ven på %{befriendurl}.
     gpx_failure:
+      hi: Hei, %{to_user}
       failed_to_import: 'klarte ikkje importere. Her er feilen:'
+      more_info_html: Du kan finna meir informasjon om feil ved GPX-importering, og
+        korleis du kan unngå dei, på %{url}.
       subject: '[OpenStreetMap] Feil under import av GPX'
     gpx_success:
+      hi: Hei, %{to_user}
       subject: '[OpenStreetMap] Vellukka import av GPX'
     signup_confirm:
       subject: '[OpenStreetMap] Velkommen til OpenStreetMap'
@@ -1053,31 +1547,97 @@ nn:
     email_confirm:
       subject: '[OpenStreetMap] Stadfest di e-postadresse'
       greeting: Hei,
+      hopefully_you: Nokon (forhåpentleg du) ynskjer å endra e-postadressa si hjå
+        %{server_url} til %{new_address}.
       click_the_link: Viss det er deg, klikk lenkja nedanfor for å stadfeste endringa.
     lost_password:
       subject: '[OpenStreetMap] Førespurnad om nullstilling av passord'
       greeting: Hei,
+      hopefully_you: Nokon (kanskje du) har bede om å nullstilla passordet for OpenStreetMap-brukarkontoen
+        som er knytt til denne e-postadressa.
       click_the_link: Om dette er deg, vennligst klikk på lenkja under for å tilbakestille
         passordet.
     note_comment_notification:
       anonymous: Ein anonym brukar
       greeting: Hei,
+      commented:
+        subject_own: '[OpenStreetMap] %{commenter} har kommentert ein av merknadane
+          dine'
+        subject_other: '[OpenStreetMap] %{commenter} har kommentert ein merknad som
+          du er interessert i'
+        your_note: '%{commenter} har kommentert ein av kartmerknadane dine i nærleiken
+          av %{place}.'
+        your_note_html: '%{commenter} har lagt att ein kommentar til ein av kartmerknadane
+          dine i nærleiken av %{place}.'
+        commented_note: '%{commenter} har lagt att ein kommentar til ein kartmerkad
+          som du har kommentert. Merknaden ligg i nærleiken av %{place}.'
+        commented_note_html: '%{commenter} har lagt att ein kommentar til ein kartmerknad
+          som du har kommentert. Merknaden ligg i nærleiken av %{place}.'
+      closed:
+        subject_own: '[OpenStreetMap] %{commenter} har løyst ein av merknadane dine'
+        subject_other: '[OpenStreetMap] %{commenter} har løyst ein merknad du er interessert
+          i'
+        your_note: '%{commenter} har løyst ein av kartmerknadane dine i nærleiken
+          av %{place}.'
+        your_note_html: '%{commenter} har løyst ein av kartmerknadane dine i nærleiken
+          av %{place}.'
+        commented_note: '%{commenter} har løyst ein kartmerknad som du har kommentert.
+          Merknaden ligg i nærleiken av %{place}.'
+        commented_note_html: '%{commenter} har løyst ein kartmerknad som du har kommentert.
+          Merknaden ligg i nærleiken av %{place}.'
+      reopened:
+        subject_own: '[OpenStreetMap] %{commenter} har atteraktivert ein av merknadane
+          dine'
+        subject_other: '[OpenStreetMap] %{commenter} har atteraktivert ein merknad
+          som du er interessert i'
+        your_note: '%{commenter} har atteraktivert ein av kartmerknadane dine i nærleiken
+          av %{place}.'
+        your_note_html: '%{commenter} har atteraktivert ein av kartmerknadane dine
+          i nærleiken av %{place}.'
+        commented_note: '%{commenter} har atteraktivert ein kartmerknad som du har
+          kommentert. Merknaden ligg i nærleiken av %{place}.'
+        commented_note_html: '%{commenter} har atteraktivert ein kartmerknad som du
+          har kommentert. Merknaden ligg i nærleiken av %{place}.'
       details: Meir detaljar om notisen kan du finne på %{url}.
+      details_html: Fleire detaljar om merknaden finst på %{url}.
     changeset_comment_notification:
       hi: Hei %{to_user},
       greeting: Hei,
       commented:
+        subject_own: '[OpenStreetMap] %{commenter} har kommentert eitt av endringssetta
+          dine'
+        subject_other: '[OpenStreetMap] %{commenter} har kommentert eit endringssett
+          som du er interessert i'
+        your_changeset: '%{commenter} la att ein kommentar til eitt av endringssetta
+          dine %{time}'
+        your_changeset_html: '%{commenter} la att ein kommentar til eitt av endringssetta
+          dine %{time}'
+        commented_changeset: '%{commenter} la att ein kommentar til eit endringssett
+          som du overvaker og som er oppretta av %{changeset_author}, %{time}'
+        commented_changeset_html: '%{commenter} la att ein kommentar til eit endringssett
+          som du overvaker og som er oppretta av %{changeset_author}, %{time}'
         partial_changeset_with_comment: med kommentaren '%{changeset_comment}'
+        partial_changeset_with_comment_html: med kommentaren «%{changeset_comment}»
         partial_changeset_without_comment: utan kommentar
+      details: Fleire detaljar om endringssettet finst på %{url}.
+      details_html: Fleire detaljar om endringssettet finst på %{url}.
+      unsubscribe: For å avslutta tinginga på oppdateringar til dette endringssettet,
+        vitja %{url} og klikka "Avslutta tinging".
+      unsubscribe_html: For å avslutta tinginga på oppdateringar til dette endringssettet,
+        vitja %{url} og klikka "Avslutta tinging".
   confirmations:
     confirm:
       heading: Sjekk e-posten din!
       introduction_1: Vi har sendt deg ei e-poststadfesting.
+      introduction_2: Stadfest brukarkontoen din ved å klikka på lenkja i e-posten,
+        so kan du byrja å kartleggja.
       press confirm button: Klikk bekreftknappen nedanfor for å aktivare kontoen din.
       button: Stadfest
       success: Kontoen din er stadfesta - takk for at du registrerte deg.
       already active: Denne kontoen har allereie stadfesta.
       unknown token: Den koda ser ikkje ut til å eksistere.
+      resend_html: Viss du treng at vi sender stadfestings-e-posten på nytt, %{reconfirm_link}
+      click_here: klikka her
     confirm_resend:
       failure: Fann ikkje brukaren %{name}.
     confirm_email:
@@ -1087,10 +1647,18 @@ nn:
       button: Stadfest
       success: E-postadressen din er stadfesta - takk for at du registrerte deg.
       failure: Ei e-postadresse er allereie stadfesta med denne nøkkelen.
+      unknown_token: Denne stadfestingskoden er utgått eller finst ikkje.
+    resend_success_flash:
+      confirmation_sent: Vi har sendt ein ny stadfestings-e-post til %{email}, og
+        du vil kunna byrja å kartleggja med ein gong etter at du stadfestar kontoen.
+      whitelist: Viss du bruker eit spamførebyggjingssystem som sender førespurnadar
+        om stadfesting, ver sikker på at %{sender} står på kvitlista, sidan vi ikkje
+        kan svara på slike førespurnadar.
   messages:
     inbox:
-      title: Innboks
-      my_inbox: Min innboks
+      title: Mottekne
+      my_inbox: Mottekne
+      my_outbox: Sende
       messages: Du har %{new_messages} og %{old_messages}
       new_messages:
         one: '%{count} ny melding'
@@ -1122,7 +1690,9 @@ nn:
       heading: Inga melding funne
       body: Det er inga melding med den ID-en.
     outbox:
-      title: Utboks
+      title: Sende
+      my_inbox: Mottekne
+      my_outbox: Sende
       messages:
         one: Du har %{count} send melding
         other: Du har %{count} sende meldingar
@@ -1168,22 +1738,44 @@ nn:
       flash changed: Passordet ditt er endra.
       flash token bad: Kunne ikkje finne den nøkkelen. Sjekke URLen kanskje?
   preferences:
+    show:
+      title: Innstillingar
+      preferred_editor: Føretrekt redigeringsprogram
+      preferred_languages: Føretrekte språk
+      edit_preferences: Endra innstillingane
     edit:
+      title: Endra innstillingane
+      save: Oppdater innstillingane
       cancel: Avbryt
+    update:
+      failure: Kunne ikkje oppdatera innstillingane.
+    update_success_flash:
+      message: Innstillingane vart oppdaterte.
   profiles:
     edit:
+      title: Endra profil.
+      save: Oppdater profil
       cancel: Avbryt
-      image: 'Bilete:'
+      image: Bilete
       gravatar:
         gravatar: Bruk Gravatar
+        what_is_gravatar: Kva er Gravatar?
+        disabled: Gravatar er avslegen.
+        enabled: Vising av Gravataren din er slege på.
       new image: Legg til eit bilete
       keep image: Hald på gjeldande bilete
       delete image: Fjern gjeldande bilete
       replace image: Erstatt gjeldande bilete
       image size hint: (kvadratiske bilete som er minst 100x100 fungerer best)
-      home location: 'Heimeposisjon:'
+      home location: Heimstad
       no home location: Du har ikkje skrive inn din heimelokasjon.
       update home location on click: Oppdatere heimeplassering når eg klikkar på kartet?
+      show: Vis
+      delete: Sletta
+      undelete: Angra sletting
+    update:
+      success: Profilen vart oppdatert.
+      failure: Kunne ikkje oppdatera profilen.
   sessions:
     new:
       title: Logg inn
@@ -1209,9 +1801,9 @@ nn:
         facebook:
           title: Logg inn med Facebook
           alt: Logg inn med ein Facebook-konto
-        windowslive:
-          title: Logg inn med Windows Live
-          alt: Logg inn med ein Windows Live-konto
+        microsoft:
+          title: Logg inn med Microsoft
+          alt: Logg inn med ein Microsoft-konto
         github:
           title: Logg inn med GitHub
           alt: Logg inn med ein GitHub-konto
@@ -1228,19 +1820,77 @@ nn:
       title: Logg ut
       heading: Logg ut frå OpenStreetMap
       logout_button: Logg ut
+    suspended_flash:
+      suspended: Orsak, kontoen din har vorte suspendert på grunn av tvilsamt åtferd.
+      contact_support_html: Tak kontakt med %{support_link} om du ynskjar å diskutera
+        dette.
+      support: brukarstøtten
+  shared:
+    markdown_help:
+      heading_html: Parsa med %{kramdown_link}
+      headings: Overskrifter
+      heading: Overskrift
+      subheading: Underoverskrift
+      unordered: Usortert liste
+      ordered: Sortert liste
+      first: Fyrste post
+      second: Andre post
+      link: Lenkje
+      text: Tekst
+      image: Bilete
+      alt: Alt-tekst
+      url: URL
+    richtext_field:
+      edit: Endra
+      preview: Førehandsvising
   site:
     about:
       next: Neste
+      heading_html: '%{copyright}OpenStreetMap-%{br}bidragsytarane'
+      used_by_html: '%{name} leverer kartdata til tusenvis av nettstadar, mobilappar
+        og maskinvare-einingar'
+      lede_text: OpenStreetMap er bygd av eit fellesskap av kartleggjarar som bidreg
+        og held ved like data om vegar, stigar, kafear, jarnbanestasjonar og mykje
+        meir kring verda.
       local_knowledge_title: Lokalkunnskap
+      local_knowledge_html: OpenStreetMap framhevar lokalkunnskap. Bidragsytarar bruker
+        flyfotografi, GPS-apparat og lågteknologiske feltkart for å stadfesta at OSM
+        er noggrann og a jour.
       community_driven_title: Fellesskapsdrive
+      community_driven_1_html: |-
+        OpenStreetMap-fellesskapet er mangfaldig, ihuga og stadig veksande. Bidragsytarane våre omfattar eldhuga kartleggjarar, GIS-fagfolk, ingeniørar som held i gang sørvarane, humanitære arbeidarar som kartlegg område ramma av katastrofar og mange meir.
+        For å læra meir om fellesskapet, sjå %{osm_blog_link}, %{user_diaries_link}, %{community_blogs_link} og nettstaden til %{osm_foundation_link}.
+      community_driven_osm_blog: OpenStreetMap sin blogg
+      community_driven_user_diaries: brukardagbøker
+      community_driven_community_blogs: fellesskapsbloggar
+      community_driven_osm_foundation: OSM Foundation
       open_data_title: Opne Data
+      open_data_1_html: 'Openstreetmap er %{open_data}: du kan bruka det fritt til
+        kva som helst føremål, so lenge du siterer OpenStreetMap og bidragsytarane.
+        Viss du endrar eller byggjer på dataen på visse sett, kan du berre publisere
+        resultata under den same lisensen. Sjå %{copyright_license_link} for detaljar.'
+      open_data_open_data: ope data
+      open_data_copyright_license: sida om opphavsrett og lisensar
       legal_title: Juridisk
+      legal_1_1_html: Denne nettstaden og fleira andre tilknytte tenester er formelt
+        drivne av %{openstreetmap_foundation_link} (OSMF) på vegner av fellesskapet.
+        Bruk av alle tenester som OSMF driv er underlagd %{terms_of_use_link}, %{aup_link}
+        og %{privacy_policy_link}.
+      legal_1_1_openstreetmap_foundation: OpenStreetMap Foundation
+      legal_1_1_terms_of_use: bruksvilkåra
+      legal_1_1_aup: vilkåra for akseptabel bruk
+      legal_1_1_privacy_policy: personvernspolitikken
+      legal_2_1_html: Kontakt %{contact_the_osmf_link} om du har spørsmål knytte til
+        lisens, opphavsrett eller andre juridiske emne.
+      legal_2_1_contact_the_osmf: tak kontakt med OSMF
+      legal_2_2_html: OpenStreetMap, aukeglas-logoen og State of the Map er %{registered_trademarks_link}.
+      legal_2_2_registered_trademarks: regristrerte varemerke til OSMF
       partners_title: Partnarar
     copyright:
       foreign:
         title: Om denne omsetjinga
-        html: I tilfelle konflikt mellom denne omsette sida og %{english_original_link}
-          har den engelske versjonen presedens
+        html: Om denne omsetjinga kjem i motsetjing med %{english_original_link},
+          gjeld den engelske teksten.
         english_link: den engelske originalen
       native:
         title: Om denne sida
@@ -1251,16 +1901,119 @@ nn:
         mapping_link: start kartlegging
       legal_babble:
         title_html: Opphavsrett og lisensar
+        introduction_1_html: OpenStreetMap%{registered_trademark_link} er %{open_data},
+          med lisens %{odc_odbl_link} (ODbL) av %{osm_foundation_link} (OSMF).
+        introduction_1_open_data: ope data
+        introduction_1_odc_odbl: Open Data Commons Open Database License
+        introduction_1_osm_foundation: OpenStreetMap Foundation
+        introduction_2_html: Du har rett til å kopiera, spreia, overføra og tilpassa
+          dataen vår, so lengje du siterer OpenStreetMap og bidragsytarane. Dersom
+          du endrar eller byggjer på dataen, kan du berre publisera resultatet under
+          den same lisensen. Den fulle %{legal_code_link} forklårar rettane og skyldnadene
+          dine.
+        introduction_2_legal_code: juridiske teksten
+        introduction_3_html: Dokumentasjonen vår er publisert under lisensen %{creative_commons_link}
+          (CC BY-SA 2.0).
+        introduction_3_creative_commons: Creative Commons Navngiving-DelPåSameVilkår
+          2.0
         credit_title_html: Korleis kreditere OpenStreetMap
-        credit_1_html: Me krev at du brukar godskrivinga «© OpenStreetMap-bidragsytarane».
+        credit_1_html: 'Når du bruker data frå OpenStreetMap, krevst to ting av deg:'
+        credit_2_1: Godskriv OpenStreetMap ved å visa opphavsrettsfråsegna vår.
+        credit_2_2: Gjer det tydeleg at dataen er tilgjengeleg under vilkåra av Open
+          Database License.
+        credit_3_html: Me har ulike krav til korleis opphavsrettsfråsegna skal visast,
+          avhengig av korleis du bruker dataen vår. Til dømes finst det ulike reglar
+          for vising av fråsegna avhengig av om du har skapt eit interaktivt kart
+          på nett, eit trykt kart eller eit statisk bilete. Utdjupande detaljar om
+          krava finn du i %{attribution_guidelines_link}.
+        credit_3_attribution_guidelines: Retningslinene for kjeldetilvising
+        credit_4_1_html: For å gjera det tydeleg at dataen er tilgjengeleg under vilkåra
+          til Open Database License, kan du lenkja til %{this_copyright_page_link}.
+          Du kan òg – og må, dersom du distribuerer OSM i dataform – namngje og lenkja
+          direkte til lisensane. I medium der lenkjer ikkje er moglege (t.d. trykksaker),
+          rår vi til å visa til openstreetmap.org (kan henda ved å utvida «OpenStreetMap»
+          til den fulle adressa) og til opendatacommons.org. I dette dømet er kjeldetilvisinga
+          i hjørnet på kartet.
+        credit_4_1_this_copyright_page: denne sida om opphavsrett
         attribution_example:
           alt: Døme på korleis ein syner OpenStreetMap som kjelde på ei vevside
           title: Døme på kjeldehenvising
         more_title_html: Finn ut meir
+        more_1_1_html: Les meir om å bruke dataen vår, og korleis å godskriva oss,
+          på %{osmf_licence_page_link}.
+        more_1_1_osmf_licence_page: OSMF si side om lisens.
+        more_2_1_html: |-
+          Enda OpenStreetMap er ope data, kan vi ikkje levera eit gratis kart-API til tredje partar.
+          Sjå %{api_usage_policy_link}, %{tile_usage_policy_link} og %{nominatim_usage_policy_link}.
+        more_2_1_api_usage_policy: Retningslina for bruk av API
+        more_2_1_tile_usage_policy: Retningslina for bruk av kartfliser
+        more_2_1_nominatim_usage_policy: REtningslina for bruk av Nominatim
         contributors_title_html: Bidragsytarane våre
         contributors_intro_html: 'Me har tusenvis av individuelle bidragsytarar. Me
           inkluderer óg åpne datasett frå nasjonale karttjenester og andre kjelder,
           bland anna frå:'
+        contributors_at_credit_html: '%{austria}: Inneheld data frå %{stadt_wien_link}
+          (under %{cc_by_link}), %{land_vorarlberg_link} og Land Tirol (under %{cc_by_at_with_amendments_link}).'
+        contributors_at_austria: Austerrike
+        contributors_at_stadt_wien: Byen Wien
+        contributors_at_cc_by: CC BY
+        contributors_at_land_vorarlberg: Land Vorarlberg
+        contributors_at_cc_by_at_with_amendments: CC BY AT med tillegg
+        contributors_au_credit_html: '%{australia}: Inneheld eller er utvikla med
+          administrative grenser («Administrative Boundaries») &copy; %{geoscape_australia_link}
+          lisensert av Australia under %{cc_licence_link}.'
+        contributors_au_australia: Australia
+        contributors_au_geoscape_australia: Geoscape Australia
+        contributors_au_cc_licence: Creative Commons Namngiving 4.0 Internasjonal
+          lisens (CC BY 4.0)
+        contributors_ca_credit_html: |-
+          %{canada}: Inneheld data frå
+          GeoBase&reg;, GeoGratis (&copy; Department of Natural
+          Resources Canada), CanVec (&copy; Department of Natural
+          Resources Canada) og StatCan (Geography Division,
+          Statistics Canada).
+        contributors_ca_canada: Canada
+        contributors_fi_credit_html: '%{finland}: Inneheld data frå  Lantmäteriverket
+          sin topografisk database og andre datasett, under %{nlsfi_license_link}.'
+        contributors_fi_finland: Finland
+        contributors_fi_nlsfi_license: Lantmäteriverket sin lisens
+        contributors_fr_credit_html: '%{france}: Inneheld data frå Direction Générale
+          des Impôts.'
+        contributors_fr_france: Frankrike
+        contributors_nl_credit_html: '%{netherlands}: Inneheld &copy; AND data, 2007
+          (%{and_link})'
+        contributors_nl_netherlands: Nederland
+        contributors_nz_credit_html: '%{new_zealand}: Inneheld data frå %{linz_data_service_link}
+          som er lisensert for ombruk under %{cc_by_link}.'
+        contributors_nz_new_zealand: Ny-Zealand
+        contributors_nz_linz_data_service: LINZ Data Service
+        contributors_nz_cc_by: CC BY 4.0
+        contributors_rs_credit_html: '%{serbia}: Inneheld data frå %{rgz_link} og
+          %{open_data_portal} (offentleg informasjon Serbia), 2018.'
+        contributors_rs_serbia: Serbia
+        contributors_rs_rgz: Serbian Geodetic Authority
+        contributors_rs_open_data_portal: National Open Data Portal
+        contributors_si_credit_html: '%{slovenia}: Inneheld data frå %{gu_link} og
+          %{mkgp_link} (offentleg informasjon Slovenia)'
+        contributors_si_slovenia: Slovenia
+        contributors_si_gu: Oppmålings- og kartleggjingsmyndigheita
+        contributors_si_mkgp: Ministeriet for jordbruk, skogbruk og mat
+        contributors_es_credit_html: '%{spain}: Inneheld data frå National Geographic
+          Institute (%{ign_link}) og National Cartographic System (%{scne_link}),
+          lisensert for ombruk under %{cc_by_link}.'
+        contributors_es_spain: Spania
+        contributors_es_cc_by: CC BY 4.0
+        contributors_za_credit_html: '%{%{south_africa}: Inneheld data frå %{ngi_link},
+          statleg opphavsrett reservert.'
+        contributors_za_south_africa: Sør-Afrika
+        contributors_za_ngi: 'Chief Directorate: National Geo-Spatial Information'
+        contributors_gb_credit_html: '%{united_kingdom}: Inneheld data frå Ordnance
+          Survey &copy; Crown copyright og database right 2010–2023.'
+        contributors_gb_united_kingdom: Storbritannia
+        contributors_2_html: For fleire detaljar om desse og andre kjelder som har
+          vorte brukte for å forbetre OpenStreetMap, sjå %{contributors_page_link}
+          på OpenStreetMap sin wiki.
+        contributors_2_contributors_page: Bidragsytarar-sida
         contributors_footer_2_html: |2-
             Inkludering av data i OpenStreetMap inneber ikkje at den opphavlege
             dataleverandøren støttar OpenStreetMap, gjev nokon garanti eller
@@ -1269,6 +2022,17 @@ nn:
         infringement_1_html: |-
           OSM-bidragsytarar vert minna på å aldri leggje til data frå opphavsrettsbeskytta kjelder (t.d. Google Maps eller utskrivne kart) utan
             uttrykkeleg løyve frå rettighetshavere.
+        infringement_2_1_html: Dersom du trur at innhald som er verna av opphavsrett
+          har vorte føydd til urettkomment i OpenStreetMap sin database eller nettstad,
+          ver venleg og fylg %{takedown_procedure_link}, eller klaga direkte gjennom
+          %{online_filing_page_link}.
+        infringement_2_1_takedown_procedure: prosedyren for fjerning av materiale
+        infringement_2_1_online_filing_page: klageformularet
+        trademarks_title: Varemerke
+        trademarks_1_1_html: OpenStreetMap, lupe-logoen og «State of the Map» er registrerte
+          varemerke av OpenStreetMap Foundation. Viss du har spørsmål om bruken av
+          varemerka, sjå %{trademark_policy_link}.
+        trademarks_1_1_trademark_policy: Varemerkeretningslinene
     index:
       js_1: Du har ein nettleser som ikkje støttar JavaScript eller så har du slått
         av JavaScript.
@@ -1298,13 +2062,26 @@ nn:
       map_image: Kartblad (viser standard laget)
       embeddable_html: HTML som kan byggjast inn
       licence: Lisens
+      licence_details_html: Data frå OpenStreetMap er lisensert under %{odbl_link}
+        (ODbL).
+      odbl: Open Data Commons Open Database License
       too_large:
+        advice: 'Viss eksporten ovafor slår feil, kan du bruka ein av kjeldene nedafor:'
         body: Dette området er for stort for å eksporterast som OpenStreetMap XML-data.
           Zoom inn eller vel eit mindre område.
         planet:
           title: Planet OSM
+          description: Jamleg oppdaterte kopiar av heile databasen til OpenStreetMap
+        overpass:
+          title: Overpass-API
+          description: Last ned denne avgrensingsramma frå ein spegel av OpenStreetMap
+            sin database
+        geofabrik:
+          title: Geofabrik-nedlastingar
+          description: Jamleg oppdaterte utdrag av kontinent, land og utvalde byar
         other:
           title: Andre kjelder
+          description: Yttarlegare kjelder hjå OpenStreetMap sin wiki
       options: Val
       format: Format
       scale: Skala
@@ -1323,23 +2100,45 @@ nn:
         title: Korleis hjelpe til
         join_the_community:
           title: Ver med i fellesskapen
+          explanation_html: Viss du har merka eit problem med dataen vår, til dømes
+            at det manglar ein veg eller adresse, er det beste å bli med i OpenStreetMap-fellesskapet
+            og føya til eller vøla opplysinga sjølv.
+        add_a_note:
+          instructions_1_html: |-
+            Berre klikk på %{note_icon}, eller det tilsvarande ikonet på kartvisinga.
+            Dette vil legga til ein markør på kartet, som du kan flytta ved å dra i han. Legg til meldinga di og klikk «Lagra», og andre brukarar vil undersøka saka.
       other_concerns:
         title: Andre problemstillingar
+        concerns_html: Dersom du har bekymringar om korleis dataen vår vert brukt
+          eller om innhaldet, sjå %{copyright_link} for meir juridisk informasjon,
+          eller tak kontakt med den relevante %{working_group_link}.
+        copyright: sida om opphavsrett
+        working_group: OSMF-arbeidsgruppa
     help:
       title: Få hjelp
+      introduction: OpenStreetMap har fleire resursar for å læra om prosjektet, stilla
+        og svara på spørsmål og å diskutera og dokumentera kartleggjingsrelaterte
+        tema i lag.
       welcome:
         url: /velkommen
-        title: Velkomen til OSM
+        title: Velkomen til OpenStreetMap
+        description: Byrja med denne snøgge rettleiinga om det grunnleggjande hjå
+          OpenStreetMap.
       beginners_guide:
         url: http://wiki.openstreetmap.org/wiki/Nn:Beginners%27_guide
         title: Hjelp for nybegynnarar
         description: Dugnadsbasert guide for nybegynnarar.
       help:
-        title: help.openstreetmap.org
-        description: Still spørsmål eller finn eit svar på spørsmål- og svar-sidene
-          til OSM.
+        title: Hjelpeforum
+        description: Still spørsmål eller finn eit svar på spørsmål-og-svar-sidene
+          til OpenStreetMap.
       mailing_lists:
         title: E-postlister
+        description: Spør eit spørsmål eller diskuter interessante tema på ei rekke
+          av temabaserte eller regionale e-postlister.
+      community:
+        title: Fellesskapsforum
+        description: Ein stad for samtaler om OpenStreetMap.
       irc:
         title: IRC
       switch2osm:
@@ -1882,7 +2681,8 @@ nn:
       createnote_disabled_tooltip: Zoom inn for å leggje til ein merknad på kartet
       map_notes_zoom_in_tooltip: Zoom inn for å sjå kartmerknadar
       map_data_zoom_in_tooltip: Zoom inn for å sjå kartdata
-      queryfeature_tooltip: Førespurnadsfunksjonar
+      queryfeature_tooltip: Finn objekt
+      queryfeature_disabled_tooltip: Forstørra for å finna objekt
     changesets:
       show:
         comment: Kommenter
@@ -1949,7 +2749,7 @@ nn:
       directions_to: Vegskildring hit
       add_note: Legg til ein merknad her
       show_address: Vis adresse
-      query_features: Søkjefunksjonar
+      query_features: Finn objekt
       centre_map: Sentrer kartet her
   redactions:
     edit:
index d401202273e86fbf1c748ccf328d7d1bd7eeac83..846b4375e54e2c7b714412c5f8b6ca0c81ddf7ff 100644 (file)
@@ -178,7 +178,7 @@ nqo:
       openid: ߏߔߌ߲ ID
       google: ߜ߭ߎߜ߭ߏߟ
       facebook: ߝߋߛߑߓߎߞ
-      windowslive: ߡߌߞߙߏߛߐߝߕ
+      microsoft: ߡߌߞߙߏߛߐߝߕ
       github: GitHub
       wikipedia: ߥߞߌߔߋߘߌߦߊ
   api:
@@ -1369,7 +1369,7 @@ nqo:
         facebook:
           title: ߌ ߜߊ߲߬ߞߎ߲߫ ߝߋߛߑߓߎߞ ߟߊ߫
           alt: ߌ ߜߊ߲߬ߞߎ߲߫ ߝߋߛߑߓߎߞ ߖߊ߬ߕߋ߬ߘߊ ߘߏ߫ ߟߊ߫
-        windowslive:
+        microsoft:
           title: ߌ ߜ߭ߊ߲߬ߞߎ߲߫ ߥߌ߲ߘߏߥߛ ߟߊߌߝ߭ ߟߊ߫
           alt: ߌ ߜߊ߲߬ߞߎ߲߫ ߥߌ߲ߘߏߥߛ ߟߊߌߝ߭ ߖߊ߬ߕߋ߬ߘߊ ߟߊ߫
         github:
index 2e98de1028a4525c4032ff1170ef8bd766b13e6a..6d2b120acd270f4889bcb08f6d9eb62aab7ac0ad 100644 (file)
@@ -1806,7 +1806,7 @@ oc:
         facebook:
           title: Se connectar amb Facebook
           alt: Se connectar amb un commpte Facebook
-        windowslive:
+        microsoft:
           title: Se connectar amb Windows Live
           alt: Se connectar amb un compte Windows Live
         github:
index 50a2e90cfbaf23f9516ffaa7b93ee2c7f57e1fc4..6d71349c586fb0cf719fbbe52816107847ad0cab 100644 (file)
@@ -129,7 +129,7 @@ pa:
       none: ਕੋਈ ਨਹੀਂ
       google: ਗੂਗਲ
       facebook: ਫੇਸਬੁੱਕ
-      windowslive: ਵਿੰਡੋਜ਼ ਲਾਈਵ
+      microsoft: ਵਿੰਡੋਜ਼ ਲਾਈਵ
       github: ਗਿੱਟਹੱਬ
       wikipedia: ਵਿਕੀਪੀਡੀਆ
   api:
index f248db1c1a7789b532d43f03b3d68e65f58a4cd7..f622399e82307066e16d60e2941c2995e2b408bf 100644 (file)
@@ -303,6 +303,7 @@ pl:
       openid: OpenID
       google: Google
       facebook: Facebook
+      microsoft: Microsoft
       github: GitHub
       wikipedia: Wikipedia
   api:
@@ -1929,6 +1930,9 @@ pl:
       home location: 'Położenie domu:'
       no home location: Nie wpisałeś swojej lokalizacji domowej.
       update home location on click: Uaktualnianie położenia kliknięciem na mapie
+      show: Pokaż
+      delete: Usuń
+      undelete: Cofnij usunięcie
     update:
       success: Zaktualizowano profil użytkownika.
       failure: Nie udało się zaktualizować profilu.
@@ -1957,7 +1961,7 @@ pl:
         facebook:
           title: Zaloguj się przez Facebooka
           alt: Zaloguj się przez konto Facebook
-        windowslive:
+        microsoft:
           title: Zaloguj się przez Microsoft
           alt: Zaloguj się kontem Microsoft
         github:
@@ -2017,6 +2021,7 @@ pl:
       legal_title: Pytania prawne
       legal_1_1_openstreetmap_foundation: Fundacja OpenStreetMap
       legal_1_1_terms_of_use: Warunki użytkowania
+      legal_1_1_aup: Zasady dozwolonego użytku
       legal_1_1_privacy_policy: Polityka prywatności
       legal_2_1_contact_the_osmf: skontaktuj się z OSM
       partners_title: Partnerzy
@@ -2963,6 +2968,7 @@ pl:
       title: Uwagi utworzone lub skomentowane przez %{user}
       heading: Uwagi użytkownika %{user}
       subheading_html: Uwagi utworzone lub skomentowane przez %{user}
+      subheading_commented: skomentował
       no_notes: Brak uwag
       id: Identyfikator
       creator: Autor
@@ -3061,7 +3067,7 @@ pl:
         hot: Humanitarna
         opnvkarte: ÖPNVKarte
       layers:
-        header: Warstwy mapy
+        header: Warstwy
         notes: Uwagi
         data: Dane mapy
         gps: Publiczne ślady GPS
index 1ce103feae657e70b5076af10a38d87b7bdf25da..d085b897b587bcbf5f90ea88a376c04cac57ab74 100644 (file)
@@ -210,7 +210,7 @@ pnb:
       openid: اوپن آئی ڈی
       google: گوگل
       facebook: فیسبوک
-      windowslive: وِنڈوز لائیو
+      microsoft: وِنڈوز لائیو
       github: گِٹ ہب
       wikipedia: وِکیپیدیا
   api:
@@ -1463,7 +1463,7 @@ pnb:
         facebook:
           title: فیس‌بوک نال لوگ‌این کرو
           alt: فیسبوک ورتو
-        windowslive:
+        microsoft:
           title: وینڈوز لائیو نال لوگ‌این کرو
           alt: وینڈوز لائیو ورتو
         github:
index 5b3c3bdd5277a34b21909ed678fa380c4c5aa2c1..ffe0f4ff8cd85e2d07751fe5afbd554bdcdde50e 100644 (file)
@@ -252,6 +252,7 @@ pt-PT:
       openid: OpenID
       google: Google
       facebook: Facebook
+      microsoft: Microsoft
       github: GitHub
       wikipedia: Wikipédia
   api:
@@ -403,7 +404,7 @@ pt-PT:
       history_title_html: 'Histórico da Linha: %{name}'
       nodes: Nós
       nodes_count:
-        one: 1 nó
+        one: '%{count} nó'
         other: '%{count} nós'
       also_part_of_html:
         one: parte da linha %{related_ways}
@@ -583,8 +584,8 @@ pt-PT:
       reply_link: Enviar mensagem ao autor
       comment_count:
         one: '%{count} comentário'
-        zero: Sem comentários
         other: '%{count} comentários'
+      no_comments: Sem comentários
       edit_link: Editar
       hide_link: Ocultar
       unhide_link: Mostrar
@@ -859,7 +860,7 @@ pt-PT:
           stable: Estábulo
           static_caravan: Caravana
           temple: Edíficio de templo
-          terrace: Edifício terraçado
+          terrace: Edifício geminado
           train_station: Edifício de estação dos comboios
           university: Edifício universitário
           warehouse: Armazém
@@ -1130,13 +1131,13 @@ pt-PT:
           "yes": Desfiladeiro
         natural:
           atoll: Atol
-          bare_rock: Rocha visível
+          bare_rock: Rocha exposta
           bay: Baía
           beach: Praia
           cape: Cabo
           cave_entrance: Entrada de gruta
           cliff: Precipício
-          coastline: Litoral
+          coastline: Linha costeira
           crater: Cratera
           dune: Duna
           fell: Encosta desflorestada
@@ -1471,9 +1472,9 @@ pt-PT:
     show:
       title: '%{status} Denúncia #%{issue_id}'
       reports:
-        zero: Sem denúncias
-        one: 1 denúncia
+        one: '%{count} denúncia'
         other: '%{count} denúncias'
+      no_reports: Sem denúncias
       report_created_at: Denunciado pela primeira vez em %{datetime}
       last_resolved_at: Resolvido pela última vez em %{datetime}
       last_updated_at: Atualizado pela última vez em %{datetime} por %{displayname}
@@ -1875,6 +1876,9 @@ pt-PT:
       home location: Localização principal
       no home location: Não definiste a tua localização principal.
       update home location on click: Atualizar a localização ao clicar no mapa?
+      show: Mostrar
+      delete: Eliminar
+      undelete: Desfazer eliminação
     update:
       success: Perfil atualizado.
       failure: Não foi possível atualizar o perfil.
@@ -1903,7 +1907,7 @@ pt-PT:
         facebook:
           title: Iniciar sessão com o Facebook
           alt: Iniciar sessão com uma conta do Facebook
-        windowslive:
+        microsoft:
           title: Iniciar sessão com Microsoft
           alt: Iniciar sessão com uma conta Microsoft
         github:
@@ -2978,7 +2982,9 @@ pt-PT:
     index:
       title: Notas submetidas ou comentadas por %{user}
       heading: Notas de %{user}
-      subheading_html: Notas submetidas ou comentadas por %{user}
+      subheading_html: Notas %{submitted} ou %{commented} por %{user}
+      subheading_submitted: enviada
+      subheading_commented: comentada em
       no_notes: Sem notas
       id: Id
       creator: Criador
@@ -3004,7 +3010,7 @@ pt-PT:
       anonymous_warning: Esta nota inclui comentários de utilizadores anónimos que
         devem ser confirmados por fonte independente.
       hide: Esconder
-      resolve: Marcar como resolvido
+      resolve: Marcar como resolvida
       reactivate: Reabrir
       comment_and_resolve: Comentar e resolver
       comment: Comentar
index fe8160327f91447f135f711c4d289a4aa34ad725..f290f65e46d93903bda685c7aea57bc1aa7d5555 100644 (file)
@@ -14,6 +14,7 @@
 # Author: Duke of Wikipädia
 # Author: EVinente
 # Author: Eduardoaddad
+# Author: Felipe L. Ewald
 # Author: Fmca
 # Author: FranciscoDS
 # Author: Ftrebien
@@ -270,6 +271,7 @@ pt:
       openid: OpenID
       google: Google
       facebook: Facebook
+      microsoft: Microsoft
       github: GitHub
       wikipedia: Wikipédia
   api:
@@ -285,6 +287,7 @@ pt:
         reopened_at_by_html: Reativado %{when} por %{user}
       rss:
         title: Notas do OpenStreetMap
+        description_all: Uma lista de notas relatadas, comentadas ou fechadas
         description_area: Uma lista de notas relatadas, comentadas ou encerradas na
           sua área [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]
         description_item: Um feed RSS para a nota %{id}
@@ -421,7 +424,7 @@ pt:
       history_title_html: 'Histórico da linha: %{name}'
       nodes: Pontos
       nodes_count:
-        one: 1 nó
+        one: '%{count} nó'
         other: '%{count} nós'
       also_part_of_html:
         one: parte da linha %{related_ways}
@@ -593,8 +596,8 @@ pt:
       reply_link: Enviar uma mensagem ao autor
       comment_count:
         one: '%{count} comentário'
-        zero: Nenhum comentário
         other: '%{count} comentários'
+      no_comments: Sem comentários
       edit_link: Editar esta postagem
       hide_link: Ocultar essa postagem
       unhide_link: Mostrar esta entrada
@@ -1482,9 +1485,9 @@ pt:
     show:
       title: '%{status} Problema #%{issue_id}'
       reports:
-        zero: Sem denúncias
-        one: '%{count} denúncia'
-        other: '%{count} denúncias'
+        one: '%{count} relatório'
+        other: '%{count} relatórios'
+      no_reports: Sem relatórios
       report_created_at: Primeiro relatado em %{datetime}
       last_resolved_at: Resolvido pela última vez em %{datetime}
       last_updated_at: Última atualização em %{datetime} por %{displayname}
@@ -1885,6 +1888,9 @@ pt:
       home location: Local principal
       no home location: Você ainda não definiu o seu local principal.
       update home location on click: Atualizar local principal ao clicar no mapa?
+      show: Exibir
+      delete: Excluir
+      undelete: Desfazer eliminação
     update:
       success: Perfil atualizado.
       failure: Não foi possível atualizar o perfil.
@@ -1913,9 +1919,9 @@ pt:
         facebook:
           title: Entrar com o Facebook
           alt: Entrar com uma conta do Facebook
-        windowslive:
-          title: Entrar com o Windows Live
-          alt: Entrar com uma conta do Windows Live
+        microsoft:
+          title: Entrar com o Microsoft
+          alt: Entrar com uma conta do Microsoft
         github:
           title: Entrar com o GitHub
           alt: Entrar com conta do GitHub
@@ -2107,6 +2113,11 @@ pt:
         contributors_nz_new_zealand: Nova Zelândia
         contributors_nz_linz_data_service: LINZ Data Service
         contributors_nz_cc_by: CC BY 4.0
+        contributors_rs_credit_html: '%{serbia}%{open_data_portal}: Contém dados de
+          %{rgz_link} e %{open_data_portal} (informações públicas da Sérvia), 2018.'
+        contributors_rs_serbia: Sérvia
+        contributors_rs_rgz: Autoridade Geodésica da Sérvia
+        contributors_rs_open_data_portal: Portal Nacional de Dados Abertos
         contributors_si_credit_html: |-
           %{slovenia}: Contém dados da %{gu_link} e %{mkgp_link}
           (informação pública da Eslovénia).
@@ -2799,6 +2810,7 @@ pt:
       remove as friend: Desfazer amizade
       add as friend: Adicionar como amigo
       mapper since: 'Mapeador desde:'
+      uid: 'ID do usário:'
       ct status: 'Termos do contribuidor:'
       ct undecided: Não decidido
       ct declined: Discordo
@@ -2989,7 +3001,9 @@ pt:
     index:
       title: Notas postadas ou comentadas por %{user}
       heading: Notas de %{user}
-      subheading_html: Notas postadas ou comentadas por %{user}
+      subheading_html: Notas %{submitted} or %{commented} por %{user}
+      subheading_submitted: submetido
+      subheading_commented: comentado
       no_notes: Sem notas
       id: ID
       creator: Criador
@@ -3079,6 +3093,7 @@ pt:
         cyclosm: CyclOSM
         cycle_map: Ciclístico
         transport_map: Transporte Público
+        tracestracktop_topo: Tracestrack Topo
         hot: Humanitário
         opnvkarte: ÖPNVKarte
       layers:
@@ -3097,6 +3112,8 @@ pt:
       andy_allan: Andy Allan
       opnvkarte_credit: Mosaico cortesia de %{memomaps_link}
       memomaps: MeMoMaps
+      tracestrack_credit: Mosaico cortesia de %{tracestrack_link}
+      tracestrack: Tracestrack
       hotosm_credit: Estilo de mosaico por %{hotosm_link} hospedado por %{osm_france_link}
       hotosm_name: Humanitarian OpenStreetMap Team
     site:
index ae2b93da1c8c73b45d24f939c8345322d1de5cb4..f9007390f026dd35fc23b7e5318124acfe86c364 100644 (file)
@@ -185,40 +185,50 @@ ro:
         few: aproximativ %{count} ore în urmă}}
         other: …}}
       about_x_months:
-        one: aproximativ 1 lună în urmă
-        other: aproximativ %{count} luni în urmă
+        one: aproximativ o lună în urmă
+        few: aproximativ %{count} luni în urmă
+        other: aproximativ %{count} de luni în urmă
       about_x_years:
-        one: aproximativ 1 an în urmă
-        other: aproximativ %{count} ani în urmă
+        one: aproximativ un an în urmă
+        few: aproximativ %{count} ani în urmă
+        other: aproximativ %{count} de ani în urmă
       almost_x_years:
-        one: aproape 1 an în urmă
-        few: acum câțiva ani
-        other: aproape %{count} ani în urmă
+        one: aproape un an în urmă
+        few: aproape %{count} ani în urmă
+        other: aproape %{count} de ani în urmă
       half_a_minute: o jumătate de minut în urmă
       less_than_x_seconds:
-        one: mai puțin de 1 secundă în urmă
-        other: aproximativ acum %{count} luni în urmă
+        one: mai puțin de o secundă în urmă
+        few: mai puțin de %{count} secunde în urmă
+        other: mai puțin de %{count} de secunde în urmă
       less_than_x_minutes:
         one: mai puțin de un minut în urmă
-        other: mai puțin de %{count} minute în urmă
+        few: mai puțin de %{count} minute în urmă
+        other: mai puțin de %{count} de minute în urmă
       over_x_years:
-        one: acum peste 1 an
-        other: peste %{count} ani în urmă
+        one: mai mult de un an în urmă
+        few: mai mult de %{count} ani în urmă
+        other: mai mult de %{count} de ani în urmă
       x_seconds:
-        one: acum 1 secundă
-        other: cu %{count} secunde în urmă
+        one: acum o secundă
+        few: cu %{count} secunde în urmă
+        other: cu %{count} de secunde în urmă
       x_minutes:
-        one: acum 1 minut
-        other: cu %{count} minute în urmă
+        one: acum un minut
+        few: cu %{count} minute în urmă
+        other: cu %{count} de minute în urmă
       x_days:
-        one: acum 1 zi
-        other: cu %{count} zile în urmă
+        one: acum o zi
+        few: cu %{count} zile în urmă
+        other: cu %{count} de zile în urmă
       x_months:
-        one: acum 1 lună
-        other: cu %{count} luni în urmă
+        one: acum o lună
+        few: cu %{count} luni în urmă
+        other: cu %{count} de luni în urmă
       x_years:
-        one: acum 1 an
-        other: cu %{count} ani în urmă
+        one: acum un an
+        few: cu %{count} ani în urmă
+        other: cu %{count} de ani în urmă
   editor:
     default: Implicit (în prezent %{name})
     id:
@@ -233,6 +243,7 @@ ro:
       openid: OpenID
       google: OpenID
       facebook: OpenID
+      microsoft: Microsoft
       github: GitHub
       wikipedia: Wikipedia
   api:
@@ -273,6 +284,15 @@ ro:
           de alte conturi.
         retain_caveats: 'Cu toate acestea, unele informații despre dvs. vor fi păstrate
           pe OpenStreetMap, chiar și după ștergerea contului:'
+        retain_edits: Editările dvs. la baza de date a hărții, dacă există, vor fi
+          păstrate.
+        retain_traces: Înregistrările încărcate, dacă există, vor fi păstrate.
+        retain_diary_entries: Înregistrările și comentariile din jurnal, dacă există,
+          vor fi păstrate, dar ascunse.
+        retain_notes: Notele dvs. de hartă și comentariile notelor, dacă există, vor
+          fi reținute, dar ascunse pentru vedere.
+        retain_changeset_discussions: Discuțiile dvs. privind setul de modificări,
+          dacă există, vor fi păstrate.
         retain_email: Adresa dvs. de e-mail va fi păstrată.
         confirm_delete: Sunteți sigur(ă)?
         cancel: Anulează
@@ -357,6 +377,8 @@ ro:
       relation: Comunicații (%{count})
       relation_paginated: Comunicații (%{x}-%{y} din %{count})
       comment: Comentarii (%{count})
+      hidden_comment_by_html: Comentariu ascuns de la %{user} %{time_ago}
+      comment_by_html: Comentariu de la %{user} %{time_ago}
       changesetxml: Set de modificări XML
       osmchangexml: XML osmChange
       feed:
@@ -374,9 +396,9 @@ ro:
       history_title_html: 'Istoricul căii: %{name}'
       nodes: Noduri
       nodes_count:
-        one: 1 nod
+        one: un nod
         few: '%{count} noduri'
-        other: ""
+        other: '%{count} de noduri'
       also_part_of_html:
         one: parte a liniei de %{related_ways}
         other: parte din liniile de %{related_ways}
@@ -385,9 +407,9 @@ ro:
       history_title_html: 'Istoricul relației: %{name}'
       members: Membri
       members_count:
-        one: 1 membru
+        one: un membru
         few: '%{count} membri'
-        other: ""
+        other: '%{count} de membri'
     relation_member:
       entry_role_html: '%{type} %{name} ca %{role}'
       type:
@@ -499,6 +521,8 @@ ro:
       friend: Prieten
     show:
       title: Dashboardul meu
+      no_home_location_html: '%{edit_profile_link} și setați locația de acasă pentru
+        a vedea utilizatorii din apropiere.'
       edit_your_profile: Editați-vă profilul
       my friends: Prietenii mei
       no friends: Nu ați adăugat încă niciun prieten.
@@ -549,9 +573,9 @@ ro:
       comment_link: Comentează la această înregistrare
       reply_link: Trimite un mesaj autorului
       comment_count:
-        zero: Niciun comentariu
-        one: '%{count} comentariu'
-        other: '%{count} comentarii'
+        one: Un comentariu
+        few: '%{count} comentarii'
+        other: '%{count} de comentarii'
       no_comments: Fără comentarii
       edit_link: Editează această înregistrare
       hide_link: Ascunde această înregistrare
@@ -580,6 +604,9 @@ ro:
         title: Înregistrări în jurnalul OpenStreetMap
         description: Înregistrări recente în jurnale de la utilizatorii OpenStreetMap
     comments:
+      title: Comentarii din jurnal adăugate de %{user}
+      heading: Comentariile la jurnal a lui %{user}
+      subheading_html: Comentarii din jurnal adăugate de %{user}
       no_comments: Fără comentarii din jurnal
       post: Postează
       when: Când
@@ -592,8 +619,16 @@ ro:
         create:
           notice: Aplicație înregistrată.
   errors:
+    contact:
+      contact_url_title: Diferite metode de contact explicate
+      contact: contact
+      contact_the_community_html: Simțiți-vă liber să %{contact_link} comunitatea
+        OpenStreetMap dacă ați găsit un link invalid/o eroare. Notați adresa URL exactă
+        a solicitării dvs.
     forbidden:
       title: Interzis
+      description: Operația pe care ați solicitat-o pe serverul OpenStreetMap este
+        disponibilă numai pentru administratori (HTTP 403)
     internal_server_error:
       title: Eroare aplicație
       description: Serverul OpenStreetMap a întâlnit o condiție neașteptată care l-a
@@ -1829,6 +1864,9 @@ ro:
       no home location: Nu ați introdus locația dvs. de domiciliu.
       update home location on click: Actualizați locația locuinței dvs. când faceți
         click pe hartă?
+      show: Arată
+      delete: Șterge
+      undelete: Anulează ștergerea
     update:
       success: Profil actualizat.
       failure: Nu s-a putut actualiza profilul.
@@ -1857,7 +1895,7 @@ ro:
         facebook:
           title: Autentificare cu Facebook
           alt: Conectați-vă cu un cont Facebook
-        windowslive:
+        microsoft:
           title: Conectare cu Microsoft
           alt: Conectare cu un Cont Microsoft
         github:
@@ -2057,6 +2095,12 @@ ro:
           %{france}: Conține date provenite din
           Direction Générale des Impôts.
         contributors_fr_france: Franța
+        contributors_nl_credit_html: '%{netherlands}: Conține &copy; AND data, 2007
+          (%{and_link})'
+        contributors_nl_netherlands: Țările de Jos
+        contributors_nz_credit_html: |-
+          %{new_zealand}: Conține date provenite din %{linz_data_service_link}
+          și licențiate pentru reutilizare sub %{cc_by_link}.
         contributors_nz_new_zealand: Noua Zeelandă
         contributors_nz_linz_data_service: Serviciul de date LINZ
         contributors_nz_cc_by: CC BY 4.0
@@ -2243,8 +2287,19 @@ ro:
       removed: Editorul dvs. implicit OpenStreetMap este setat ca Potlatch. Deoarece
         Adobe Flash Player a fost retras, Potlatch nu mai este disponibil pentru utilizare
         într-un browser web.
+      desktop_application_html: Puteți utiliza în continuare Potlatch %{download_link}.
+      download: descărcând aplicația desktop pentru Mac și Windows
+      id_editor_html: Alternativ, puteți seta editorul implicit la iD, care rulează
+        în browserul dvs. web așa cum a făcut anterior Potlatch. %{change_preferences_link}.
+      change_preferences: Schimbați-vă preferințele aici
     any_questions:
       title: Întrebări?
+      paragraph_1_html: |-
+        OpenStreetMap vă pune la dispoziție resurse pentru a afla despre proiect, pentru a pune și a răspunde la
+        întrebări și pentru a discuta și a documenta colaborativ despre cartografiere.
+        %{help_link}. Ești o organizație care are planuri pentru OpenStreetMap? %{welcome_mat_link}.
+      get_help_here: Obțineți ajutor aici
+      welcome_mat: Consultați Pagina de Bun Venit
     sidebar:
       search_results: Rezultatele căutării
       close: Închide
@@ -2297,6 +2352,7 @@ ro:
           common:
           - Comun
           - luncă
+          - grădină
           retail: Spațiul de retail
           industrial: Zonă industrială
           commercial: Zonă comercială
@@ -2336,18 +2392,71 @@ ro:
         lucruri pe care trebuie să le cunoașteți.
       whats_on_the_map:
         title: Ce este pe Hartă
+        on_the_map_html: |-
+          OpenStreetMap este un loc pentru cartografierea lucrurilor care sunt %{real_and_current} -
+          include milioane de clădiri, drumuri și alte detalii despre locații. Puteți pune pe hartă orice caracteristici ale limii reale de care sunteți interesați.
+        real_and_current: reale și curente
+        off_the_map_html: Ce %{doesnt} include sunt date subiective cum ar fi recenzii,
+          date istorice sau ipotetice și date provenite din surse protejate prin drepturi
+          de autor. Dacă nu aveți permisiune, nu copiați de pe hărți online sau hărți
+          clasice.
+        doesnt: nu
       basic_terms:
         title: Termeni de bază pentru cartografiere
         paragraph_1: OpenStreetMap are propriul jargon. Iată câteva cuvinte cheie
           care vă vor veni în ajutor.
+        an_editor_html: Un %{editor} este un program sau un website pe care îl puteți
+          utiliza pentru a edita harta.
+        a_node_html: Un %{node} este un punct de pe hartă, de exemplu un singur restaurant
+          sau copac.
+        a_way_html: O %{way} este o linie sau o zonă, cum ar fi un drum, un curs de
+          apă, un lac sau o clădire.
+        a_tag_html: O %{tag} este un atribut al unui nod sau a unei căi, de exemplu
+          numele restaurantului sau limita de viteză a unui drum.
+        editor: editor
+        node: nod
+        way: cale
+        tag: etichetă
       rules:
         title: Reguli!
+        para_1_html: |-
+          OpenStreetMap are puține reguli formale, dar ne așteptăm ca toți participanții să colaboreze și să comunice cu comunitatea. Dacă vă gândiți la
+          orice activități, altele decât editarea manuală, vă rugăm să citiți și să urmați instrucțiunile de pe
+          %{imports_link} și %{automated_edits_link}.
+        imports: Importurile
+        automated_edits: Editări automate
       start_mapping: Începeți să cartografiați
       add_a_note:
         title: Nu aveți timp pentru editare? Adaugați o notă!
         para_1: |-
           Dacă doriți doar ceva îndreptați o eroare minoră și nu aveți timp să vă înscrieți și să învățați cum să editați, este
           ușor să adăugați o notă.
+        para_2_html: |-
+          Accesați %{map_link} și faceți clic pe pictograma notă: %{note_icon}.
+          Acest lucru va adăuga un marcator pe hartă, pe care îl puteți muta prin glisare.
+          Adăugați mesajul dvs., apoi faceți clic pe Salvare și alți cartografi vor investiga.
+        the_map: harta
+    communities:
+      title: Comunitățile
+      lede_text: "Oameni din întreaga lume contribuie sau folosesc OpenStreetMap.\nÎn
+        timp ce mulți participă ca indivizi, alții au format comunități.\nAceste grupuri
+        au o gamă largă de dimensiuni și reprezintă zone geografice de la orașe mici
+        până la regiuni mari cu mai multe țări. \nDe asemenea, pot fi formale sau
+        informale."
+      local_chapters:
+        title: Capitolele locale
+        about_text: |-
+          Capitolele locale sunt grupuri la nivel de țară sau la nivel de regiune care au făcut pasul oficial de
+          înființarea de entități juridice non-profit. Ele reprezintă harta și cartografii zonei atunci când au de-a face cu administrația locală, firme și mass-media. Ei și-au format, de asemenea, o afiliere
+          cu Fundația OpenStreetMap (OSMF), oferindu-le o legăturăa către organismul de conducere legal și de drepturi de autor.
+        list_text: 'Următoarele comunități sunt înființate oficial drept capitole
+          locale:'
+      other_groups:
+        title: Alte Grupuri
+        other_groups_html: |-
+          Nu este nevoie să se înființeze în mod oficial un grup în aceeași măsură ca și Capitolele locale.
+          Într-adevăr, multe grupuri există cu mare succes ca o adunare informală de oameni sau ca un grup comunitar. Oricine le poate configura sau se poate alătura. Citiți mai multe pe %{communities_wiki_link}.
+        communities_wiki: Pagina wiki comunități
   traces:
     visibility:
       private: Privat (partajat ca puncte anonime, neordonate)
@@ -2411,9 +2520,9 @@ ro:
     trace:
       pending: ÎN AȘTEPTARE
       count_points:
-        one: 1 punct
+        one: un punct
         few: '%{count} puncte'
-        other: ""
+        other: '%{count} de puncte'
       more: mai multe
       trace_details: Vezi detaliile urmei
       view_map: Vezi hartă
@@ -2426,11 +2535,20 @@ ro:
       in: în
     index:
       public_traces: Trasee GPS publice
+      my_gps_traces: Track-uri GPS
       public_traces_from: Traseele GPS publice de la %{user}
       description: Căutați încărcări recente din traseul GPS
       tagged_with: etichetat cu %{tags}
+      empty_title: Nimic aici încă
+      empty_upload_html: '%{upload_link} sau aflați mai multe despre înregistrările
+        GPS pe %{wiki_link}.'
+      upload_new: Încărcați un track nou
+      wiki_page: pagina wiki
       upload_trace: Încărcați urma
+      all_traces: Toate track-urile
       my_traces: Înregistrările mele GPS
+      traces_from: Traseele GPS publice de la %{user}
+      remove_tag_filter: Eliminați filtrul de etichete
     destroy:
       scheduled_for_deletion: Traseul este programat pentru ștergere
     make_public:
@@ -2465,6 +2583,9 @@ ro:
         de acord, dar trebuie să le vizualizați.
     settings_menu:
       account_settings: Setările contului
+      oauth1_settings: Setări OAuth 1
+      oauth2_applications: Aplicații OAuth 2
+      oauth2_authorizations: Autorizări OAuth 2
   oauth:
     authorize:
       title: Autorizați accesul la contul dvs.
@@ -2492,6 +2613,16 @@ ro:
       flash: Ați revocat tokenul pentru %{application}
     permissions:
       missing: Nu ați permis accesul aplicației la această facilitate
+    scopes:
+      read_prefs: Citiți preferințele utilizatorului
+      write_prefs: Modificați preferințele utilizatorului
+      write_diary: Creează înregistrări în jurnal, comentarii și fă-ți prieteni
+      write_api: Modificați harta
+      read_gpx: Citiți track-urile GPS private
+      write_gpx: Încărcați track-uri GPS
+      write_notes: Modificați notele
+      read_email: Citiți adresa de e-mail a utilizatorului
+      skip_authorization: Aprobare automată a cererii
   oauth_clients:
     new:
       title: Înregistrare aplicație nouă
@@ -2534,8 +2665,40 @@ ro:
       flash: Actualizarea informațiilor despre client cu succes
     destroy:
       flash: A distrus înregistrarea aplicației clientului
+  oauth2_applications:
+    index:
+      title: Aplicațiile mele client
+      no_applications_html: Aveți o aplicație pe care doriți să o înregistrați pentru
+        a fi utilizată la noi folosind standardul %{oauth2}? Trebuie să vă înregistrați
+        aplicația înainte ca aceasta să poată face solicitări OAuth către acest serviciu.
+      new: Înregistrați o nouă aplicație
+      name: Nume
+      permissions: Permisiuni
+    application:
+      edit: Editați
+      delete: Șterge
+      confirm_delete: Ștergeți această aplicație?
+    new:
+      title: Înregistrați o nouă aplicație
+    edit:
+      title: Editați-vă aplicația
+    show:
+      edit: Editați
+      delete: Șterge
+      confirm_delete: Ștergeți această aplicație?
+      client_id: ID client
+      client_secret: Secretul clientului
+      client_secret_warning: Asigurați-vă că salvați acest secret - nu va fi accesibil
+        din nou
+      permissions: Permisiuni
+      redirect_uris: Redirecționați URI-uri
+    not_found:
+      sorry: Ne pare rău, acea aplicație nu a putut fi găsită.
   oauth2_authorizations:
     new:
+      title: Este necesară autorizarea
+      introduction: Autorizați %{application} să vă acceseze contul cu următoarele
+        permisiuni?
       authorize: Autorizează
       deny: Respinge
     error:
@@ -2544,8 +2707,10 @@ ro:
       title: Code de autorizare
   oauth2_authorized_applications:
     index:
+      title: Aplicațiile mele autorizate
       application: Aplicație
       permissions: Permisiuni
+      no_applications_html: Nu ați autorizat încă nicio aplicație %{oauth2}.
     application:
       revoke: Revocă accesul
       confirm_revoke: Revocați accesul acestei aplicații?
@@ -2554,8 +2719,17 @@ ro:
       title: Înregistrare
       no_auto_account_create: Din păcate, în prezent nu putem crea automat un cont
         pentru dvs.
+      please_contact_support_html: Vă rugăm să contactați %{support_link} pentru a
+        aranja crearea unui cont - vom încerca să rezolvăm solicitarea cât mai repede
+        posibil.
+      support: suport
       about:
         header: Liberă și editabilă
+        paragraph_1: Spre deosebire de alte hărți, OpenStreetMap este creat complet
+          de oameni ca tine și este gratuit pentru oricine să repare, să actualizeze,
+          să descarce și să folosească.
+        paragraph_2: Înscrie-te pentru a începe să contribui. Vă vom trimite un e-mail
+          pentru a vă confirma contul.
       display name description: Numele dvs. de utilizator afișat public. Puteți schimba
         acest lucru mai târziu în preferințe.
       external auth: 'Verificarea terță parte:'
@@ -2564,6 +2738,11 @@ ro:
         dar unele instrumente suplimentare sau serverul pot avea nevoie de una.
       continue: Înregistrare
       terms accepted: Vă mulțumim pentru acceptarea noilor termeni de contribuire!
+      email_confirmation_help_html: Adresa dvs. nu este afișată public, consultați
+        %{privacy_policy_link} pentru mai multe informații.
+      privacy_policy: Politica de confidențialitate
+      privacy_policy_title: Politica de confidențialitate OSMF, inclusiv secțiunea
+        privind adresele de e-mail
     terms:
       title: Termeni
       heading: Termeni
@@ -2582,6 +2761,10 @@ ro:
         în Domeniul Public
       consider_pd_why: Ce este aceasta?
       consider_pd_why_url: https://www.osmfoundation.org/wiki/License/Why_would_I_want_my_contributions_to_be_public_domain
+      guidance_info_html: 'Informații pentru a ajuta la înțelegerea acestor termeni:
+        un %{readable_summary_link} și câteva %{informal_translations_link}'
+      readable_summary: rezumat care poate fi citit de om
+      informal_translations: traduceri informale
       continue: Continuă
       decline: Declină
       you need to accept or decline: Citiți și apoi acceptați sau refuzați continuarea
@@ -2614,6 +2797,7 @@ ro:
       my_dashboard: Dashboardul meu
       blocks on me: Blochează pe mine
       blocks by me: Blochează de mine
+      edit_profile: Editează profilul
       send message: Trimite mesajul
       diary: Jurnal
       edits: Modificare
@@ -2645,6 +2829,8 @@ ro:
       create_block: Blochează acest utilizator
       activate_user: Activează acest utilizator
       confirm_user: Confirmă acest utilizator
+      unconfirm_user: Deconfirmați acest utilizator
+      unsuspend_user: Anulați suspendarea acestui utilizator
       hide_user: Ascunde acest utilizator
       unhide_user: Descoperă acest utilizator
       delete_user: Șterge acest utilizator
@@ -2667,12 +2853,19 @@ ro:
     suspended:
       title: Cont Suspendat
       heading: Cont Suspendat
+      support: suport
+      automatically_suspended: Ne pare rău, contul dvs. a fost suspendat automat din
+        cauza activității suspecte.
+      contact_support_html: Această decizie va fi examinată de un administrator în
+        curând sau puteți contacta %{support_link} dacă doriți să discutați despre
+        acest lucru.
     auth_failure:
       connection_failed: Conectarea la furnizorul de autentificare a eșuat
       invalid_credentials: Autentificări nevalide de autentificare
       no_authorization_code: Nu există cod de autorizare
       unknown_signature_algorithm: Algoritm de semnătură necunoscut
       invalid_scope: Domeniu nevalid
+      unknown_error: Autentificare eșuată
     auth_association:
       heading: ID-ul dvs. nu este încă asociat cu un cont OpenStreetMap.
       option_1: |-
@@ -2753,20 +2946,25 @@ ro:
       time_past_html: Terminat în urmă cu %{time}.
       block_duration:
         hours:
-          one: 1 oră
-          other: '%{count} ore'
+          one: o oră
+          few: '%{count} ore'
+          other: '%{count} de ore'
         days:
-          one: 1 zi
-          other: '%{count} zile'
+          one: o zi
+          few: '%{count} zile'
+          other: '%{count} de zile'
         weeks:
-          one: 1 săptămână
-          other: '%{count} săptămâni'
+          one: o săptămână
+          few: '%{count} săptămâni'
+          other: '%{count} de săptămâni'
         months:
-          one: 1 lună
-          other: '%{count} luni'
+          one: o lună
+          few: '%{count} luni'
+          other: '%{count} de luni'
         years:
-          one: 1 an
-          other: '%{count} ani'
+          one: un an
+          few: '%{count} ani'
+          other: '%{count} de ani'
     blocks_on:
       title: Blocări pe %{name}
       heading_html: Lista blocărilor pe %{name}
@@ -2808,7 +3006,9 @@ ro:
     index:
       title: Notele trimise sau comentate de %{user}
       heading: Notele %{user}
-      subheading_html: Notele trimise sau comentate de %{user}
+      subheading_html: Note %{submitted} sau %{commented} de %{user}
+      subheading_submitted: trimise
+      subheading_commented: comentate
       no_notes: Nicio notă
       id: Id
       creator: Creator
@@ -2821,6 +3021,15 @@ ro:
       open_title: 'Notă nerezolvată #%{note_name}'
       closed_title: 'Notă rezolvată #%{note_name}'
       hidden_title: 'Notă ascunsă #%{note_name}'
+      event_opened_by_html: Creat de %{user} %{time_ago}
+      event_opened_by_anonymous_html: Creat anonim %{time_ago}
+      event_commented_by_html: Comentariu de la %{user} %{time_ago}
+      event_commented_by_anonymous_html: Comentariu anonim %{time_ago}
+      event_closed_by_html: Rezolvată de %{user} %{time_ago}
+      event_closed_by_anonymous_html: Rezolvată anonim %{time_ago}
+      event_reopened_by_html: Reactivată de %{user} %{time_ago}
+      event_reopened_by_anonymous_html: Reactivată anonim %{time_ago}
+      event_hidden_by_html: Ascunsă de %{user} %{time_ago}
       report: Raportează această notă
       anonymous_warning: Această notă include comentarii de la utilizatori anonimi,
         care ar trebui verificați independent.
@@ -2829,6 +3038,12 @@ ro:
       reactivate: Reactivează
       comment_and_resolve: Comentariu & Rezolvare
       comment: Comentariu
+      report_link_html: Dacă această notă conține informații sensibile care trebuie
+        eliminate, puteți %{link}.
+      other_problems_resolve: Pentru toate celelalte probleme legate de notă, vă rugăm
+        să o rezolvați singur printr-un comentariu.
+      other_problems_resolved: Pentru toate celelalte probleme, rezolvarea este suficientă.
+      disappear_date_html: Această notă rezolvată va dispărea de pe hartă în %{disappear_in}.
     new:
       title: Notă nouă
       intro: A apărut o greșeală sau lipsește ceva? Lăsați alți cartografi să știe
@@ -2875,11 +3090,11 @@ ro:
         metersPopup:
           one: Sunteți la un metru de acest punct
           few: Sunteți la %{count} metri de acest punct
-          other: ""
+          other: Sunteți la %{count} de metri de acest punct
         feetPopup:
-          one: Sunteți la un picior unitate de măsură de acest punct
-          few: Sunteți la %{count} picioare unitate de măsură de acest punct
-          other: ""
+          one: Sunteți la un picior de acest punct
+          few: Sunteți la %{count} picioare de acest punct
+          other: Sunteți la %{count} de picioare de acest punct
       base:
         standard: Standard
         cyclosm: CyclOSM
@@ -2901,6 +3116,9 @@ ro:
       osm_france: OpenStreetMap Franța
       thunderforest_credit: Plăci prin amabilitatea lui %{thunderforest_link}
       andy_allan: Andy Allan
+      opnvkarte_credit: Tile-uri prin amabilitatea lui %{memomaps_link}
+      memomaps: MeMoMaps
+      hotosm_credit: Stilul tile-urilor creat de %{hotosm_link} găzduit de %{osm_france_link}
       hotosm_name: Echipa Umanitară OpenStreetMap
     site:
       edit_tooltip: Modifică harta
index f83b663a52f1b15cd634b2a48df0754e389d2e68..b3626cb1554a5474c31cc000f82677ba7d6fd1ed 100644 (file)
@@ -79,6 +79,7 @@
 # Author: Putnik
 # Author: Pvwww
 # Author: Redredsonia
+# Author: Rich Flight22
 # Author: Riliam
 # Author: Rivka Silinsky
 # Author: Ruila
@@ -425,6 +426,7 @@ ru:
     closed: Закрыто
     created_ago_html: Создано %{time_ago}
     closed_ago_html: Закрыто %{time_ago}
+    created_ago_by_html: Создал %{time_ago} %{user}
     edited_ago_by_html: Редактировал %{time_ago} %{user}
     version: Версия
     in_changeset: Пакет правок
@@ -455,6 +457,7 @@ ru:
       relation: Отношения (%{count})
       relation_paginated: Отношения (%{x}-%{y} из %{count})
       comment: Комментарии (%{count})
+      comment_by_html: Комментарий от %{user} %{time_ago}
       changesetxml: XML пакета правок
       osmchangexml: osmChange XML
       feed:
@@ -653,6 +656,7 @@ ru:
         one: '%{count} комментарий'
         zero: Нет комментариев
         other: '%{count} комментариев'
+      no_comments: Нет комментариев
       edit_link: Изменить запись
       hide_link: Скрыть эту запись
       unhide_link: Отобразить эту запись
@@ -730,6 +734,7 @@ ru:
     search:
       title:
         results_from_html: Результаты из %{results_link}
+        latlon: Внутренний
     search_osm_nominatim:
       prefix:
         aerialway:
@@ -960,6 +965,8 @@ ru:
           ambulance_station: Станция скорой медицинской помощи
           assembly_point: Место сбора
           defibrillator: Дефибриллятор
+          fire_extinguisher: Огнетушитель
+          fire_water_pond: Пожарный водоём
           landing_site: Место аварийной посадки
           phone: Телефон экстренной связи
           water_tank: Пожарный водоём/резервуар
@@ -1009,10 +1016,12 @@ ru:
           trailhead: Тропа
           trunk: Трасса
           trunk_link: Развязка
+          turning_circle: Разворотное кольцо
           turning_loop: Дорога для разворота
           unclassified: Дорога местного значения
           "yes": Дорога
         historic:
+          aircraft: Историческое воздушное судно
           archaeological_site: Раскопки
           battlefield: Поле боя
           boundary_stone: Пограничный камень
@@ -1146,6 +1155,7 @@ ru:
           pier: Пирс
           pipeline: Трубопровод
           pumping_station: Насосная станция
+          reservoir_covered: Крытый резервуар
           silo: Силос
           snow_cannon: Снежная пушка
           snow_fence: Снегозащитное заграждение
@@ -1154,6 +1164,7 @@ ru:
           surveillance: Камера наблюдения
           telescope: Телескоп
           tower: Башня
+          utility_pole: Электрический столб
           wastewater_plant: Станция очистки сточных вод
           watermill: Водяная мельница
           water_tap: Водопроводный кран
@@ -1220,6 +1231,7 @@ ru:
           water: Водоём
           wetland: Заболоченная территория
           wood: Лес
+          "yes": Природный объект
         office:
           accountant: Бухгалтер
           administrative: Администрация
@@ -1358,6 +1370,7 @@ ru:
           funeral_directors: Похоронное бюро
           furniture: Мебель
           garden_centre: Садовый центр
+          gas: Магазин газового оборудования
           general: Магазин
           gift: Магазин подарков
           greengrocer: Овощной магазин
@@ -1500,6 +1513,7 @@ ru:
       status: Статус
       reports: Сообщения
       last_updated: Последнее изменение
+      last_updated_time_ago_user_html: '%{time_ago} %{user}'
       link_to_reports: Просмотр сообщений
       reports_count:
         one: 1 сообщение
@@ -1924,6 +1938,9 @@ ru:
       no home location: Вы не обозначили свое домашнее местоположение.
       update home location on click: Обновлять моё местоположение, когда я нажимаю
         на карту?
+      show: Показать
+      delete: Удалить
+      undelete: Отменить удаление
     update:
       success: Профиль обновлён.
       failure: Не удалось обновить профиль.
@@ -1952,9 +1969,9 @@ ru:
         facebook:
           title: Войти с помощью Facebook
           alt: Войти с помощью учётной записи в Facebook
-        windowslive:
-          title: Войти с помощью Windows Live
-          alt: Войти с помощью учётной записи Windows Live
+        microsoft:
+          title: Войти с помощью Microsoft
+          alt: Войти с помощью учётной записи Microsoft
         github:
           title: Войти с GitHub
           alt: Войти с учётной записи на GitHub
@@ -2054,10 +2071,29 @@ ru:
       legal_babble:
         title_html: Авторские права и лицензирование
         introduction_1_open_data: открытые данные
+        introduction_2_html: Вы можете свободно копировать, распространять, передавать
+          и дорабатывать наши данные до тех пор, пока вы ссылаетесь на OpenStreetMap
+          и его участников. Если вы изменяете или берёте наши данные за основу, то
+          вы должны распространять результат только по такой же лицензии. Полный %{legal_code_link}
+          юридический текст лицензии разъясняет ваши права и обязанности.
         credit_title_html: Как сослаться на OpenStreetMap
         credit_1_html: 'Если вы используете данные OpenStreetMap, вы должны выполнить
           следующие два условия:'
+        credit_2_1: Отдайте должное OpenStreetMap, поместив наше уведомление об авторских
+          правах.
+        credit_2_2: Дайте понять, что данные доступны по лицензии открытой базы данных.
+        credit_3_html: 'У нас есть различные требования к тому, как должно отображаться
+          наше уведомление об авторских правах: всё зависит от того, как вы используете
+          наши данные. Например, действуют разные правила при отображении уведомления
+          об авторских правах в разных случаях: создали ли вы просматриваемую карту,
+          печатную карту или статичное изображение. Полную информацию о требованиях
+          можно найти в %{attribution_guidelines_link}.'
         credit_3_attribution_guidelines: Руководство по атрибуции
+        credit_4_1_html: |-
+          Чтобы явно указать, что данные доступны по лицензии Open Database License, вы можете сослаться на %{this_copyright_page_link}.
+          В качестве альтернативы, а также в качестве требования, если вы распространяете OSM в виде набора данных, вы можете назвать лицензию(и) и дать на неё(них) прямую ссылку.
+          В СМИ, где ссылки физически невозможны (например, в печатных изданиях), мы предлагаем вам направлять читателей на сайт openstreetmap.org (возможно, расширив написание «OpenStreetMap» до полного веб-адреса) и на opendatacommons.org.
+          В этом примере, упоминание находится в углу карты.
         attribution_example:
           alt: Пример того, как сослаться на OpenStreetMap с веб-страницы
           title: Пример указания авторства
@@ -2076,6 +2112,7 @@ ru:
         contributors_nl_netherlands: Нидерланды
         contributors_nz_new_zealand: Новая Зеландия
         contributors_nz_cc_by: CC BY 4.0
+        contributors_rs_serbia: Сербия
         contributors_si_slovenia: Словения
         contributors_es_spain: Испания
         contributors_es_ign: IGN
@@ -2085,6 +2122,7 @@ ru:
         contributors_2_html: |-
           Для получения дополнительной информации об этих и других источниках, которые использовались
           для улучшения OpenStreetMap, см. %{contributors_page_link} на OpenStreetMap Wiki.
+        contributors_2_contributors_page: Страница авторов
         contributors_footer_2_html: Включение данных в OpenStreetMap не означает,
           что поставщик первичных данных каким-либо образом поддерживает OpenStreetMap,
           предоставляет гарантии или принимает на себя какую-любую ответственность.
@@ -2333,6 +2371,7 @@ ru:
           с сообществом и общаться с ним. Если вы планируете
           какие-либо действия, кроме редактирования вручную, прочтите и следуйте инструкциям:
           %{imports_link} и %{automated_edits_link}.
+        imports: Импорты
         automated_edits: Автоматические правки
       start_mapping: Начать картографировать
       add_a_note:
index 5660a99aa63398a9b253c9a6ee3785928fb72f06..8cdab4e5ce182602aeac9216d39da129e009de10 100644 (file)
@@ -221,6 +221,7 @@ sc:
       openid: OpenID
       google: Google
       facebook: Facebook
+      microsoft: Microsoft
       github: GitHub
       wikipedia: Wikipedia
   api:
@@ -236,6 +237,7 @@ sc:
         reopened_at_by_html: Torrada a ativare %{when} dae %{user}
       rss:
         title: Notas de OpenStreetMap
+        description_all: Una lista de notas sinnaladas, cummentadas o tancadas
         description_area: Una lista de notas, cummentadas o tancadas in s'àrea tua
           [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]
         description_item: Unu flussu de informatziones rss pro sa nota %{id}
@@ -375,7 +377,7 @@ sc:
       history_title_html: 'Istòria de sa lìnia: %{name}'
       nodes: Nodos
       nodes_count:
-        one: 1 nodu
+        one: '%{count} nodu'
         other: '%{count} nodos'
       also_part_of_html:
         one: parte de sa lìnia %{related_ways}
@@ -552,6 +554,7 @@ sc:
       comment_count:
         one: '%{count} cummentu'
         other: '%{count} cummentos'
+      no_comments: Perunu cummentu
       edit_link: Modìfica custa intrada
       hide_link: Cua custa intrada
       unhide_link: Ammustra custa intrada
@@ -1443,6 +1446,7 @@ sc:
       reports:
         one: '%{count} sinnalatzione'
         other: '%{count} sinnalatziones'
+      no_reports: Perunu informe
       report_created_at: Sinnaladu pro sa prima borta su %{datetime}
       last_resolved_at: Risoltu pro s'ùrtima borta su %{datetime}
       last_updated_at: Ùrtima atualizatzione de %{displayname} su %{datetime}
@@ -1853,6 +1857,9 @@ sc:
       no home location: No as insertadu sa positzione de incumintzu tua.
       update home location on click: Atualizare sa positzione de incumintzu incarchende
         in sa mapa?
+      show: Ammustra
+      delete: Iscantzella
+      undelete: Annulla s'iscantzellamentu
     update:
       success: Profilu atualizadu.
       failure: Non s'est pòdidu atualizare su profilu.
@@ -1881,7 +1888,7 @@ sc:
         facebook:
           title: Intra cun Facebook
           alt: Intra cun unu contu de Facebook
-        windowslive:
+        microsoft:
           title: Intra cun Microsoft
           alt: Intra cun unu contu de Microsoft
         github:
@@ -2800,6 +2807,7 @@ sc:
       remove as friend: Boga dae sos amigos
       add as friend: Annanghe comente amigu
       mapper since: 'Mapadore dae su:'
+      uid: 'ID utente:'
       ct status: 'Tèrmines de collaboratzione:'
       ct undecided: Indetzisu
       ct declined: Refudados
@@ -2994,7 +3002,9 @@ sc:
     index:
       title: Notas insertadas o cummentadas dae %{user}
       heading: Notas de %{user}
-      subheading_html: Notas imbiadas o cummentadas dae %{user}
+      subheading_html: Notas %{submitted} o %{commented} dae %{user}
+      subheading_submitted: imbiadas
+      subheading_commented: cummentadas
       no_notes: Peruna nota
       id: Id
       creator: Creadore
index cb4aa3f5bd6f8c9fa128fa533b09e82e1f15dbae..bf4cf06d15ac4475705f4501be52b954e3a8b902 100644 (file)
@@ -1297,7 +1297,7 @@ scn:
         facebook:
           title: Trasi cu Facebook
           alt: Trasi cûn cuntu di Facebook
-        windowslive:
+        microsoft:
           title: Trasi cu Windows Live
           alt: Trasi cûn cuntu di Windows Live
         github:
index cc0b3b486342fb86804f3074737368a43809866a..4e3fa8fa7f2f411534f60e6c7bca59402d97571c 100644 (file)
@@ -808,7 +808,7 @@ sco:
         facebook:
           title: Login wi Facebook
           alt: Login wi a Facebook Accoont
-        windowslive:
+        microsoft:
           title: Login wi Windows Live
           alt: Login wi a Windows Live Accoont
         github:
index 7bd8b6e87d3b10fea6a7e5736b55b74f1f042361..69551cb832657cf900a103fd76e1c6ade7333393 100644 (file)
@@ -1781,7 +1781,7 @@ sk:
         facebook:
           title: Prihlásenie sa pomocou Facebooku
           alt: Prihlásenie sa pomocou účtu na Facebooku
-        windowslive:
+        microsoft:
           title: Prihlásenie sa pomocou Windows Live
           alt: Prihlásenie sa pomocou účtu Windows Live
         github:
index b33dcc7b700a8542d58bcddb177ae2acba219c25..ebf024269c63862a0cd3e2dd5bb411721150045b 100644 (file)
@@ -148,7 +148,7 @@ skr-arab:
       openid: کھلی آئی ڈی
       google: گوگل
       facebook: فیسبوک
-      windowslive: مائیکروسافٹ
+      microsoft: مائیکروسافٹ
       github: گِٹ ہب
       wikipedia: وکیپیڈیا
   api:
@@ -1111,7 +1111,7 @@ skr-arab:
           alt: گوگل اوپن آئی ڈی نال لاگ ان تھیوو
         facebook:
           title: فیس بک نال لاگ ان تھیوو
-        windowslive:
+        microsoft:
           title: مائیکروسافٹ نال لاگ ان تھیوو
           alt: مائیکروسافٹ کھاتے نال لاگ ان تھیوو
         github:
@@ -1320,6 +1320,8 @@ skr-arab:
       show: ݙِکھاؤ
       edit: تبدیلی کرو
   notes:
+    index:
+      subheading_submitted: جمع تھی ڳیا
     show:
       title: نوٹ:%{id}
       description: تفصیل
index 3bbe874dd46e962cb39778282813bd82cf592ab4..6a81b5d2a2d152b0a28079f84b5976abe8851187 100644 (file)
@@ -270,6 +270,7 @@ sl:
         reopened_at_by_html: Znova aktiviral_a %{user} %{when}
       rss:
         title: OpenStreetMap opombe
+        description_all: Seznam sporočenih, komentiranih ali zaprtih opomb
         description_area: Seznam opomb, prijavljenih, komentiranih ali zaprtih na
           vašem območju [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]
         description_item: RSS vir za opombo %{id}
@@ -1926,7 +1927,7 @@ sl:
         facebook:
           title: Prijavi se s Facebookom
           alt: Prijavi se z računom Facebook
-        windowslive:
+        microsoft:
           title: Prijava z Microsoftom
           alt: Prijava z računom Microsoft
         github:
@@ -2823,6 +2824,7 @@ sl:
       remove as friend: Odstrani prijatelja
       add as friend: Dodaj med prijatelje
       mapper since: 'Kartograf od:'
+      uid: 'ID uporabnika:'
       ct status: 'Pogoji sodelovanja:'
       ct undecided: Neodločen
       ct declined: Zavrnjeni
@@ -3017,7 +3019,9 @@ sl:
     index:
       title: Opombe, ki jih je posredoval_a ali komentiral_a %{user}
       heading: Opombe uporabnika %{user}
-      subheading_html: Opombe, ki jih je posredoval_a ali komentiral_a %{user}
+      subheading_html: Opombe, ki jih je %{submitted} ali %{commented} %{user}
+      subheading_submitted: posredoval_a
+      subheading_commented: komentiral_a
       no_notes: Ni opomb
       id: Id
       creator: Ustvarjalec
@@ -3111,6 +3115,7 @@ sl:
         cyclosm: CyclOSM
         cycle_map: Kolesarska karta
         transport_map: Prometna karta
+        tracestracktop_topo: Tracestrack Topo
         hot: Humanitarno
         opnvkarte: ÖPNVKarte
       layers:
@@ -3129,6 +3134,8 @@ sl:
       andy_allan: Andy Allan
       opnvkarte_credit: Ploščice z dovoljenjem %{memomaps_link}
       memomaps: MeMoMaps
+      tracestrack_credit: Ploščice z dovoljenjem %{tracestrack_link}
+      tracestrack: Tracestrack
       hotosm_credit: Slog ploščic %{hotosm_link}, gosti jih %{osm_france_link}
       hotosm_name: Humanitarna ekipa OpenStreetMap
     site:
index f980de83b83901a2940b3bcbf736f9f0d7131def..d015c9baf3108f0d23de4a9a873ce907416bb9a7 100644 (file)
@@ -1457,7 +1457,7 @@ sr:
         facebook:
           title: Пријавити се са Facebook-ом
           alt: Пријава преко Facebook налога
-        windowslive:
+        microsoft:
           title: Пријава преко Microsoft-а
           alt: Пријава преко Microsoft налога
         github:
index 847d18f508c0252a685bdcc963bd386a63551d64..b6f09dd7365f59582ecd3aad6f2a7f8998a9620f 100644 (file)
@@ -49,6 +49,7 @@
 # Author: VickyC
 # Author: Westis
 # Author: WikiPhoenix
+# Author: Yupik
 # Author: Zvenzzon
 ---
 sv:
@@ -1844,6 +1845,7 @@ sv:
       home location: Hemposition
       no home location: Du har inte angivit någon hemposition.
       update home location on click: Uppdatera hemposition när jag klickar på kartan?
+      show: Visa
     update:
       success: Profil uppdaterad.
       failure: Kunde inte uppdatera profilen.
@@ -1872,7 +1874,7 @@ sv:
         facebook:
           title: Logga in med Facebook
           alt: Logga in med ett Facebook-konto
-        windowslive:
+        microsoft:
           title: Logga in med Microsoft
           alt: Logga in med ett Microsoft-konto
         github:
index 095c11d2f717fb3ea127b721db93fb33b553eb29..fc7874b99b4f6692f1a694525b3f1c68e3df729e 100644 (file)
@@ -1781,7 +1781,7 @@ te:
         facebook:
           title: Facebook తో లాగినవండి
           alt: Facebook ఖాతాతో లాగినవండి
-        windowslive:
+        microsoft:
           title: Windows Live తో లాగినవండి
           alt: Windows Live ఖాతాతో లాగినవండి
         github:
index c11f31ee2c3f801e307786d12f9a570bf817e675..64e1da4e93ae70558252e10c9dbf2ad1e0b6d493 100644 (file)
@@ -1468,7 +1468,7 @@ th:
         facebook:
           title: เข้าใช้งานด้วย Facebook
           alt: เข้าใช้งานด้วยบัญชี Facebook
-        windowslive:
+        microsoft:
           title: เข้าใช้งานด้วย Windows Live
           alt: เข้าใช้งานด้วยบัญชี Windows Live
         github:
index 41a18baf6375506301f239f69a97ecb16a9526f8..78226dcaf98924a841b0bda19bd51691e263af57 100644 (file)
@@ -1494,7 +1494,7 @@ tl:
         facebook:
           title: Lumagda gamit ang Facebook
           alt: Lumagda gamit ang isang akawnt sa Facebook
-        windowslive:
+        microsoft:
           title: Lumagda gamit ang Windows Live
           alt: Lumagda gamit ang isang akawnt sa Windows Live
         github:
index 5c325292f3c6f12ceb9d32f6dd3cf05c0d781aff..301b5d8cd29b973af586225673adb8671b98c005 100644 (file)
@@ -262,6 +262,7 @@ tr:
       openid: OpenID
       google: Google
       facebook: Facebook
+      microsoft: Microsoft
       github: GitHub
       wikipedia: Vikipedi
   api:
@@ -277,6 +278,7 @@ tr:
         reopened_at_by_html: '%{user} tarafından %{when} yeniden etkinleştirildi'
       rss:
         title: OpenStreetMap Notları
+        description_all: Bildirilen, yorum yapılan veya kapatılan notların listesi
         description_area: '[(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})] bölgenizde
           raporlanan, yorumlanan veya kapatılan notların bir listesi'
         description_item: Not %{id} için bir rss beslemesi
@@ -410,6 +412,7 @@ tr:
       history_title_html: 'Yol geçmişi: %{name}'
       nodes: Noktalar
       nodes_count:
+        one: '%{count} düğüm'
         other: '%{count} düğüm'
       also_part_of_html:
         one: yol parçası %{related_ways}
@@ -583,7 +586,6 @@ tr:
       comment_link: Bu girdiyi yorumla
       reply_link: Yazara mesaj gönder
       comment_count:
-        zero: Yorum yok
         one: '%{count} yorum'
         other: '%{count} yorum'
       no_comments: Yorum yok
@@ -1474,8 +1476,7 @@ tr:
     show:
       title: '%{status} Sorun #%{issue_id}'
       reports:
-        zero: Rapor yok
-        one: 1 rapor
+        one: '%{count} rapor'
         other: '%{count} rapor'
       no_reports: Rapor yok
       report_created_at: İlk defa %{datetime} tarihinde bildirildi
@@ -1553,7 +1554,7 @@ tr:
     logout: Oturumu Kapat
     log_in: Oturum Aç
     sign_up: Kaydol
-    start_mapping: Harita Çizmeye Başla
+    start_mapping: Haritacılığa Başla
     edit: Düzenle
     history: Geçmiş
     export: Dışa aktar
@@ -1567,15 +1568,15 @@ tr:
     edit_with: '%{editor} kullanarak düzenle'
     tag_line: Özgür Viki Dünya Haritası
     intro_header: OpenStreetMap'e hoş geldiniz!
-    intro_text: OpenStreetMap, sizin gibi kişiler tarafından oluşturulan ve açık bir
-      lisans altında kullanımı ücretsiz olan bir dünya haritasıdır.
+    intro_text: OpenStreetMap, sizler tarafından oluşturulan ve açık lisans altında
+      ücretsiz olarak kullanılabilen bir dünya haritasıdır.
     intro_2_create_account: Bir kullanıcı hesabı oluşturun
     hosting_partners_html: Barındırma hizmeti; %{ucl}, %{fastly}, %{bytemark} ve diğer
-      %{partners} tarafından desteklenmektedir.
+      %{partners} tarafından sağlanmaktadır.
     partners_ucl: UCL
     partners_fastly: Fastly
     partners_bytemark: Bytemark Hosting
-    partners_partners: ortaklar
+    partners_partners: işbirlikçiler
     tou: Kullanım Şartları
     osm_offline: OpenStreetMap veritabanı bakım çalışmaları yürütüldüğü için veritabanı
       şu anda çevrimdışıdır.
@@ -1638,6 +1639,9 @@ tr:
       subject: '[OpenStreetMap] GPX dosyası maalesef alınamadı'
     gpx_success:
       hi: Merhaba %{to_user},
+      loaded:
+        one: olası %{count} puan üzerinden %{trace_points} ile başarıyla yüklendi.
+        other: olası %{count} puan üzerinden %{trace_points} ile başarıyla yüklendi.
       subject: '[OpenStreetMap] GPX dosyası başarıyla alındı'
     signup_confirm:
       subject: '[OpenStreetMap]''e hoş geldin'
@@ -1794,7 +1798,7 @@ tr:
     no_such_message:
       title: Böyle bir mesaj yok
       heading: Böyle bir mesaj yok
-      body: Üzgünüz, bu id ile bir mesaj yok.
+      body: Üzgünüz, bu kimlik ile bir mesaj yok.
     outbox:
       title: Giden kutusu
       my_inbox: Gelen Kutum
@@ -1911,7 +1915,7 @@ tr:
         facebook:
           title: Facebook ile giriş
           alt: Facebook Hesabı ile giriş
-        windowslive:
+        microsoft:
           title: Microsoft ile giriş
           alt: Microsoft Hesabı ile giriş
         github:
@@ -1967,14 +1971,29 @@ tr:
         OpenStreetMap, piyasa bilgisi üzerinde durmaktadır. Katkıda bulunanlar,
         OSM'nin doğru ve güncel olduğunu doğrulamak için havadan görüntüler, GPS cihazları ve düşük teknoloji alan haritaları kullanmaktadır.
       community_driven_title: Katılım Kaynaklı
+      community_driven_1_html: "OpenStreetMap topluluğu çeşitlidir, tutkuludur ve
+        her geçen gün büyümektedir.\nKatkıda bulunanlarımız arasında meraklı haritacılar,
+        GIS uzmanları, OSM sunucularını çalıştıran mühendisler, felaketten etkilenen
+        alanların haritasını çıkaran insani yardım görevlileri ve çok daha fazlası
+        yer alıyor.\nTopluluk hakkında daha fazla bilgi edinmek için %{osm_blog_link},\n%{user_diaries_link},
+        %{community_blogs_link} ve \n%{osm_foundation_link} web sayfalarına göz atın."
       community_driven_osm_blog: OpenStreetMap Blogu
       community_driven_user_diaries: kullanıcı günlükleri
       community_driven_community_blogs: topluluk blogları
       community_driven_osm_foundation: OSM Vakfı
       open_data_title: Açık Veri
+      open_data_1_html: 'OpenStreetMap, bir %{open_data}dir: OpenStreetMap''e ve katkıda
+        bulunanlara atıf yaptığınız sürece onu herhangi bir amaç için kullanmakta
+        özgürsünüz. Verileri belirli şekillerde değiştirir veya verilerden yararlanırsanız
+        sonucu yalnızca aynı lisans kapsamında dağıtabilirsiniz. Ayrıntılar için %{copyright_license_link}na
+        bakınız.'
       open_data_open_data: açık veri
       open_data_copyright_license: Telif Hakkı ve Lisans sayfası
       legal_title: Yasal
+      legal_1_1_html: Bu site ve diğer birçok ilgili hizmet, topluluk adına %{openstreetmap_foundation_link}
+        (OSMF) tarafından resmî olarak işletilmektedir. OSMF tarafından işletilen
+        tüm hizmetlerin kullanımı %{terms_of_use_link}, %{aup_link} ve %{privacy_policy_link}na
+        tabidir.
       legal_1_1_openstreetmap_foundation: OpenStreetMap Vakfı
       legal_1_1_terms_of_use: Kullanım Şartları
       legal_1_1_aup: Kabul Edilebilir Kullanım Politikaları
@@ -1985,7 +2004,7 @@ tr:
       legal_2_2_html: OpenStreetMap, büyüteç logosu ve Harita Durumu %{registered_trademarks_link}
         sayılmaktadır.
       legal_2_2_registered_trademarks: OSMF'nin tescilli ticari markaları
-      partners_title: Ortaklar
+      partners_title: İşbirlikçiler
     copyright:
       foreign:
         title: Bu çeviri hakkında
@@ -1999,7 +2018,7 @@ tr:
           %{native_link} sayfasına geri gidebilir ya da telif hakkı ve %{mapping_link}
           hakkında bilgi edinmek için sayfada kalabilirsiniz.
         native_link: Türkçe sürümü
-        mapping_link: harita çizmeye başla
+        mapping_link: haritacılığa başla
       legal_babble:
         title_html: Telif Hakkı ve Lisans
         introduction_1_html: OpenStreetMap%{registered_trademark_link} %{odc_odbl_link}
@@ -2019,46 +2038,109 @@ tr:
         credit_title_html: OpenStreetMap'e nasıl atıfta bulunulur
         credit_1_html: 'OpenStreetMap verilerini kullandığınız yerde aşağıdaki iki
           şeyi yapmanız gerekiyor:'
+        credit_2_1: Telif hakkı bildirimimizi görüntüleyerek OpenStreetMap'e atıfta
+          bulunun.
         credit_2_2: Verilerin Açık Veritabanı Lisansı kapsamında mevcut olduğunu açıkça
           belirtin.
+        credit_3_html: Telif hakkı bildirimi açısından, verilerimizi nasıl kullandığınıza
+          bağlı olarak bunun nasıl görüntülenmesi gerektiği konusunda farklı gereksinimlerimiz
+          vardır. Örneğin, göz atılabilir bir harita, basılı bir harita veya statik
+          bir resim oluşturmanıza bağlı olarak telif hakkı bildiriminin nasıl gösterileceği
+          konusunda farklı kurallar geçerlidir. Gereksinimlere ilişkin tüm ayrıntıları  %{attribution_guidelines_link}
+          kısmında bulabilirsiniz.
+        credit_3_attribution_guidelines: İlişkilendirme Kuralları
+        credit_4_1_html: Verilerin Açık Veritabanı Lisansı kapsamında mevcut olduğunu
+          açıkça belirtmek için %{this_copyright_page_link}na bağlantı verebilirsiniz.
+          Alternatif olarak ve OSM'yi bir veri formunda dağıtıyorsanız bir gereklilik
+          olarak lisansları doğrudan adlandırabilir ve bunlara bağlantı verebilirsiniz.
+          Bağlantıların mümkün olmadığı ortamlarda (örneğin basılı eserlerde), okuyucularınızı
+          openstreetmap.org'a (belki 'OpenStreetMap'i bu tam adrese genişleterek)
+          ve opendatacommons.org'a yönlendirmenizi öneririz. Bu örnekte atıf haritanın
+          köşesinde görünür.
         credit_4_1_this_copyright_page: bu telif hakkı sayfası
         attribution_example:
           alt: Web sayfasıında OpenStreetMap atıf etmek için bir örnek
           title: Atıf örneği
         more_title_html: Daha fazlasını öğrenin
+        more_1_1_html: Verilerimizin kullanımı ve bize nasıl atıfta bulunacağınız
+          hakkında daha fazla bilgiyi  %{osmf_licence_page_link}nda bulabilirsiniz.
         more_1_1_osmf_licence_page: OSMF Lisans sayfası
+        more_2_1_html: OpenStreetMap açık veri olmasına rağmen üçüncü taraflara ücretsiz
+          bir harita API'si sağlayamıyoruz. %{api_usage_policy_link}, %{tile_usage_policy_link}
+          ve %{nominatim_usage_policy_link} sayfalarına bakınız.
         more_2_1_api_usage_policy: API Kullanım Politikası
         more_2_1_tile_usage_policy: Karo Kullanım Politikası
+        more_2_1_nominatim_usage_policy: İsmen Kullanım Politikası
         contributors_title_html: Katkıda Bulunanlar
         contributors_intro_html: |-
           Binlerce kişi projemize katkıda bulunmaktadır. Ulusal
           haritalama ajanslarından ve diğer kaynaklardan
           açık-lisanslı veriler de içeriyoruz:
+        contributors_at_credit_html: '%{austria}: %{stadt_wien_link} (%{cc_by_link}
+          kapsamında), %{land_vorarlberg_link} ve Land Tirol''den (%{cc_by_at_with_amendments_link}
+          kapsamında) verileri içerir.'
         contributors_at_austria: Avusturya
         contributors_at_stadt_wien: Stadt Wien
         contributors_at_cc_by: CC-BY
         contributors_at_land_vorarlberg: |-
           Land
            Vorarlberg
+        contributors_at_cc_by_at_with_amendments: değişikliklerle birlikte CC BY AT
+        contributors_au_credit_html: '%{australia}: İdari Sınırlar &copy; %{geoscape_australia_link}
+          kullanılarak birleştirilmiş veya geliştirilmiştir. Commonwealth of Australia
+          tarafından %{cc_licence_link} kapsamında lisanslanmıştır.'
         contributors_au_australia: Avustralya
         contributors_au_geoscape_australia: Geoscape Australia
         contributors_au_cc_licence: Creative Commons Atıf 4.0 Uluslararası lisansı
           (CC BY 4.0)
+        contributors_ca_credit_html: '%{canada}: GeoBase&reg;, GeoGratis (&copy; Department
+          of Natural Resources Canada), CanVec (&copy; Department of Natural Resources
+          Canada), and StatCan (Geography Division, Statistics Canada) verileri içerir.'
         contributors_ca_canada: Kanada
+        contributors_fi_credit_html: '%{finland}: Finlandiya Topografik Veritabanı
+          Ulusal Arazi Araştırması''ndan ve diğer veri kümelerinden veriler içerir
+          ve %{nlsfi_license_link} ile lisanslanmıştır.'
         contributors_fi_finland: Finlandiya
         contributors_fi_nlsfi_license: NLSFI Lisansı
+        contributors_fr_credit_html: '%{france}: Direction Générale des Impôts''tan
+          alınan verileri içerir.'
         contributors_fr_france: Fransa
+        contributors_nl_credit_html: '%{netherlands}: &copy; AND verilerini içerir,
+          2007 (%{and_link})'
         contributors_nl_netherlands: Hollanda
+        contributors_nz_credit_html: '%{new_zealand}: %{linz_data_service_link}''nden
+          alınan ve %{cc_by_link} kapsamında yeniden kullanım için lisanslanan verileri
+          içerir.'
         contributors_nz_new_zealand: Yeni Zelanda
         contributors_nz_linz_data_service: LINZ Veri Hizmeti
         contributors_nz_cc_by: CC BY 4.0
+        contributors_rs_credit_html: '%{serbia}: %{rgz_link} ile %{open_data_portal}''ndan
+          alınan verileri içerir (Sırbistan''ın kamuya açık bilgileri), 2018.'
+        contributors_rs_serbia: Sırbistan
+        contributors_rs_rgz: Sırp Jeodezi Kurumu
+        contributors_rs_open_data_portal: Ulusal Açık Veri Portalı
+        contributors_si_credit_html: |-
+          %{slovenia}: %{gu_link} ve %{mkgp_link}
+          (Slovenya'nın kamuya açık bilgileri) verilerini içerir.
         contributors_si_slovenia: Slovenya
+        contributors_si_gu: Etüt ve Harita Kurumu
         contributors_si_mkgp: Tarım, Orman ve Gıda Bakanlığı
+        contributors_es_credit_html: '%{spain}: %{cc_by_link} kapsamında yeniden kullanım
+          için lisanslanan İspanyol National Geographic Institute (%{ign_link}) ve
+          National Cartographic System''den (%{scne_link}) alınan verileri içerir.'
         contributors_es_spain: İspanya
         contributors_es_ign: IGN
         contributors_es_cc_by: CC BY 4.0
+        contributors_za_credit_html: '%{south_africa}: %{ngi_link} kaynaklı verileri
+          içerir, Devlet telif hakkı saklıdır.'
         contributors_za_south_africa: Güney Afrika
+        contributors_za_ngi: 'Baş Müdürlük: Ulusal Jeo-Uzamsal Bilgi'
+        contributors_gb_credit_html: '%{united_kingdom}: Ordnance Survey verilerini
+          içerir &copy; Crown telif hakkı ve veritabanı hakkı, 2010-2023.'
         contributors_gb_united_kingdom: Birleşik Krallık
+        contributors_2_html: Bu ve OpenStreetMap'i geliştirmeye yardımcı olmak için
+          kullanılan diğer kaynaklar hakkında daha fazla ayrıntı için lütfen OpenStreetMap
+          Wiki'deki  %{contributors_page_link}na bakın.
         contributors_2_contributors_page: Katkıda bulunanlar sayfası
         contributors_footer_2_html: |-
           Verilerin OpenStreetMap'e dahil edilmesi, orijinal
@@ -2071,7 +2153,15 @@ tr:
           açık izni olmadan telif hakkıyla korunan kaynaklardan
           (ör. Google Haritalar veya basılı haritalar) hiçbir zaman
           veri eklememeleri hatırlatılır.
+        infringement_2_1_html: Telif hakkıyla korunan materyalin OpenStreetMap veritabanına
+          veya bu siteye uygunsuz bir şekilde eklendiğine inanıyorsanız lütfen %{takedown_procedure_link}
+          sayfasına bakın veya doğrudan %{online_filing_page_link} sayfamızda dosyalayın.
+        infringement_2_1_takedown_procedure: kaldırma prosedürü
+        infringement_2_1_online_filing_page: çevrimiçi dosyalama sayfası
         trademarks_title: Ticari markalar
+        trademarks_1_1_html: OpenStreetMap, büyüteç logosu ve State of the Map; OpenStreetMap
+          Vakfı'nın tescilli ticari markalarıdır. Markaların kullanımıyla ilgili sorularınız
+          varsa lütfen %{trademark_policy_link} sayfasına bakın.
         trademarks_1_1_trademark_policy: Ticari Marka Politikası
     index:
       js_1: JavaScript desteklemeyen bir tarayıcı kullanıyorsunuz ya da JavaScript
@@ -2145,8 +2235,15 @@ tr:
           explanation_html: |-
             Harita verilerinde bir sorun fark ettiyseniz, örneğin bir yol veya adresinizin eksik olması gibi,
             devam etmenin en iyi yolu OpenStreetMap topluluğuna katılmak ve verileri kendiniz eklemeniz veya düzeltmenizdir.
+        add_a_note:
+          instructions_1_html: |-
+            Harita ekranında %{note_icon} veya aynı simgeye tıklamanız yeterlidir.
+            Bu, haritaya sürükleyerek taşıyabileceğiniz bir işaretçi ekleyecektir. Mesajınızı ekleyin, ardından kaydet'i tıklayın; diğer haritacılar araştıracaktır.
       other_concerns:
         title: Diğer sorunlar
+        concerns_html: Verilerimizin nasıl kullanıldığına veya içeriğine ilişkin endişeleriniz
+          varsa daha fazla yasal bilgi için lütfen %{copyright_link}na bakın veya
+          uygun %{working_group_link}yla iletişime geçin.
         copyright: telif hakkı sayfası
         working_group: OSMF çalışma grubu
     help:
@@ -2195,10 +2292,17 @@ tr:
         kullanılamaz.
       desktop_application_html: Potlatch'ı %{download_link} ile kullanmaya devam edebilirsiniz.
       download: Mac ve Windows için masaüstü uygulamasını indirme
+      id_editor_html: Alternatif olarak varsayılan düzenleyicinizi, daha önce Potlatch'in
+        yaptığı gibi web tarayıcınızda çalışan iD'ye ayarlayabilirsiniz. %{change_preferences_link}.
       change_preferences: Tercihlerinizi buradan değiştirin
     any_questions:
       title: Sorularınız var mı?
+      paragraph_1_html: OpenStreetMap'in; proje hakkında bilgi edinmek, soru sormak
+        ve yanıtlamak ve haritalama konularını iş birliği içinde tartışmak ve belgelemek
+        için çeşitli kaynakları vardır. %{help_link}. OpenStreetMap için planlar yapan
+        bir kuruluşla mısınız? %{welcome_mat_link}.
       get_help_here: Buradan yardım alın
+      welcome_mat: Sıcak Karşılamaya göz atın
     sidebar:
       search_results: Arama Sonuçları
       close: Kapat
@@ -2294,6 +2398,11 @@ tr:
           bir yerdir. Bu milyonlarca binaları, yolları ve yerler hakkında diğer ayrıntıları
           içerir. İlginizi çeken her türlü gerçek dünya özelliklerini haritalayabilirsiniz.
         real_and_current: gerçek ve güncel
+        off_the_map_html: Derecelendirmeler, geçmiş veya varsayımsal özellikler ve
+          telif hakkıyla korunan kaynaklardan alınan veriler gibi üzerinde düşünülmüş
+          veriler %{doesnt}. Özel izniniz olmadığı sürece çevrimiçi veya kağıt haritalardan
+          kopyalamayın.
+        doesnt: yok
       basic_terms:
         title: Haritacılığın temel terimleri
         paragraph_1: OpenStreetMap'in kendine ait bazı argoları vardır. İşte kullanışlı
@@ -2311,15 +2420,23 @@ tr:
         tag: etiket
       rules:
         title: Kuralları!
+        para_1_html: OpenStreetMap'in birkaç resmî kuralı olmasına rağmen tüm katılımcıların
+          toplulukla iş birliği yapmasını ve iletişim kurmasını bekliyoruz. Elle düzenleme
+          dışında herhangi bir işlem yapmayı düşünüyorsanız lütfen%{imports_link}
+          ve %{automated_edits_link} kılavuzlarını okuyup uygulayın.
         imports: Aktarımlar
         automated_edits: Otomatik Düzenlemeler
-      start_mapping: Harita Çizmeye Başla
+      start_mapping: Haritacılığa Başla
       add_a_note:
         title: Düzenlemek için vaktin yok mu? O zaman bir not ekle!
         para_1: |-
           Küçük bir değişikliğin sabit kalmasını istiyor fakat üye olacak ve
           nasıl düzenleneceğini öğrenecek zamanınız yoksa
           not eklemeniz yeterlidir.
+        para_2_html: |-
+          %{map_link} kısmına gidip not simgesine tıklamanız yeterli: %{note_icon}.
+          Bu, haritaya sürükleyerek taşıyabileceğiniz bir işaretçi ekleyecektir.
+          Mesajınızı ekleyin, ardından kaydet'i tıklayın; diğer haritacılar araştıracaktır.
         the_map: harita
     communities:
       title: Topluluklar
@@ -2407,7 +2524,7 @@ tr:
     trace:
       pending: BEKLEMEDE
       count_points:
-        one: 1 puan
+        one: '%{count} puan'
         other: '%{count} puan'
       more: daha fazla
       trace_details: İz Ayrıntılarını Görüntüle
@@ -2614,7 +2731,7 @@ tr:
         paragraph_2: Katkıda bulunmaya başlamak için kaydolun. Hesabınızı onaylamak
           için bir e-posta göndereceğiz.
       display name description: Herkes tarafından görünecek bir kullanıcı adı. Bu
-        adı istediğin zaman 'tercihlerim' bölümünde değiştirebilirsin.
+        adı istediğiniz zaman ayarlar bölümünde değiştirebilirsiniz.
       external auth: 'Üçüncü Taraf Kimlik Doğrulaması:'
       use external auth: 'Alternatif olarak bir üçüncü parti uygulaması kullanarak
         oturum aç:'
@@ -2622,7 +2739,11 @@ tr:
         ancak bazı ek araçlar veya sunucu için yine de bir parola gerekebilir.
       continue: Kaydol
       terms accepted: Yeni katılımcı şartları kabul ettiğin için teşekkür ederiz!
+      email_confirmation_help_html: Adresiniz herkese açık olarak görüntülenmiyor,
+        daha fazla bilgi için %{privacy_policy_link} sayfasına bakın.
       privacy_policy: gizlilik politikası
+      privacy_policy_title: E-posta adresleriyle ilgili bölümü içeren OSMF gizlilik
+        politikası
     terms:
       title: Koşullar
       heading: Koşullar
@@ -2687,6 +2808,7 @@ tr:
       remove as friend: Arkadaşlıktan çıkar
       add as friend: Arkadaş Olarak Ekle
       mapper since: 'Haritacılığa başlama tarihi:'
+      uid: 'Kullanıcı kimliği:'
       ct status: 'Katılımcının şartları:'
       ct undecided: Kararsız
       ct declined: Reddetti
@@ -2824,19 +2946,19 @@ tr:
       time_past_html: '%{time} bitti.'
       block_duration:
         hours:
-          one: 1 saat
+          one: '%{count} saat'
           other: '%{count} saat'
         days:
-          one: 1 gün
+          one: '%{count} gün'
           other: '%{count} gün'
         weeks:
-          one: 1 hafta
+          one: '%{count} hafta'
           other: '%{count} hafta'
         months:
-          one: 1 ay
+          one: '%{count} ay'
           other: '%{count} ay'
         years:
-          one: 1 yıl
+          one: '%{count} yıl'
           other: '%{count} yıl'
     blocks_on:
       title: '%{name} kişisinin engelleri'
@@ -2878,7 +3000,9 @@ tr:
     index:
       title: '%{user} tarafından gönderilen veya yorumlanan notlar'
       heading: '%{user} kullanıcıya ait notlar'
-      subheading_html: '%{user} tarafından gönderilen veya yorumlanan notlar'
+      subheading_html: '%{user} tarafından %{submitted}} veya %{commented} notlar'
+      subheading_submitted: gönderilen
+      subheading_commented: yorumlanan
       no_notes: Not yok
       id: Kimlik
       creator: Oluşturan
@@ -2982,9 +3106,16 @@ tr:
       openstreetmap_contributors: OpenStreetMap'e katkıda bulunanlar
       make_a_donation: Bağış Yapın
       website_and_api_terms: Web sitesi ve API koşulları
+      cyclosm_credit: '%{osm_france_link} tarafından barındırılan %{cyclosm_link}
+        döşeme tarzı'
       osm_france: OpenStreetMap Fransa
+      thunderforest_credit: Döşemeler, %{thunderforest_link} katkılarıyla
       andy_allan: Andy Allan
+      opnvkarte_credit: Döşemeler, %{memomaps_link} katkılarıyla
       memomaps: MeMo Haritaları
+      hotosm_credit: '%{osm_france_link} tarafından barındırılan %{hotosm_link} döşeme
+        tarzı'
+      hotosm_name: İnsani OpenStreetMap Ekibi
     site:
       edit_tooltip: Haritayı düzenle
       edit_disabled_tooltip: Haritayı düzenlemek için yakınlaştırın
index 0b51488b71a721a2ca4b6eac2d10909e39994ac4..d6837960e4ffdba0f46674c98a0edebeac0f0b65 100644 (file)
@@ -283,6 +283,7 @@ uk:
       openid: OpenID
       google: Google
       facebook: Facebook
+      microsoft: Microsoft
       github: GitHub
       wikipedia: Вікіпедія
   api:
@@ -298,6 +299,8 @@ uk:
         reopened_at_by_html: Відновлено %{when} %{user}
       rss:
         title: Нотатки OpenStreetMap
+        description_all: Перелік нотаток, до яких було надіслано коментарі, які було
+          закрито та на які були скарги.
         description_area: Перелік нотаток, створених, прокоментованих чи закритих
           біля вас [(%{min_lat}|%{min_lon}) — (%{max_lat}|%{max_lon})]
         description_item: Rss-канал нотаток %{id}
@@ -1921,6 +1924,9 @@ uk:
       no home location: Ви не позначили своє основне місце розташування.
       update home location on click: Оновлювати моє місце розташування, коли я клацаю
         на мапу?
+      show: Показати
+      delete: Вилучити
+      undelete: Скасувати вилучення
     update:
       success: Профіль збережено.
       failure: Неможливо зберегти оновлення профілю.
@@ -1949,7 +1955,7 @@ uk:
         facebook:
           title: Увійти з Facebook
           alt: Увійти з облікового запису Facebook
-        windowslive:
+        microsoft:
           title: Увійти з Microsoft
           alt: Увійти з облікового запису Microsoft
         github:
@@ -2847,6 +2853,7 @@ uk:
       remove as friend: Вилучити зі списку друзів
       add as friend: Додати до списку друзів
       mapper since: 'Зареєстрований:'
+      uid: 'id учасника:'
       ct status: 'Умови співпраці:'
       ct undecided: Не визначились
       ct declined: Відхилили
@@ -3048,7 +3055,9 @@ uk:
     index:
       title: Нотатки створені чи прокоментовані %{user}
       heading: Нотатки %{user}
-      subheading_html: Нотатки, створені чи прокоментовані %{user}
+      subheading_html: Нотатки, %{submitted} чи %{commented} %{user}
+      subheading_submitted: створені
+      subheading_commented: прокоментовані
       no_notes: Нотаток немає
       id: Номер
       creator: Автор
index 530ebb70580912814d1c85da702799cfe6212cd7..4144a3f018e3d549fd23e32a19de58fc521d5400 100644 (file)
@@ -1738,9 +1738,9 @@ vi:
         facebook:
           title: Đăng nhập qua Facebook
           alt: Đăng nhập dùng tài khoản Facebook
-        windowslive:
-          title: Đăng nhập qua Windows Live
-          alt: Đăng nhập dùng tài khoản Windows Live
+        microsoft:
+          title: Đăng nhập qua Microsoft
+          alt: Đăng nhập dùng Tài khoản Microsoft
         github:
           title: Đăng nhập qua GitHub
           alt: Đăng nhập dùng tài khoản GitHub
index d07cacfeb0a2bb28b0db862189c273d8683ce376..f29d9382eee1dd3dee4ac5fa0aede3f8216b39bd 100644 (file)
@@ -39,6 +39,7 @@
 # Author: LaoShuBaby
 # Author: Lepus
 # Author: Liangent
+# Author: LittlePaw365
 # Author: Liuxinyu970226
 # Author: Mmyangfl
 # Author: Mywood
@@ -54,6 +55,7 @@
 # Author: StarrySky
 # Author: StephDC
 # Author: TianyinLee
+# Author: Tntchn
 # Author: TsuyaMarisa
 # Author: Vikarna
 # Author: VulpesVulpes825
@@ -287,6 +289,7 @@ zh-CN:
       openid: 开放式身份验证
       google: 谷歌
       facebook: 脸书
+      microsoft: 微软
       github: GitHub
       wikipedia: 维基百科
   api:
@@ -302,6 +305,7 @@ zh-CN:
         reopened_at_by_html: '%{user}于%{when}重新激活'
       rss:
         title: OpenStreetMap 注记
+        description_all: 已报告、评论或关闭的注记列表
         description_area: 在您的区域 [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]
           报告、评论或关闭的注记列表
         description_item: 注记 %{id} 的简易信息聚合馈送
@@ -418,7 +422,7 @@ zh-CN:
       history_title_html: 路径历史:%{name}
       nodes: 节点
       nodes_count:
-        other: '%{count} 个节点'
+        other: '%{count}个节点'
       also_part_of_html:
         one: 属于路径 %{related_ways}
         other: 属于路径 %{related_ways}
@@ -584,6 +588,7 @@ zh-CN:
       comment_count:
         one: '%{count} 个评论'
         other: '%{count} 个评论'
+      no_comments: 没有评论
       edit_link: 编辑该文章
       hide_link: 隐藏该文章
       unhide_link: 取消隐藏此项目
@@ -1276,7 +1281,7 @@ zh-CN:
           carpet: 地毯店
           charity: 慈善商店
           cheese: 奶酪店
-          chemist: 化学品
+          chemist: 药妆
           chocolate: 巧克力店
           clothes: 服装店
           coffee: 咖啡店
@@ -1465,6 +1470,7 @@ zh-CN:
       reports:
         one: '%{count}个举报'
         other: '%{count}个举报'
+      no_reports: 没有报告
       report_created_at: 首次报告于%{datetime}
       last_resolved_at: 上次解决于%{datetime}
       last_updated_at: 上次由%{displayname}于%{datetime}更新
@@ -1798,6 +1804,9 @@ zh-CN:
       home location: 住所位置
       no home location: 您还没有输入您的住所位置。
       update home location on click: 点击地图时更新所在位置?
+      show: 显示
+      delete: 删除
+      undelete: 撤销删除
     update:
       success: 个人资料已更新。
       failure: 无法更新个人资料。
@@ -1826,7 +1835,7 @@ zh-CN:
         facebook:
           title: 使用脸书登录
           alt: 使用Facebook账户登录
-        windowslive:
+        microsoft:
           title: 使用Microsoft登录
           alt: 使用Microsoft账户登录
         github:
@@ -1982,6 +1991,11 @@ zh-CN:
         contributors_nz_new_zealand: 新西兰
         contributors_nz_linz_data_service: LINZ 数据服务
         contributors_nz_cc_by: CC BY 4.0
+        contributors_rs_credit_html: '%{serbia}:包含来自%{rgz_link}和%{open_data_portal}(塞尔维亚的公共信息)的数据,2018
+          年。'
+        contributors_rs_serbia: 塞尔维亚
+        contributors_rs_rgz: 塞尔维亚大地测量局
+        contributors_rs_open_data_portal: 国家开放数据门户
         contributors_si_credit_html: |-
           %{slovenia}:包含来自%{gu_link}和%{mkgp_link}
           (斯洛文尼亚公共信息)的数据。
@@ -2566,6 +2580,7 @@ zh-CN:
       remove as friend: 删除朋友
       add as friend: 添加朋友
       mapper since: 绘图者注册于:
+      uid: 用户ID:
       ct status: 贡献者条款:
       ct undecided: 未决定
       ct declined: 已拒绝
@@ -2743,7 +2758,9 @@ zh-CN:
     index:
       title: '%{user} 提交或评论的注记'
       heading: '%{user} 的注记'
-      subheading_html: '%{user} 提交或评论的注记'
+      subheading_html: 由%{user}%{submitted}或%{commented}的注记
+      subheading_submitted: 已提交
+      subheading_commented: 已评论
       no_notes: 没有笔记
       id: ID
       creator: 创建者
@@ -2826,6 +2843,7 @@ zh-CN:
         cyclosm: 自行车地图
         cycle_map: 骑行运动地图
         transport_map: 交通运输地图
+        tracestracktop_topo: 地形地貌地图
         hot: 人道救援地图
         opnvkarte: 公共交通地图
       layers:
@@ -2841,7 +2859,11 @@ zh-CN:
       cyclosm_credit: 由%{osm_france_link}托管的%{cyclosm_link}的图块风格
       osm_france: OpenStreetMap 法国
       thunderforest_credit: '%{thunderforest_link}提供的图块'
+      andy_allan: Andy Allan
       opnvkarte_credit: '%{memomaps_link}提供的图块'
+      memomaps: MeMoMaps
+      tracestrack_credit: '%{tracestrack_link}提供的图块'
+      tracestrack: 踪迹地图
       hotosm_credit: 由%{osm_france_link}托管的%{hotosm_link}图块风格
       hotosm_name: 人道主义开放街图团队
     site:
@@ -2990,8 +3012,8 @@ zh-CN:
       flash: 修订已销毁。
       error: 销毁该修订时出错。
   validations:
-    leading_whitespace: 具有领先的空白
-    trailing_whitespace: 具有尾随空白
+    leading_whitespace: 有前导空格
+    trailing_whitespace: 有尾随空格
     invalid_characters: 包含无效字符
     url_characters: 包含特殊URL字符 (%{characters})
 ...
index 085c06003f11b4f25125c722e40d19132c6e17ca..b61dd8fa6867fc3f4155fdba09d2ec86844e6a89 100644 (file)
@@ -37,6 +37,7 @@
 # Author: StarrySky
 # Author: StephDC
 # Author: SupaplexTW
+# Author: Tntchn
 # Author: TongcyDai
 # Author: Wehwei
 # Author: Winston Sung
@@ -255,6 +256,7 @@ zh-TW:
       openid: OpenID
       google: Google
       facebook: 臉書
+      microsoft: 微軟
       github: GitHub
       wikipedia: 維基百科
   api:
@@ -270,6 +272,7 @@ zh-TW:
         reopened_at_by_html: 於%{when}由%{user}重新開啟
       rss:
         title: OpenStreetMap 註記
+        description_all: 已報告、評論、或是關閉註記的清單
         description_area: 在你的區域[(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]所報告、評論或關閉的註記的清單
         description_item: 註記 %{id} 的 RSS feed
         opened: 新的註記 (在 %{place} 附近)
@@ -1247,7 +1250,7 @@ zh-TW:
           carpet: 地毯店
           charity: 慈善商店
           cheese: 起士店鋪
-          chemist: 化學材料行
+          chemist: 藥妝店
           chocolate: 巧克力店鋪
           clothes: 服飾店
           coffee: 咖啡店
@@ -1809,7 +1812,7 @@ zh-TW:
         facebook:
           title: 使用臉書登入
           alt: 使用臉書帳號登入
-        windowslive:
+        microsoft:
           title: 使用 Microsoft 帳號登入
           alt: 使用 Microsoft 帳號登入
         github:
@@ -1929,7 +1932,7 @@ zh-TW:
           儘管 OpenStreetMap 是開放資料,我們不對第三方提供免費的地圖 API。
           請參閱我們的%{api_usage_policy_link}、%{tile_usage_policy_link}、和%{nominatim_usage_policy_link}。
         more_2_1_api_usage_policy: API 使用方針
-        more_2_1_tile_usage_policy: å½±å\83\8få¡\8a使用方針
+        more_2_1_tile_usage_policy: å\9c\96ç£\9a使用方針
         more_2_1_nominatim_usage_policy: 提名使用方針
         contributors_title_html: 我們的貢獻者
         contributors_intro_html: 我們的貢獻者為成千上萬的人。我們也收納了從國家測繪機構及其他來源等取得的開放版權資料,其中包括:
@@ -2558,6 +2561,7 @@ zh-TW:
       remove as friend: 移除好友
       add as friend: 加入為好友
       mapper since: 註冊為製圖者日期:
+      uid: 使用者 ID:
       ct status: 貢獻者條款:
       ct undecided: 未決定
       ct declined: 已拒絕
@@ -2735,7 +2739,9 @@ zh-TW:
     index:
       title: 由 %{user} 送出或評論的註記
       heading: '%{user} 的註記'
-      subheading_html: '%{user} 送出或評論的註記'
+      subheading_html: 由%{user}%{submitted}或%{commented}的註記
+      subheading_submitted: 已提交
+      subheading_commented: 已評論
       no_notes: 沒有註記
       id: ID
       creator: 建立者
@@ -2818,6 +2824,7 @@ zh-TW:
         cyclosm: CyclOSM
         cycle_map: 自行車地圖
         transport_map: 交通運輸地圖
+        tracestracktop_topo: 蹤跡地圖地形
         hot: 人道救援
         opnvkarte: 公共交通地圖
       layers:
@@ -2830,13 +2837,15 @@ zh-TW:
       openstreetmap_contributors: OpenStreetMap 貢獻者
       make_a_donation: 捐款
       website_and_api_terms: 網站和 API 條款
-      cyclosm_credit: ç\94± %{osm_france_link} ä»£ç®¡ç\9a\84 %{cyclosm_link} æ\89\80æ\8f\90ä¾\9bå½±å\83\8få¡\8a樣式
+      cyclosm_credit: ç\94± %{osm_france_link} ä»£ç®¡ç\9a\84 %{cyclosm_link} æ\89\80æ\8f\90ä¾\9bå\9c\96ç£\9a樣式
       osm_france: OpenStreetMap 法國
-      thunderforest_credit: '%{thunderforest_link} æ\8f\90ä¾\9bç\9a\84å½±å\83\8få¡\8a'
+      thunderforest_credit: '%{thunderforest_link} æ\8f\90ä¾\9bç\9a\84å\9c\96ç£\9a'
       andy_allan: Andy Allan
-      opnvkarte_credit: '%{memomaps_link} æ\8f\90ä¾\9bç\9a\84å½±å\83\8få¡\8a'
+      opnvkarte_credit: '%{memomaps_link} æ\8f\90ä¾\9bç\9a\84å\9c\96ç£\9a'
       memomaps: MeMoMaps
-      hotosm_credit: 由 %{osm_france_link} 代管的 %{hotosm_link} 所提供影像塊樣式
+      tracestrack_credit: '%{tracestrack_link} 提供的圖磚'
+      tracestrack: 蹤跡地圖
+      hotosm_credit: 由 %{osm_france_link} 代管的 %{hotosm_link} 所提供圖磚樣式
       hotosm_name: OpenStreetMap 人道主義團隊
     site:
       edit_tooltip: 編輯地圖
index 415f8a01bd9b5dc1b677fe8e3261b51ea709c8f4..404e7b0a3fcf6345fec4f22af26a022676f91392 100644 (file)
@@ -102,6 +102,8 @@ OpenStreetMap::Application.routes.draw do
     post "notes/editPOIexec" => "api/notes#comment"
     get "notes/getGPX" => "api/notes#index", :format => "gpx"
     get "notes/getRSSfeed" => "api/notes#feed", :format => "rss"
+
+    resources :user_blocks, :only => [:show], :constraints => { :id => /\d+/ }, :controller => "api/user_blocks", :as => :api_user_blocks
   end
 
   # Data browsing
index 49b4531ada4ecd64fec8458a8840924953d9b35c..e228247e03d617b5a4d1cd957b21b6498dca01e3 100644 (file)
@@ -39,6 +39,10 @@ max_number_of_way_nodes: 2000
 max_number_of_relation_members: 32000
 # The maximum area you're allowed to request notes from, in square degrees
 max_note_request_area: 25
+# Default limit on the number of notes returned by the note search api method
+default_note_query_limit: 100
+# Maximum limit on the number of notes returned by the note search api method
+max_note_query_limit: 10000
 # Zoom level to use for postcode results from the geocoder
 postcode_zoom: 15
 # Timeout for API calls in seconds
@@ -51,6 +55,11 @@ user_block_periods: [0, 1, 3, 6, 12, 24, 48, 96, 168, 336, 731, 4383, 8766, 8766
 max_messages_per_hour: 60
 # Rate limit for friending
 max_friends_per_hour: 60
+# Rate limit for changeset comments
+min_changeset_comments_per_hour: 1
+initial_changeset_comments_per_hour: 6
+max_changeset_comments_per_hour: 60
+moderator_changeset_comments_per_hour: 36000
 # Domain for handling message replies
 #messages_domain: "messages.openstreetmap.org"
 # MaxMind GeoIPv2 database
@@ -100,14 +109,16 @@ fossgis_valhalla_url: "https://valhalla1.openstreetmap.de/route"
 #google_openid_realm: ""
 #facebook_auth_id: ""
 #facebook_auth_secret: ""
-#windowslive_auth_id: ""
-#windowslive_auth_secret: ""
 #github_auth_id: ""
 #github_auth_secret: ""
+#microsoft_auth_id: ""
+#microsoft_auth_secret: ""
 #wikipedia_auth_id: ""
 #wikipedia_auth_secret: ""
 # Thunderforest authentication details
 #thunderforest_key: ""
+# Tracestrack authentication details
+#tracestrack_key: ""
 # Key for generating TOTP tokens
 #totp_key: ""
 # Enforce Content-Security-Policy
@@ -136,3 +147,8 @@ smtp_user_name: null
 smtp_password: null
 # Matomo settings for analytics
 #matomo:
+# Signup rate limits
+#signup_ip_per_day:
+#signup_ip_max_burst:
+#signup_email_per_day:
+#signup_email_max_burst:
index 1f951e8723fb9aa2d6d2c2cdcfce5d5eda58138c..5f00259256d6ef81873ad323810657d9ce289c06 100644 (file)
@@ -6,8 +6,8 @@ google_auth_secret: "dummy"
 google_openid_realm: "https://www.openstreetmap.org"
 facebook_auth_id: "dummy"
 facebook_auth_secret: "dummy"
-windowslive_auth_id: "dummy"
-windowslive_auth_secret: "dummy"
+microsoft_auth_id: "dummy"
+microsoft_auth_secret: "dummy"
 github_auth_id: "dummy"
 github_auth_secret: "dummy"
 wikipedia_auth_id: "dummy"
@@ -19,3 +19,6 @@ avatar_storage: "test"
 trace_file_storage: "test"
 trace_image_storage: "test"
 trace_icon_storage: "test"
+# Lower some rate limits for testing
+max_changeset_comments_per_hour: 30
+moderator_changeset_comments_per_hour: 60
diff --git a/db/migrate/20230816135800_use_microsoft_graph.rb b/db/migrate/20230816135800_use_microsoft_graph.rb
new file mode 100644 (file)
index 0000000..6c37a23
--- /dev/null
@@ -0,0 +1,9 @@
+class UseMicrosoftGraph < ActiveRecord::Migration[7.0]
+  def self.up
+    User.where(:auth_provider => "windowslive").update_all(:auth_provider => "microsoft")
+  end
+
+  def self.down
+    User.where(:auth_provider => "microsoft").update_all(:auth_provider => "windowslive")
+  end
+end
diff --git a/db/migrate/20230825162137_restore_author_index_to_changeset_comments.rb b/db/migrate/20230825162137_restore_author_index_to_changeset_comments.rb
new file mode 100644 (file)
index 0000000..8174132
--- /dev/null
@@ -0,0 +1,7 @@
+class RestoreAuthorIndexToChangesetComments < ActiveRecord::Migration[7.0]
+  disable_ddl_transaction!
+
+  def change
+    add_index :changeset_comments, [:author_id, :created_at], :algorithm => :concurrently
+  end
+end
index 89874d7791524e110dc937b6652c278b60b96e2c..1874e64616154aa4e24c41beb9d6403dcb709a70 100644 (file)
@@ -2370,6 +2370,13 @@ CREATE UNIQUE INDEX index_active_storage_blobs_on_key ON public.active_storage_b
 CREATE UNIQUE INDEX index_active_storage_variant_records_uniqueness ON public.active_storage_variant_records USING btree (blob_id, variation_digest);
 
 
+--
+-- Name: index_changeset_comments_on_author_id_and_created_at; Type: INDEX; Schema: public; Owner: -
+--
+
+CREATE INDEX index_changeset_comments_on_author_id_and_created_at ON public.changeset_comments USING btree (author_id, created_at);
+
+
 --
 -- Name: index_changeset_comments_on_changeset_id_and_created_at; Type: INDEX; Schema: public; Owner: -
 --
@@ -3395,6 +3402,8 @@ INSERT INTO "schema_migrations" (version) VALUES
 ('20211216185316'),
 ('20220201183346'),
 ('20220223140543'),
+('20230816135800'),
+('20230825162137'),
 ('21'),
 ('22'),
 ('23'),
index bc1ee8ec6446e75a7d4d70e4710d5c522c8b3dc5..01167fb1d6695bd9089617f1d1ee259bdb61057c 100644 (file)
@@ -8,7 +8,7 @@ module Auth
     }.tap do |providers|
       providers[I18n.t("auth.providers.google")] = "google" if Settings.key?(:google_auth_id)
       providers[I18n.t("auth.providers.facebook")] = "facebook" if Settings.key?(:facebook_auth_id)
-      providers[I18n.t("auth.providers.windowslive")] = "windowslive" if Settings.key?(:windowslive_auth_id)
+      providers[I18n.t("auth.providers.microsoft")] = "microsoft" if Settings.key?(:microsoft_auth_id)
       providers[I18n.t("auth.providers.github")] = "github" if Settings.key?(:github_auth_id)
       providers[I18n.t("auth.providers.wikipedia")] = "wikipedia" if Settings.key?(:wikipedia_auth_id)
     end.freeze
index 9eba0a8311911d4bcb842dbcaa0889a339f75343..0cc4c5fd432e3ceae3d388aa5687d927e8773d33 100644 (file)
@@ -157,7 +157,7 @@ class BoundingBox
     private
 
     def from_bbox_array(bbox_array)
-      raise OSM::APIBadUserInput, "The parameter bbox is required, and must be of the form min_lon,min_lat,max_lon,max_lat" unless bbox_array
+      raise OSM::APIBadUserInput, "The parameter bbox must be of the form min_lon,min_lat,max_lon,max_lat" unless bbox_array
 
       # Take an array of length 4, create a bounding box with min_lon, min_lat, max_lon and
       # max_lat within their respective boundaries.
index 4241ad700a575c0bc9b6e088b97c1cf5137467fe..6d945c4fe871250f404af3926a1813cfa7858881 100644 (file)
@@ -353,6 +353,13 @@ module OSM
     end
   end
 
+  # Raised when a rate limit is exceeded
+  class APIRateLimitExceeded < APIError
+    def status
+      :too_many_requests
+    end
+  end
+
   # Helper methods for going to/from mercator and lat/lng.
   class Mercator
     include Math
diff --git a/lib/rate_limiter.rb b/lib/rate_limiter.rb
new file mode 100644 (file)
index 0000000..438f5a1
--- /dev/null
@@ -0,0 +1,38 @@
+class RateLimiter
+  def initialize(cache, interval, limit, max_burst)
+    @cache = cache
+    @requests_per_second = limit.to_f / interval
+    @burst_limit = max_burst
+  end
+
+  def allow?(key)
+    last_update, requests = @cache.get(key)
+
+    if last_update
+      elapsed = Time.now.to_i - last_update
+
+      requests -= elapsed * @requests_per_second
+    else
+      requests = 0.0
+    end
+
+    requests < @burst_limit
+  end
+
+  def update(key)
+    now = Time.now.to_i
+
+    last_update, requests = @cache.get(key)
+
+    if last_update
+      elapsed = now - last_update
+
+      requests -= elapsed * @requests_per_second
+      requests += 1.0
+    else
+      requests = 1.0
+    end
+
+    @cache.set(key, [now, [requests, 1.0].max])
+  end
+end
index aa8e21938b149ffe13ca0f0a7e03fb107c3786d1..46ebb6a3741ea0d8f8ce934311a2f279b5460b25 100644 (file)
@@ -32,8 +32,14 @@ module Api
           assert_select "area[maximum='#{Settings.max_request_area}']", :count => 1
           assert_select "note_area[maximum='#{Settings.max_note_request_area}']", :count => 1
           assert_select "tracepoints[per_page='#{Settings.tracepoints_per_page}']", :count => 1
-          assert_select "changesets[maximum_elements='#{Changeset::MAX_ELEMENTS}']", :count => 1
+          assert_select "changesets" \
+                        "[maximum_elements='#{Changeset::MAX_ELEMENTS}']" \
+                        "[default_query_limit='#{Settings.default_changeset_query_limit}']" \
+                        "[maximum_query_limit='#{Settings.max_changeset_query_limit}']", :count => 1
           assert_select "relationmembers[maximum='#{Settings.max_number_of_relation_members}']", :count => 1
+          assert_select "notes" \
+                        "[default_query_limit='#{Settings.default_note_query_limit}']" \
+                        "[maximum_query_limit='#{Settings.max_note_query_limit}']", :count => 1
           assert_select "status[database='online']", :count => 1
           assert_select "status[api='online']", :count => 1
           assert_select "status[gpx='online']", :count => 1
@@ -58,6 +64,8 @@ module Api
       assert_equal Settings.default_changeset_query_limit, js["api"]["changesets"]["default_query_limit"]
       assert_equal Settings.max_changeset_query_limit, js["api"]["changesets"]["maximum_query_limit"]
       assert_equal Settings.max_number_of_relation_members, js["api"]["relationmembers"]["maximum"]
+      assert_equal Settings.default_note_query_limit, js["api"]["notes"]["default_query_limit"]
+      assert_equal Settings.max_note_query_limit, js["api"]["notes"]["maximum_query_limit"]
       assert_equal "online", js["api"]["status"]["database"]
       assert_equal "online", js["api"]["status"]["api"]
       assert_equal "online", js["api"]["status"]["gpx"]
index 26500babdcb24f47b727c3be384ecc084a668db8..e25926c78e41dfcf5bb691f268101256a83c3ce3 100644 (file)
@@ -132,6 +132,92 @@ module Api
       assert_response :bad_request
     end
 
+    ##
+    # create comment rate limit for new users
+    def test_create_comment_new_user_rate_limit
+      changeset = create(:changeset, :closed)
+      user = create(:user)
+
+      auth_header = basic_authorization_header user.email, "test"
+
+      assert_difference "ChangesetComment.count", Settings.initial_changeset_comments_per_hour do
+        1.upto(Settings.initial_changeset_comments_per_hour) do |count|
+          post changeset_comment_path(:id => changeset, :text => "Comment #{count}"), :headers => auth_header
+          assert_response :success
+        end
+      end
+
+      assert_no_difference "ChangesetComment.count" do
+        post changeset_comment_path(:id => changeset, :text => "One comment too many"), :headers => auth_header
+        assert_response :too_many_requests
+      end
+    end
+
+    ##
+    # create comment rate limit for experienced users
+    def test_create_comment_experienced_user_rate_limit
+      changeset = create(:changeset, :closed)
+      user = create(:user)
+      create_list(:changeset_comment, 200, :author_id => user.id, :created_at => Time.now.utc - 1.day)
+
+      auth_header = basic_authorization_header user.email, "test"
+
+      assert_difference "ChangesetComment.count", Settings.max_changeset_comments_per_hour do
+        1.upto(Settings.max_changeset_comments_per_hour) do |count|
+          post changeset_comment_path(:id => changeset, :text => "Comment #{count}"), :headers => auth_header
+          assert_response :success
+        end
+      end
+
+      assert_no_difference "ChangesetComment.count" do
+        post changeset_comment_path(:id => changeset, :text => "One comment too many"), :headers => auth_header
+        assert_response :too_many_requests
+      end
+    end
+
+    ##
+    # create comment rate limit for reported users
+    def test_create_comment_reported_user_rate_limit
+      changeset = create(:changeset, :closed)
+      user = create(:user)
+      create(:issue_with_reports, :reportable => user, :reported_user => user)
+
+      auth_header = basic_authorization_header user.email, "test"
+
+      assert_difference "ChangesetComment.count", Settings.initial_changeset_comments_per_hour / 2 do
+        1.upto(Settings.initial_changeset_comments_per_hour / 2) do |count|
+          post changeset_comment_path(:id => changeset, :text => "Comment #{count}"), :headers => auth_header
+          assert_response :success
+        end
+      end
+
+      assert_no_difference "ChangesetComment.count" do
+        post changeset_comment_path(:id => changeset, :text => "One comment too many"), :headers => auth_header
+        assert_response :too_many_requests
+      end
+    end
+
+    ##
+    # create comment rate limit for moderator users
+    def test_create_comment_moderator_user_rate_limit
+      changeset = create(:changeset, :closed)
+      user = create(:moderator_user)
+
+      auth_header = basic_authorization_header user.email, "test"
+
+      assert_difference "ChangesetComment.count", Settings.moderator_changeset_comments_per_hour do
+        1.upto(Settings.moderator_changeset_comments_per_hour) do |count|
+          post changeset_comment_path(:id => changeset, :text => "Comment #{count}"), :headers => auth_header
+          assert_response :success
+        end
+      end
+
+      assert_no_difference "ChangesetComment.count" do
+        post changeset_comment_path(:id => changeset, :text => "One comment too many"), :headers => auth_header
+        assert_response :too_many_requests
+      end
+    end
+
     ##
     # test hide comment fail
     def test_destroy_comment_fail
index fd1940d6b2b973814e2b92f7ee590bd8debc3629..b4bc4a5abd21345126dd08b75fe88381dfd940fc 100644 (file)
@@ -170,7 +170,7 @@ module Api
       assert_select "osm>changeset>discussion>comment", 0
 
       changeset = create(:changeset, :closed)
-      create_list(:changeset_comment, 3, :changeset_id => changeset.id)
+      comment1, comment2, comment3 = create_list(:changeset_comment, 3, :changeset_id => changeset.id)
 
       get changeset_show_path(changeset), :params => { :include_discussion => true }
       assert_response :success, "cannot get closed changeset with comments"
@@ -182,6 +182,9 @@ module Api
       assert_select "osm>changeset>@closed_at", changeset.closed_at.xmlschema
       assert_select "osm>changeset>discussion", 1
       assert_select "osm>changeset>discussion>comment", 3
+      assert_select "osm>changeset>discussion>comment:nth-child(1)>@id", comment1.id.to_s
+      assert_select "osm>changeset>discussion>comment:nth-child(2)>@id", comment2.id.to_s
+      assert_select "osm>changeset>discussion>comment:nth-child(3)>@id", comment3.id.to_s
     end
 
     def test_show_json
@@ -196,7 +199,7 @@ module Api
       assert_equal Settings.api_version, js["version"]
       assert_equal Settings.generator, js["generator"]
       assert_equal changeset.id, js["changeset"]["id"]
-      assert js["changeset"]["open"]
+      assert_operator js["changeset"], :[], "open"
       assert_equal changeset.created_at.xmlschema, js["changeset"]["created_at"]
       assert_nil js["changeset"]["closed_at"]
       assert_nil js["changeset"]["tags"]
@@ -212,7 +215,7 @@ module Api
       assert_equal Settings.api_version, js["version"]
       assert_equal Settings.generator, js["generator"]
       assert_equal changeset.id, js["changeset"]["id"]
-      assert js["changeset"]["open"]
+      assert_operator js["changeset"], :[], "open"
       assert_equal changeset.created_at.xmlschema, js["changeset"]["created_at"]
       assert_nil js["changeset"]["closed_at"]
       assert_nil js["changeset"]["tags"]
@@ -221,6 +224,25 @@ module Api
       assert_nil js["changeset"]["max_lat"]
       assert_nil js["changeset"]["max_lon"]
       assert_equal 0, js["changeset"]["comments"].count
+
+      changeset = create(:changeset, :closed)
+      comment0, comment1, comment2 = create_list(:changeset_comment, 3, :changeset_id => changeset.id)
+
+      get changeset_show_path(changeset), :params => { :format => "json", :include_discussion => true }
+      assert_response :success, "cannot get closed changeset with comments"
+
+      js = ActiveSupport::JSON.decode(@response.body)
+      assert_not_nil js
+      assert_equal Settings.api_version, js["version"]
+      assert_equal Settings.generator, js["generator"]
+      assert_equal changeset.id, js["changeset"]["id"]
+      assert_not js["changeset"]["open"]
+      assert_equal changeset.created_at.xmlschema, js["changeset"]["created_at"]
+      assert_equal changeset.closed_at.xmlschema, js["changeset"]["closed_at"]
+      assert_equal 3, js["changeset"]["comments"].count
+      assert_equal comment0.id, js["changeset"]["comments"][0]["id"]
+      assert_equal comment1.id, js["changeset"]["comments"][1]["id"]
+      assert_equal comment2.id, js["changeset"]["comments"][2]["id"]
     end
 
     def test_show_tag_and_discussion_json
@@ -675,10 +697,10 @@ module Api
 
       # check that the changeset bbox is within bounds
       cs = Changeset.find(changeset_id)
-      assert cs.min_lon >= -180 * GeoRecord::SCALE, "Minimum longitude (#{cs.min_lon / GeoRecord::SCALE}) should be >= -180 to be valid."
-      assert cs.max_lon <= 180 * GeoRecord::SCALE, "Maximum longitude (#{cs.max_lon / GeoRecord::SCALE}) should be <= 180 to be valid."
-      assert cs.min_lat >= -90 * GeoRecord::SCALE, "Minimum latitude (#{cs.min_lat / GeoRecord::SCALE}) should be >= -90 to be valid."
-      assert cs.max_lat <= 90 * GeoRecord::SCALE, "Maximum latitude (#{cs.max_lat / GeoRecord::SCALE}) should be <= 90 to be valid."
+      assert_operator cs.min_lon, :>=, -180 * GeoRecord::SCALE, "Minimum longitude (#{cs.min_lon / GeoRecord::SCALE}) should be >= -180 to be valid."
+      assert_operator cs.max_lon, :<=, 180 * GeoRecord::SCALE, "Maximum longitude (#{cs.max_lon / GeoRecord::SCALE}) should be <= 180 to be valid."
+      assert_operator cs.min_lat, :>=, -90 * GeoRecord::SCALE, "Minimum latitude (#{cs.min_lat / GeoRecord::SCALE}) should be >= -90 to be valid."
+      assert_operator cs.max_lat, :<=, 90 * GeoRecord::SCALE, "Maximum latitude (#{cs.max_lat / GeoRecord::SCALE}) should be <= 90 to be valid."
     end
 
     ##
@@ -1863,8 +1885,10 @@ module Api
       # not found when looking for changesets of non-existing users
       get changesets_path(:user => User.maximum(:id) + 1)
       assert_response :not_found
+      assert_equal "text/plain", @response.media_type
       get changesets_path(:display_name => " ")
       assert_response :not_found
+      assert_equal "text/plain", @response.media_type
 
       # can't get changesets of user 1 without authenticating
       get changesets_path(:user => private_user.id)
index 1e96e353ce7ea7a423eca52e0f0c3af4d10f4cbd..c050100ae0c56a0fbbbaf7906089d306367e06f6 100644 (file)
@@ -278,7 +278,7 @@ module Api
     def test_map_without_bbox
       get map_path
       assert_response :bad_request
-      assert_equal "The parameter bbox is required, and must be of the form min_lon,min_lat,max_lon,max_lat", @response.body, "A bbox param was expected"
+      assert_equal "The parameter bbox is required", @response.body, "A bbox param was expected"
     end
 
     def test_bbox_too_big
@@ -293,7 +293,7 @@ module Api
       @badmalformedbbox.each do |bbox|
         get map_path(:bbox => bbox)
         assert_response :bad_request, "The bbox:#{bbox} was expected to be malformed"
-        assert_equal "The parameter bbox is required, and must be of the form min_lon,min_lat,max_lon,max_lat", @response.body, "bbox: #{bbox}"
+        assert_equal "The parameter bbox must be of the form min_lon,min_lat,max_lon,max_lat", @response.body, "bbox: #{bbox}"
       end
     end
 
index 95658842b8e498212acf6610e3aaf92ef8d52866..9e680dd068cd9c8fa69fdcb37214aa4a137944cb 100644 (file)
@@ -258,8 +258,7 @@ module Api
 
       # valid delete should return the new version number, which should
       # be greater than the old version number
-      assert @response.body.to_i > node.version,
-             "delete request should return a new version number for node"
+      assert_operator @response.body.to_i, :>, node.version, "delete request should return a new version number for node"
 
       # deleting the same node twice doesn't work
       xml = xml_for_node(node)
index da24781698bc1bfc7c9a55563b930db8a317d6db..874ac3ccda1a65d474e9a1f6cd12312177a43967 100644 (file)
@@ -695,6 +695,9 @@ module Api
       assert_select "gpx", :count => 1 do
         assert_select "wpt", :count => 1
       end
+
+      get api_notes_path(:bbox => "1,1,1.2,1.2", :limit => Settings.max_note_query_limit, :format => "rss")
+      assert_response :success
     end
 
     def test_index_empty_area
@@ -783,6 +786,10 @@ module Api
     end
 
     def test_index_bad_params
+      get api_notes_path
+      assert_response :bad_request
+      assert_equal "The parameter bbox is required", @response.body
+
       get api_notes_path(:bbox => "-2.5,-2.5,2.5")
       assert_response :bad_request
 
@@ -804,7 +811,7 @@ module Api
       get api_notes_path(:bbox => "1,1,1.7,1.7", :limit => "0", :format => "json")
       assert_response :bad_request
 
-      get api_notes_path(:bbox => "1,1,1.7,1.7", :limit => "10001", :format => "json")
+      get api_notes_path(:bbox => "1,1,1.7,1.7", :limit => Settings.max_note_query_limit + 1, :format => "json")
       assert_response :bad_request
     end
 
@@ -841,6 +848,9 @@ module Api
       assert_select "gpx", :count => 1 do
         assert_select "wpt", :count => 1
       end
+
+      get search_api_notes_path(:q => "note comment", :limit => Settings.max_note_query_limit, :format => "xml")
+      assert_response :success
     end
 
     def test_search_by_display_name_success
@@ -921,6 +931,28 @@ module Api
       end
     end
 
+    def test_search_by_bbox_success
+      notes = Array.new(5) do |i|
+        position = ((1.0 + (i * 0.1)) * GeoRecord::SCALE).to_i
+        create(:note_with_comments, :created_at => Time.parse("2020-01-01T00:00:00Z") + i.day, :latitude => position, :longitude => position)
+      end
+
+      get search_api_notes_path(:bbox => "1.0,1.0,1.6,1.6", :sort => "created_at", :order => "oldest", :format => "xml")
+      assert_response :success
+      assert_equal "application/xml", @response.media_type
+      assert_notes_in_order notes
+
+      get search_api_notes_path(:bbox => "1.25,1.25,1.45,1.45", :sort => "created_at", :order => "oldest", :format => "xml")
+      assert_response :success
+      assert_equal "application/xml", @response.media_type
+      assert_notes_in_order [notes[3], notes[4]]
+
+      get search_api_notes_path(:bbox => "2.0,2.0,2.5,2.5", :sort => "created_at", :order => "oldest", :format => "xml")
+      assert_response :success
+      assert_equal "application/xml", @response.media_type
+      assert_notes_in_order []
+    end
+
     def test_search_no_match
       create(:note_with_comments)
 
@@ -995,7 +1027,7 @@ module Api
       get search_api_notes_path(:q => "no match", :limit => "0", :format => "json")
       assert_response :bad_request
 
-      get search_api_notes_path(:q => "no match", :limit => "10001", :format => "json")
+      get search_api_notes_path(:q => "no match", :limit => Settings.max_note_query_limit + 1, :format => "json")
       assert_response :bad_request
 
       get search_api_notes_path(:display_name => "non-existent")
@@ -1037,6 +1069,9 @@ module Api
           assert_select "item", :count => 2
         end
       end
+
+      get feed_api_notes_path(:bbox => "1,1,1.2,1.2", :limit => Settings.max_note_query_limit, :format => "rss")
+      assert_response :success
     end
 
     def test_feed_fail
@@ -1049,8 +1084,17 @@ module Api
       get feed_api_notes_path(:bbox => "1,1,1.2,1.2", :limit => "0", :format => "rss")
       assert_response :bad_request
 
-      get feed_api_notes_path(:bbox => "1,1,1.2,1.2", :limit => "10001", :format => "rss")
+      get feed_api_notes_path(:bbox => "1,1,1.2,1.2", :limit => Settings.max_note_query_limit + 1, :format => "rss")
       assert_response :bad_request
     end
+
+    private
+
+    def assert_notes_in_order(notes)
+      assert_select "osm>note", notes.size
+      notes.each_with_index do |note, index|
+        assert_select "osm>note:nth-child(#{index + 1})>id", :text => note.id.to_s, :count => 1
+      end
+    end
   end
 end
index 7f2c196654476c6499f058728952e0e2a17348aa..7d011c17ff3678c76dce61c391cee4acf7ddaf4a 100644 (file)
@@ -612,8 +612,7 @@ module Api
 
       # valid delete should return the new version number, which should
       # be greater than the old version number
-      assert @response.body.to_i > multi_tag_relation.version,
-             "delete request should return a new version number for relation"
+      assert_operator @response.body.to_i, :>, multi_tag_relation.version, "delete request should return a new version number for relation"
 
       # this won't work since the relation is already deleted
       xml = update_changeset(xml_for_relation(deleted_relation), changeset.id)
index 7d561522c12c7fc1fd225e9ae65461cc7c814d43..aeea3f4f45f2ecfd64bc0ec4d2d80b0c9d8bb9d5 100644 (file)
@@ -102,7 +102,7 @@ module Api
     def test_index_without_bbox
       get trackpoints_path
       assert_response :bad_request
-      assert_equal "The parameter bbox is required, and must be of the form min_lon,min_lat,max_lon,max_lat", @response.body, "A bbox param was expected"
+      assert_equal "The parameter bbox is required", @response.body, "A bbox param was expected"
     end
 
     def test_traces_page_less_than_zero
@@ -129,7 +129,7 @@ module Api
       @badmalformedbbox.each do |bbox|
         get trackpoints_path(:bbox => bbox)
         assert_response :bad_request, "The bbox:#{bbox} was expected to be malformed"
-        assert_equal "The parameter bbox is required, and must be of the form min_lon,min_lat,max_lon,max_lat", @response.body, "bbox: #{bbox}"
+        assert_equal "The parameter bbox must be of the form min_lon,min_lat,max_lon,max_lat", @response.body, "bbox: #{bbox}"
       end
     end
 
index d85e5e1a4e484c0379f0f48dfa32d4e5b7095dcc..468af852b7c2e37b89d802f024b55c8066f39daa 100644 (file)
@@ -52,6 +52,7 @@ module Api
       auth_header = basic_authorization_header public_trace_file.user.display_name, "test"
       get api_trace_path(public_trace_file), :headers => auth_header
       assert_response :success
+      assert_select "gpx_file[id='#{public_trace_file.id}'][uid='#{public_trace_file.user.id}']", 1
     end
 
     # Check an anonymous trace can't be specifically fetched by another user
diff --git a/test/controllers/api/user_blocks_controller_test.rb b/test/controllers/api/user_blocks_controller_test.rb
new file mode 100644 (file)
index 0000000..c8bdc1d
--- /dev/null
@@ -0,0 +1,36 @@
+require "test_helper"
+
+module Api
+  class UserBlocksControllerTest < ActionDispatch::IntegrationTest
+    def test_routes
+      assert_routing(
+        { :path => "/api/0.6/user_blocks/1", :method => :get },
+        { :controller => "api/user_blocks", :action => "show", :id => "1" }
+      )
+      assert_routing(
+        { :path => "/api/0.6/user_blocks/1.json", :method => :get },
+        { :controller => "api/user_blocks", :action => "show", :id => "1", :format => "json" }
+      )
+    end
+
+    def test_show
+      block = create(:user_block)
+
+      get api_user_block_path(:id => block)
+      assert_response :success
+      assert_select "user_block[id='#{block.id}']", 1
+
+      get api_user_block_path(:id => block, :format => "json")
+      assert_response :success
+      js = ActiveSupport::JSON.decode(@response.body)
+      assert_not_nil js
+      assert_equal block.id, js["user_block"]["id"]
+    end
+
+    def test_show_not_found
+      get api_user_block_path(:id => 123)
+      assert_response :not_found
+      assert_equal "text/plain", @response.media_type
+    end
+  end
+end
index cb2c7520504dfa38f0c51cde7434cfafb4a15834..8e7079b851a2cf7b79ae62bd3495e1dd7d8d43e2 100644 (file)
@@ -419,13 +419,19 @@ module Api
       check_json_details(js["users"][1], user3, false, false)
 
       get api_users_path, :params => { :users => create(:user, :suspended).id }
-      assert_response :not_found
+      assert_response :success
+      assert_equal "application/xml", response.media_type
+      assert_select "user", :count => 0
 
       get api_users_path, :params => { :users => create(:user, :deleted).id }
-      assert_response :not_found
+      assert_response :success
+      assert_equal "application/xml", response.media_type
+      assert_select "user", :count => 0
 
       get api_users_path, :params => { :users => 0 }
-      assert_response :not_found
+      assert_response :success
+      assert_equal "application/xml", response.media_type
+      assert_select "user", :count => 0
     end
 
     def test_index_oauth1
@@ -506,13 +512,19 @@ module Api
       check_json_details(js["users"][1], user3, false, false)
 
       signed_get api_users_path, :params => { :users => create(:user, :suspended).id }, :oauth => { :token => good_token }
-      assert_response :not_found
+      assert_response :success
+      assert_equal "application/xml", response.media_type
+      assert_select "user", :count => 0
 
       signed_get api_users_path, :params => { :users => create(:user, :deleted).id }, :oauth => { :token => good_token }
-      assert_response :not_found
+      assert_response :success
+      assert_equal "application/xml", response.media_type
+      assert_select "user", :count => 0
 
       signed_get api_users_path, :params => { :users => 0 }, :oauth => { :token => good_token }
-      assert_response :not_found
+      assert_response :success
+      assert_equal "application/xml", response.media_type
+      assert_select "user", :count => 0
     end
 
     def test_index_oauth2
@@ -593,13 +605,19 @@ module Api
       check_json_details(js["users"][1], user3, false, false)
 
       get api_users_path, :params => { :users => create(:user, :suspended).id }, :headers => bearer_authorization_header(good_token.token)
-      assert_response :not_found
+      assert_response :success
+      assert_equal "application/xml", response.media_type
+      assert_select "user", :count => 0
 
       get api_users_path, :params => { :users => create(:user, :deleted).id }, :headers => bearer_authorization_header(good_token.token)
-      assert_response :not_found
+      assert_response :success
+      assert_equal "application/xml", response.media_type
+      assert_select "user", :count => 0
 
       get api_users_path, :params => { :users => 0 }, :headers => bearer_authorization_header(good_token.token)
-      assert_response :not_found
+      assert_response :success
+      assert_equal "application/xml", response.media_type
+      assert_select "user", :count => 0
     end
 
     def test_gpx_files
@@ -713,7 +731,7 @@ module Api
     def check_json_details(js, user, include_private, include_email)
       assert_equal user.id, js["user"]["id"]
       assert_equal user.description, js["user"]["description"]
-      assert js["user"]["contributor_terms"]["agreed"]
+      assert_operator js["user"]["contributor_terms"], :[], "agreed"
 
       if include_private
         assert_not js["user"]["contributor_terms"]["pd"]
index a1a616ad19db026960016c8acaeda53b856589b2..1c70831c93c9b65293cb107ac1f04b059f4fd90c 100644 (file)
@@ -9,10 +9,18 @@ module Api
         { :path => "/api/versions", :method => :get },
         { :controller => "api/versions", :action => "show" }
       )
+      assert_routing(
+        { :path => "/api/versions.json", :method => :get },
+        { :controller => "api/versions", :action => "show", :format => "json" }
+      )
       assert_recognizes(
         { :controller => "api/versions", :action => "show" },
         { :path => "/api/versions", :method => :get }
       )
+      assert_recognizes(
+        { :controller => "api/versions", :action => "show", :format => "json" },
+        { :path => "/api/versions.json", :method => :get }
+      )
     end
 
     def test_versions
@@ -25,6 +33,14 @@ module Api
       end
     end
 
+    def test_versions_json
+      get api_versions_path, :params => { :format => "json" }
+      assert_response :success
+      js = ActiveSupport::JSON.decode(@response.body)
+      assert_not_nil js
+      assert_equal [Settings.api_version], js["api"]["versions"]
+    end
+
     def test_no_version_in_root_element
       get api_versions_path
       assert_response :success
index 0cf30e4fffb176fb1d34b931fcab7934f4cf1a37..2bed0e5d67e7644ad1165471c55c53501cbef515 100644 (file)
@@ -379,8 +379,7 @@ module Api
       # check the returned value - should be the new version number
       # valid delete should return the new version number, which should
       # be greater than the old version number
-      assert @response.body.to_i > way.version,
-             "delete request should return a new version number for way"
+      assert_operator @response.body.to_i, :>, way.version, "delete request should return a new version number for way"
 
       # this won't work since the way is already deleted
       xml = xml_for_way(deleted_way)
index a71b5e8feb615773063a7c435c3a23350f524d48..79fd7a571e5f7b919d85b796d5baa879588c2663 100644 (file)
@@ -321,7 +321,7 @@ class ChangesetsControllerTest < ActionDispatch::IntegrationTest
   ##
   # check the result of a feed
   def check_feed_result(changesets)
-    assert changesets.size <= 20
+    assert_operator changesets.size, :<=, 20
 
     assert_select "feed", :count => [changesets.size, 1].min do
       assert_select "> title", :count => 1, :text => /^Changesets/
index 6365d46e5de0aba5210c181131194d15dde78ca7..b505d9cdb8666ed6221b1302512867b0b48e0925 100644 (file)
@@ -164,7 +164,7 @@ class DiaryEntriesControllerTest < ActionDispatch::IntegrationTest
     assert_response :success
     assert_template :new
 
-    assert_nil UserPreference.where(:user_id => user.id, :k => "diary.default_language").first
+    assert_nil UserPreference.where(:user => user, :k => "diary.default_language").first
   end
 
   def test_create
@@ -189,7 +189,7 @@ class DiaryEntriesControllerTest < ActionDispatch::IntegrationTest
     # checks if user was subscribed
     assert_equal 1, entry.subscribers.length
 
-    assert_equal "en", UserPreference.where(:user_id => user.id, :k => "diary.default_language").first.v
+    assert_equal "en", UserPreference.where(:user => user, :k => "diary.default_language").first.v
   end
 
   def test_create_german
@@ -216,7 +216,7 @@ class DiaryEntriesControllerTest < ActionDispatch::IntegrationTest
     # checks if user was subscribed
     assert_equal 1, entry.subscribers.length
 
-    assert_equal "de", UserPreference.where(:user_id => user.id, :k => "diary.default_language").first.v
+    assert_equal "de", UserPreference.where(:user => user, :k => "diary.default_language").first.v
   end
 
   def test_new_spammy
@@ -568,28 +568,28 @@ class DiaryEntriesControllerTest < ActionDispatch::IntegrationTest
     assert_select "li.page-item.disabled span.page-link", :text => "Newer Entries", :count => 1
 
     # Try and get the second page
-    get css_select("li.page-item a.page-link").first["href"]
+    get css_select("li.page-item .page-link").last["href"]
     assert_response :success
     assert_select "article.diary_post", :count => 20
     assert_select "li.page-item a.page-link", :text => "Older Entries", :count => 1
     assert_select "li.page-item a.page-link", :text => "Newer Entries", :count => 1
 
     # Try and get the third page
-    get css_select("li.page-item a.page-link").first["href"]
+    get css_select("li.page-item .page-link").last["href"]
     assert_response :success
     assert_select "article.diary_post", :count => 10
     assert_select "li.page-item.disabled span.page-link", :text => "Older Entries", :count => 1
     assert_select "li.page-item a.page-link", :text => "Newer Entries", :count => 1
 
     # Go back to the second page
-    get css_select("li.page-item a.page-link").last["href"]
+    get css_select("li.page-item .page-link").first["href"]
     assert_response :success
     assert_select "article.diary_post", :count => 20
     assert_select "li.page-item a.page-link", :text => "Older Entries", :count => 1
     assert_select "li.page-item a.page-link", :text => "Newer Entries", :count => 1
 
     # Go back to the first page
-    get css_select("li.page-item a.page-link").last["href"]
+    get css_select("li.page-item .page-link").first["href"]
     assert_response :success
     assert_select "article.diary_post", :count => 20
     assert_select "li.page-item a.page-link", :text => "Older Entries", :count => 1
index 16a77624c75ee8dabc02fb62bb85242e44ee6631..27022c973748deaa3b0f9937d728824b5532ca16 100644 (file)
@@ -356,7 +356,7 @@ class UserBlocksControllerTest < ActionDispatch::IntegrationTest
     assert_response :success
     assert_template "revoke"
     b = UserBlock.find(active_block.id)
-    assert b.ends_at - Time.now.utc > 100
+    assert_operator b.ends_at - Time.now.utc, :>, 100
 
     # Check that revoking a block works using POST
     post revoke_user_block_path(:id => active_block, :confirm => true)
index 9358a5948ce205cc1e38bc11dc659b0c5e1a6fb6..402129d326e19908ba57feaf74c5f18a48acf9db 100644 (file)
@@ -495,6 +495,7 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
       assert_select "a[href='/user/#{ERB::Util.u(user.display_name)}/blocks']", 0
       assert_select "a[href='/user/#{ERB::Util.u(user.display_name)}/blocks_by']", 0
       assert_select "a[href='/blocks/new/#{ERB::Util.u(user.display_name)}']", 0
+      assert_select "a[href='/api/0.6/user/#{ERB::Util.u(user.id)}']", 0
     end
 
     # Login as a moderator
@@ -512,6 +513,7 @@ class UsersControllerTest < ActionDispatch::IntegrationTest
       assert_select "a[href='/user/#{ERB::Util.u(user.display_name)}/blocks']", 0
       assert_select "a[href='/user/#{ERB::Util.u(user.display_name)}/blocks_by']", 0
       assert_select "a[href='/blocks/new/#{ERB::Util.u(user.display_name)}']", 1
+      assert_select "a[href='/api/0.6/user/#{ERB::Util.u(user.id)}']", 1
     end
   end
 
index 673a0a9d6798c58940b14b6ac00fd4c099604b1a..911e7c1b5d33fa8b397c0862fbcfad1fb2ec2a0f 100644 (file)
@@ -5,6 +5,6 @@ FactoryBot.define do
 
     changeset
 
-    association :author, :factory => :user
+    author :factory => :user
   end
 end
index 4879373a8de63ee47dd042d145a124e079dfede4..12df2a9456e9143dffb5fa729cc42ed927aab3bb 100644 (file)
@@ -1,6 +1,6 @@
 FactoryBot.define do
   factory :friendship do
-    association :befriender, :factory => :user
-    association :befriendee, :factory => :user
+    befriender :factory => :user
+    befriendee :factory => :user
   end
 end
index c575c3398e3fe16108329098316eb2430cb822d4..cc6b4c3671576cd241f07732939068cf730107eb 100644 (file)
@@ -1,10 +1,21 @@
 FactoryBot.define do
   factory :issue do
     # Default to reporting users
-    association :reportable, :factory => :user
-    association :reported_user, :factory => :user
+    reportable :factory => :user
+    reported_user :factory => :user
 
     # Default to assigning to an administrator
     assigned_role { "administrator" }
+
+    # Optionally create some reports for this issue
+    factory :issue_with_reports do
+      transient do
+        reports_count { 1 }
+      end
+
+      after(:create) do |issue, evaluator|
+        create_list(:report, evaluator.reports_count, :issue => issue)
+      end
+    end
   end
 end
index cd148c7896a2f80720258ab27262a66127a767a4..4f8ee5437fc8a86bcb1897ebbe03b4722da3e78a 100644 (file)
@@ -4,8 +4,8 @@ FactoryBot.define do
     sequence(:body) { |n| "Body text for message #{n}" }
     sent_on { Time.now.utc }
 
-    association :sender, :factory => :user
-    association :recipient, :factory => :user
+    sender :factory => :user
+    recipient :factory => :user
 
     trait :unread do
       message_read { false }
index caddea8155c6abc4a1b35c8478783117e1146541..b9f53890b9afc7876377c6ed2cfdc53dd89b75a5 100644 (file)
@@ -1,7 +1,7 @@
 FactoryBot.define do
   factory :oauth_access_grant, :class => "Doorkeeper::AccessGrant" do
-    association :resource_owner_id, :factory => :user
-    association :application, :factory => :oauth_application
+    resource_owner_id :factory => :user
+    application :factory => :oauth_application
 
     expires_in { 86400 }
     redirect_uri { application.redirect_uri }
index 5b39cb400cf62267a046bc16787ca95e58173c20..3f862fbca752e9887cbf63df02491ea493c83f10 100644 (file)
@@ -1,5 +1,5 @@
 FactoryBot.define do
   factory :oauth_access_token, :class => "Doorkeeper::AccessToken" do
-    association :application, :factory => :oauth_application
+    application :factory => :oauth_application
   end
 end
index 1e62d2c973eaff522ae26cc26aba99cad5b5add3..c865e0237383a0cded35c28064dc73e53adc05be 100644 (file)
@@ -3,6 +3,6 @@ FactoryBot.define do
     sequence(:name) { |n| "OAuth application #{n}" }
     sequence(:redirect_uri) { |n| "https://example.com/app/#{n}" }
 
-    association :owner, :factory => :user
+    owner :factory => :user
   end
 end
index a2ca0a2ee3c7780389d2f11ead22ba60455574a8..985093fad28e0e56c625edc5af60f0b6046d43c8 100644 (file)
@@ -4,7 +4,7 @@ FactoryBot.define do
     longitude { 1 * GeoRecord::SCALE }
 
     changeset
-    association :current_node, :factory => :node
+    current_node :factory => :node
 
     visible { true }
     timestamp { Time.now.utc }
index 1bc1b36cf0c94e7fe2ee2978d10e0df88eaca640..facf06dc0486027086ae1042a50044d9c0203899 100644 (file)
@@ -5,6 +5,6 @@ FactoryBot.define do
     version { 1 }
 
     changeset
-    association :current_relation, :factory => :relation
+    current_relation :factory => :relation
   end
 end
index 17495d7ea862703017f0124ed3506ee533407783..99305cd98bfff94126522bf6df200a51c15f6a72 100644 (file)
@@ -4,6 +4,6 @@ FactoryBot.define do
 
     old_relation
     # Default to creating nodes, but could be ways or relations as members
-    association :member, :factory => :node
+    member :factory => :node
   end
 end
index 265a477d3022c278a5ee11fbd93a2b69397980b5..b91bf8bf53973289c48dc54845891e8defd82073 100644 (file)
@@ -5,6 +5,6 @@ FactoryBot.define do
     version { 1 }
 
     changeset
-    association :current_way, :factory => :way
+    current_way :factory => :way
   end
 end
index b4498a28d1ad780784a8f81b10186a5b9b09be03..bba2e76330d93cadedf45ae41cabd613fbe98a69 100644 (file)
@@ -4,6 +4,6 @@ FactoryBot.define do
 
     relation
     # Default to creating nodes, but could be ways or relations as members
-    association :member, :factory => :node
+    member :factory => :node
   end
 end
index fefbba45ace1b61fbd3932ea1851ba6e5a69fd67..2f68dc8dc6c1162512cee03a7859e22ba91ffba0 100644 (file)
@@ -4,7 +4,7 @@ FactoryBot.define do
     ends_at { Time.now.utc + 1.day }
 
     user
-    association :creator, :factory => :moderator_user
+    creator :factory => :moderator_user
 
     trait :needs_view do
       needs_view { true }
@@ -15,7 +15,7 @@ FactoryBot.define do
     end
 
     trait :revoked do
-      association :revoker, :factory => :moderator_user
+      revoker :factory => :moderator_user
     end
   end
 end
index 6523342f70b1acb0d54fe9aa4b91d1d39a21b633..1916d9b2e9769759477cef313bc17061f191e694 100644 (file)
@@ -1,6 +1,6 @@
 FactoryBot.define do
   factory :user_role do
     user
-    association :granter, :factory => :user
+    granter :factory => :user
   end
 end
index 5750a30b29adc0fcdaa13cf9671734071f3f5ee4..81f12f7cbef8feb3b635d1085495c4c460ec9bdf 100644 (file)
@@ -2,22 +2,24 @@ require "test_helper"
 
 class OAuth2Test < ActionDispatch::IntegrationTest
   def test_oauth2
+    user = create(:user)
     client = create(:oauth_application, :redirect_uri => "https://some.web.app.example.org/callback", :scopes => "read_prefs write_api read_gpx")
     state = SecureRandom.urlsafe_base64(16)
 
-    authorize_client(client, :state => state)
+    authorize_client(user, client, :state => state)
     assert_response :redirect
     code = validate_redirect(client, state)
 
     token = request_token(client, code)
 
-    test_token(token, client)
+    test_token(token, user, client)
   end
 
   def test_oauth2_oob
+    user = create(:user)
     client = create(:oauth_application, :redirect_uri => "urn:ietf:wg:oauth:2.0:oob", :scopes => "read_prefs write_api read_gpx")
 
-    authorize_client(client)
+    authorize_client(user, client)
     assert_response :redirect
     follow_redirect!
     assert_response :success
@@ -28,42 +30,44 @@ class OAuth2Test < ActionDispatch::IntegrationTest
 
     token = request_token(client, code)
 
-    test_token(token, client)
+    test_token(token, user, client)
   end
 
   def test_oauth2_pkce_plain
+    user = create(:user)
     client = create(:oauth_application, :redirect_uri => "https://some.web.app.example.org/callback", :scopes => "read_prefs write_api read_gpx")
     state = SecureRandom.urlsafe_base64(16)
     verifier = SecureRandom.urlsafe_base64(48)
     challenge = verifier
 
-    authorize_client(client, :state => state, :code_challenge => challenge, :code_challenge_method => "plain")
+    authorize_client(user, client, :state => state, :code_challenge => challenge, :code_challenge_method => "plain")
     assert_response :redirect
     code = validate_redirect(client, state)
 
     token = request_token(client, code, verifier)
 
-    test_token(token, client)
+    test_token(token, user, client)
   end
 
   def test_oauth2_pkce_s256
+    user = create(:user)
     client = create(:oauth_application, :redirect_uri => "https://some.web.app.example.org/callback", :scopes => "read_prefs write_api read_gpx")
     state = SecureRandom.urlsafe_base64(16)
     verifier = SecureRandom.urlsafe_base64(48)
     challenge = Base64.urlsafe_encode64(Digest::SHA256.digest(verifier), :padding => false)
 
-    authorize_client(client, :state => state, :code_challenge => challenge, :code_challenge_method => "S256")
+    authorize_client(user, client, :state => state, :code_challenge => challenge, :code_challenge_method => "S256")
     assert_response :redirect
     code = validate_redirect(client, state)
 
     token = request_token(client, code, verifier)
 
-    test_token(token, client)
+    test_token(token, user, client)
   end
 
   private
 
-  def authorize_client(client, options = {})
+  def authorize_client(user, client, options = {})
     options = options.merge(:client_id => client.uid,
                             :redirect_uri => client.redirect_uri,
                             :response_type => "code",
@@ -73,8 +77,6 @@ class OAuth2Test < ActionDispatch::IntegrationTest
     assert_response :redirect
     assert_redirected_to login_path(:referer => request.fullpath)
 
-    user = create(:user)
-
     post login_path(:username => user.email, :password => "test")
     follow_redirect!
     assert_response :success
@@ -138,7 +140,7 @@ class OAuth2Test < ActionDispatch::IntegrationTest
     token["access_token"]
   end
 
-  def test_token(token, client)
+  def test_token(token, user, client)
     get user_preferences_path
     assert_response :unauthorized
 
@@ -156,6 +158,21 @@ class OAuth2Test < ActionDispatch::IntegrationTest
     get api_trace_path(:id => 2), :headers => auth_header
     assert_response :forbidden
 
+    user.suspend!
+
+    get user_preferences_path, :headers => auth_header
+    assert_response :forbidden
+
+    user.hide!
+
+    get user_preferences_path, :headers => auth_header
+    assert_response :forbidden
+
+    user.unhide!
+
+    get user_preferences_path, :headers => auth_header
+    assert_response :success
+
     post oauth_revoke_path(:token => token)
     assert_response :forbidden
 
index 2c473aac5e799040cff309c6ebf43411bbd9b991..70f161fc9e2a9fb7cacf810ae733789dbcffd36e 100644 (file)
@@ -5,12 +5,9 @@ class OAuthTest < ActionDispatch::IntegrationTest
 
   def test_oauth10_web_app
     client = create(:client_application, :callback_url => "http://some.web.app.example.org/callback", :allow_read_prefs => true, :allow_write_api => true, :allow_read_gpx => true)
+    user = create(:user)
 
-    get "/login"
-    follow_redirect!
-    post "/login", :params => { :username => client.user.email, :password => "test" }
-    follow_redirect!
-    assert_response :success
+    session_for(user)
 
     oauth10_without_callback(client)
     oauth10_with_callback(client, "http://another.web.app.example.org/callback")
@@ -19,12 +16,9 @@ class OAuthTest < ActionDispatch::IntegrationTest
 
   def test_oauth10_desktop_app
     client = create(:client_application, :allow_read_prefs => true, :allow_write_api => true, :allow_read_gpx => true)
+    user = create(:user)
 
-    get "/login"
-    follow_redirect!
-    post "/login", :params => { :username => client.user.email, :password => "test" }
-    follow_redirect!
-    assert_response :success
+    session_for(user)
 
     oauth10_without_callback(client)
     oauth10_refused(client)
@@ -32,12 +26,9 @@ class OAuthTest < ActionDispatch::IntegrationTest
 
   def test_oauth10a_web_app
     client = create(:client_application, :callback_url => "http://some.web.app.example.org/callback", :allow_read_prefs => true, :allow_write_api => true, :allow_read_gpx => true)
+    user = create(:user)
 
-    get "/login"
-    follow_redirect!
-    post "/login", :params => { :username => client.user.email, :password => "test" }
-    follow_redirect!
-    assert_response :success
+    session_for(user)
 
     oauth10a_without_callback(client)
     oauth10a_with_callback(client, "http://another.web.app.example.org/callback")
@@ -46,12 +37,9 @@ class OAuthTest < ActionDispatch::IntegrationTest
 
   def test_oauth10a_desktop_app
     client = create(:client_application, :allow_read_prefs => true, :allow_write_api => true, :allow_read_gpx => true)
+    user = create(:user)
 
-    get "/login"
-    follow_redirect!
-    post "/login", :params => { :username => client.user.email, :password => "test" }
-    follow_redirect!
-    assert_response :success
+    session_for(user)
 
     oauth10a_without_callback(client)
     oauth10a_refused(client)
@@ -95,12 +83,28 @@ class OAuthTest < ActionDispatch::IntegrationTest
     assert_nil token.invalidated_at
     assert_allowed token, [:allow_read_prefs]
 
+    post logout_path
+
     signed_get "/api/0.6/user/preferences", :oauth => { :token => token }
     assert_response :success
 
     signed_get "/api/0.6/gpx/2", :oauth => { :token => token }
     assert_response :forbidden
 
+    token.user.suspend!
+    signed_get "/api/0.6/user/preferences", :oauth => { :token => token }
+    assert_response :forbidden
+
+    token.user.hide!
+    signed_get "/api/0.6/user/preferences", :oauth => { :token => token }
+    assert_response :forbidden
+
+    token.user.unhide!
+    signed_get "/api/0.6/user/preferences", :oauth => { :token => token }
+    assert_response :success
+
+    session_for(token.user)
+
     post "/oauth/revoke", :params => { :token => token.token }
     assert_redirected_to oauth_clients_url(token.user.display_name)
     token = OauthToken.find_by(:token => token.token)
@@ -173,13 +177,29 @@ class OAuthTest < ActionDispatch::IntegrationTest
     assert_nil token.invalidated_at
     assert_allowed token, [:allow_write_api, :allow_read_gpx]
 
-    trace = create(:trace, :user => client.user)
+    post logout_path
+
+    trace = create(:trace, :user => token.user)
     signed_get "/api/0.6/gpx/#{trace.id}", :oauth => { :token => token }
     assert_response :success
 
     signed_get "/api/0.6/user/details", :oauth => { :token => token }
     assert_response :forbidden
 
+    token.user.suspend!
+    signed_get "/api/0.6/gpx/#{trace.id}", :oauth => { :token => token }
+    assert_response :forbidden
+
+    token.user.hide!
+    signed_get "/api/0.6/gpx/#{trace.id}", :oauth => { :token => token }
+    assert_response :forbidden
+
+    token.user.unhide!
+    signed_get "/api/0.6/gpx/#{trace.id}", :oauth => { :token => token }
+    assert_response :success
+
+    session_for(token.user)
+
     post "/oauth/revoke", :params => { :token => token.token }
     assert_redirected_to oauth_clients_url(token.user.display_name)
     token = OauthToken.find_by(:token => token.token)
@@ -232,13 +252,29 @@ class OAuthTest < ActionDispatch::IntegrationTest
     assert_nil token.invalidated_at
     assert_allowed token, [:allow_read_prefs]
 
+    post logout_path
+
     signed_get "/api/0.6/user/preferences", :oauth => { :token => token }
     assert_response :success
 
-    trace = create(:trace, :user => client.user)
+    trace = create(:trace, :user => token.user)
     signed_get "/api/0.6/gpx/#{trace.id}", :oauth => { :token => token }
     assert_response :forbidden
 
+    token.user.suspend!
+    signed_get "/api/0.6/user/preferences", :oauth => { :token => token }
+    assert_response :forbidden
+
+    token.user.hide!
+    signed_get "/api/0.6/user/preferences", :oauth => { :token => token }
+    assert_response :forbidden
+
+    token.user.unhide!
+    signed_get "/api/0.6/user/preferences", :oauth => { :token => token }
+    assert_response :success
+
+    session_for(token.user)
+
     post "/oauth/revoke", :params => { :token => token.token }
     assert_redirected_to oauth_clients_url(token.user.display_name)
     token = OauthToken.find_by(:token => token.token)
@@ -283,13 +319,29 @@ class OAuthTest < ActionDispatch::IntegrationTest
     assert_nil token.invalidated_at
     assert_allowed token, [:allow_write_api, :allow_read_gpx]
 
-    trace = create(:trace, :user => client.user)
+    post logout_path
+
+    trace = create(:trace, :user => token.user)
     signed_get "/api/0.6/gpx/#{trace.id}", :oauth => { :token => token }
     assert_response :success
 
     signed_get "/api/0.6/user/details", :oauth => { :token => token }
     assert_response :forbidden
 
+    token.user.suspend!
+    signed_get "/api/0.6/gpx/#{trace.id}", :oauth => { :token => token }
+    assert_response :forbidden
+
+    token.user.hide!
+    signed_get "/api/0.6/gpx/#{trace.id}", :oauth => { :token => token }
+    assert_response :forbidden
+
+    token.user.unhide!
+    signed_get "/api/0.6/gpx/#{trace.id}", :oauth => { :token => token }
+    assert_response :success
+
+    session_for(token.user)
+
     post "/oauth/revoke", :params => { :token => token.token }
     assert_redirected_to oauth_clients_url(token.user.display_name)
     token = OauthToken.find_by(:token => token.token)
index d7f6f520013a8f94f12283fb9401be3c8df02a41..2baa6f776eebee21113fde8d9e4acb0c641e4c02 100644 (file)
@@ -11,7 +11,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest
     OmniAuth.config.mock_auth[:openid] = nil
     OmniAuth.config.mock_auth[:google] = nil
     OmniAuth.config.mock_auth[:facebook] = nil
-    OmniAuth.config.mock_auth[:windowslive] = nil
+    OmniAuth.config.mock_auth[:microsoft] = nil
     OmniAuth.config.mock_auth[:github] = nil
     OmniAuth.config.mock_auth[:wikipedia] = nil
     OmniAuth.config.test_mode = false
@@ -689,28 +689,28 @@ class UserCreationTest < ActionDispatch::IntegrationTest
     assert_template "site/welcome"
   end
 
-  def test_user_create_windowslive_success
-    new_email = "newtester-windowslive@osm.org"
-    display_name = "new_tester-windowslive"
+  def test_user_create_microsoft_success
+    new_email = "newtester-microsoft@osm.org"
+    display_name = "new_tester-microsoft"
     password = "testtest"
 
-    OmniAuth.config.add_mock(:windowslive, :uid => "123454321", :info => { "email" => new_email })
+    OmniAuth.config.add_mock(:microsoft, :uid => "123454321", :info => { "email" => new_email })
 
     assert_difference("User.count") do
-      assert_difference("ActionMailer::Base.deliveries.size", 1) do
+      assert_difference("ActionMailer::Base.deliveries.size", 0) do
         perform_enqueued_jobs do
           post "/user/new",
                :params => { :user => { :email => new_email,
                                        :email_confirmation => new_email,
                                        :display_name => display_name,
-                                       :auth_provider => "windowslive",
+                                       :auth_provider => "microsoft",
                                        :pass_crypt => "",
                                        :pass_crypt_confirmation => "" } }
           assert_response :redirect
-          assert_redirected_to auth_path(:provider => "windowslive", :origin => "/user/new")
+          assert_redirected_to auth_path(:provider => "microsoft", :origin => "/user/new")
           post response.location
           assert_response :redirect
-          assert_redirected_to auth_success_path(:provider => "windowslive")
+          assert_redirected_to auth_success_path(:provider => "microsoft")
           follow_redirect!
           assert_response :redirect
           assert_redirected_to "/user/terms"
@@ -718,13 +718,13 @@ class UserCreationTest < ActionDispatch::IntegrationTest
                :params => { :user => { :email => new_email,
                                        :email_confirmation => new_email,
                                        :display_name => display_name,
-                                       :auth_provider => "windowslive",
+                                       :auth_provider => "microsoft",
                                        :auth_uid => "123454321",
                                        :pass_crypt => password,
                                        :pass_crypt_confirmation => password },
                             :read_ct => 1, :read_tou => 1 }
           assert_response :redirect
-          assert_redirected_to :controller => :confirmations, :action => :confirm, :display_name => display_name
+          assert_redirected_to welcome_path
           follow_redirect!
         end
       end
@@ -732,16 +732,16 @@ class UserCreationTest < ActionDispatch::IntegrationTest
 
     # Check the page
     assert_response :success
-    assert_template "confirmations/confirm"
+    assert_template "site/welcome"
 
     ActionMailer::Base.deliveries.clear
   end
 
-  def test_user_create_windowslive_failure
-    OmniAuth.config.mock_auth[:windowslive] = :connection_failed
+  def test_user_create_microsoft_failure
+    OmniAuth.config.mock_auth[:microsoft] = :connection_failed
 
-    new_email = "newtester-windowslive2@osm.org"
-    display_name = "new_tester-windowslive2"
+    new_email = "newtester-microsoft2@osm.org"
+    display_name = "new_tester-microsoft2"
     assert_difference("User.count", 0) do
       assert_difference("ActionMailer::Base.deliveries.size", 0) do
         perform_enqueued_jobs do
@@ -749,17 +749,17 @@ class UserCreationTest < ActionDispatch::IntegrationTest
                :params => { :user => { :email => new_email,
                                        :email_confirmation => new_email,
                                        :display_name => display_name,
-                                       :auth_provider => "windowslive",
+                                       :auth_provider => "microsoft",
                                        :pass_crypt => "",
                                        :pass_crypt_confirmation => "" } }
           assert_response :redirect
-          assert_redirected_to auth_path(:provider => "windowslive", :origin => "/user/new")
+          assert_redirected_to auth_path(:provider => "microsoft", :origin => "/user/new")
           post response.location
           assert_response :redirect
-          assert_redirected_to auth_success_path(:provider => "windowslive")
+          assert_redirected_to auth_success_path(:provider => "microsoft")
           follow_redirect!
           assert_response :redirect
-          assert_redirected_to auth_failure_path(:strategy => "windowslive", :message => "connection_failed", :origin => "/user/new")
+          assert_redirected_to auth_failure_path(:strategy => "microsoft", :message => "connection_failed", :origin => "/user/new")
           follow_redirect!
           assert_response :redirect
           follow_redirect!
@@ -772,11 +772,11 @@ class UserCreationTest < ActionDispatch::IntegrationTest
     ActionMailer::Base.deliveries.clear
   end
 
-  def test_user_create_windowslive_redirect
-    OmniAuth.config.add_mock(:windowslive, :uid => "123454321")
+  def test_user_create_microsoft_redirect
+    OmniAuth.config.add_mock(:microsoft, :uid => "123454321")
 
-    new_email = "redirect_tester_windowslive@osm.org"
-    display_name = "redirect_tester_windowslive"
+    new_email = "redirect_tester_microsoft@osm.org"
+    display_name = "redirect_tester_microsoft"
     # nothing special about this page, just need a protected page to redirect back to.
     referer = "/traces/mine"
     assert_difference("User.count") do
@@ -786,15 +786,15 @@ class UserCreationTest < ActionDispatch::IntegrationTest
                :params => { :user => { :email => new_email,
                                        :email_confirmation => new_email,
                                        :display_name => display_name,
-                                       :auth_provider => "windowslive",
+                                       :auth_provider => "microsoft",
                                        :pass_crypt => "",
                                        :pass_crypt_confirmation => "" },
                             :referer => referer }
           assert_response :redirect
-          assert_redirected_to auth_path(:provider => "windowslive", :origin => "/user/new")
+          assert_redirected_to auth_path(:provider => "microsoft", :origin => "/user/new")
           post response.location
           assert_response :redirect
-          assert_redirected_to auth_success_path(:provider => "windowslive")
+          assert_redirected_to auth_success_path(:provider => "microsoft")
           follow_redirect!
           assert_response :redirect
           assert_redirected_to "/user/terms"
@@ -802,7 +802,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest
                :params => { :user => { :email => new_email,
                                        :email_confirmation => new_email,
                                        :display_name => display_name,
-                                       :auth_provider => "windowslive",
+                                       :auth_provider => "microsoft",
                                        :auth_uid => "http://localhost:1123/new.tester",
                                        :pass_crypt => "testtest",
                                        :pass_crypt_confirmation => "testtest" },
@@ -817,7 +817,7 @@ class UserCreationTest < ActionDispatch::IntegrationTest
 
     assert_equal register_email.to.first, new_email
     # Check that the confirm account url is correct
-    confirm_regex = Regexp.new("/user/redirect_tester_windowslive/confirm\\?confirm_string=([a-zA-Z0-9]*)")
+    confirm_regex = Regexp.new("/user/redirect_tester_microsoft/confirm\\?confirm_string=([a-zA-Z0-9]*)")
     email_text_parts(register_email).each do |part|
       assert_match confirm_regex, part.body.to_s
     end
index 5610f9b6ee460669c2ae06d29eb70f1459058e07..a9c64bea4f22377f1eaf594e5a98bb06c514810c 100644 (file)
@@ -9,7 +9,7 @@ class UserLoginTest < ActionDispatch::IntegrationTest
     OmniAuth.config.mock_auth[:openid] = nil
     OmniAuth.config.mock_auth[:google] = nil
     OmniAuth.config.mock_auth[:facebook] = nil
-    OmniAuth.config.mock_auth[:windowslive] = nil
+    OmniAuth.config.mock_auth[:microsoft] = nil
     OmniAuth.config.mock_auth[:github] = nil
     OmniAuth.config.mock_auth[:wikipedia] = nil
     OmniAuth.config.test_mode = false
@@ -853,9 +853,9 @@ class UserLoginTest < ActionDispatch::IntegrationTest
     assert_select "span.username", false
   end
 
-  def test_login_windowslive_success
-    user = create(:user, :auth_provider => "windowslive", :auth_uid => "1234567890")
-    OmniAuth.config.add_mock(:windowslive, :uid => user.auth_uid)
+  def test_login_microsoft_success
+    user = create(:user, :auth_provider => "microsoft", :auth_uid => "1234567890")
+    OmniAuth.config.add_mock(:microsoft, :uid => user.auth_uid)
 
     get "/login", :params => { :referer => "/history" }
     assert_response :redirect
@@ -863,9 +863,9 @@ class UserLoginTest < ActionDispatch::IntegrationTest
     follow_redirect!
     assert_response :success
     assert_template "sessions/new"
-    post auth_path(:provider => "windowslive", :origin => "/login?referer=%2Fhistory", :referer => "/history")
+    post auth_path(:provider => "microsoft", :origin => "/login?referer=%2Fhistory", :referer => "/history")
     assert_response :redirect
-    assert_redirected_to auth_success_path(:provider => "windowslive")
+    assert_redirected_to auth_success_path(:provider => "microsoft")
     follow_redirect!
     assert_response :redirect
     follow_redirect!
@@ -874,9 +874,9 @@ class UserLoginTest < ActionDispatch::IntegrationTest
     assert_select "span.username", user.display_name
   end
 
-  def test_login_windowslive_pending
-    user = create(:user, :pending, :auth_provider => "windowslive", :auth_uid => "1234567890")
-    OmniAuth.config.add_mock(:windowslive, :uid => user.auth_uid)
+  def test_login_microsoft_pending
+    user = create(:user, :pending, :auth_provider => "microsoft", :auth_uid => "1234567890")
+    OmniAuth.config.add_mock(:microsoft, :uid => user.auth_uid)
 
     get "/login", :params => { :referer => "/history" }
     assert_response :redirect
@@ -884,9 +884,9 @@ class UserLoginTest < ActionDispatch::IntegrationTest
     follow_redirect!
     assert_response :success
     assert_template "sessions/new"
-    post auth_path(:provider => "windowslive", :origin => "/login?referer=%2Fhistory", :referer => "/history")
+    post auth_path(:provider => "microsoft", :origin => "/login?referer=%2Fhistory", :referer => "/history")
     assert_response :redirect
-    assert_redirected_to auth_success_path(:provider => "windowslive")
+    assert_redirected_to auth_success_path(:provider => "microsoft")
     follow_redirect!
     assert_response :redirect
     follow_redirect!
@@ -894,9 +894,9 @@ class UserLoginTest < ActionDispatch::IntegrationTest
     assert_template "confirm"
   end
 
-  def test_login_windowslive_suspended
-    user = create(:user, :suspended, :auth_provider => "windowslive", :auth_uid => "1234567890")
-    OmniAuth.config.add_mock(:windowslive, :uid => user.auth_uid)
+  def test_login_microsoft_suspended
+    user = create(:user, :suspended, :auth_provider => "microsoft", :auth_uid => "1234567890")
+    OmniAuth.config.add_mock(:microsoft, :uid => user.auth_uid)
 
     get "/login", :params => { :referer => "/history" }
     assert_response :redirect
@@ -904,9 +904,9 @@ class UserLoginTest < ActionDispatch::IntegrationTest
     follow_redirect!
     assert_response :success
     assert_template "sessions/new"
-    post auth_path(:provider => "windowslive", :origin => "/login?referer=%2Fhistory", :referer => "/history")
+    post auth_path(:provider => "microsoft", :origin => "/login?referer=%2Fhistory", :referer => "/history")
     assert_response :redirect
-    assert_redirected_to auth_success_path(:provider => "windowslive")
+    assert_redirected_to auth_success_path(:provider => "microsoft")
     follow_redirect!
     assert_response :redirect
     follow_redirect!
@@ -918,10 +918,10 @@ class UserLoginTest < ActionDispatch::IntegrationTest
     end
   end
 
-  def test_login_windowslive_blocked
-    user = create(:user, :auth_provider => "windowslive", :auth_uid => "1234567890")
+  def test_login_microsoft_blocked
+    user = create(:user, :auth_provider => "microsoft", :auth_uid => "1234567890")
     create(:user_block, :needs_view, :user => user)
-    OmniAuth.config.add_mock(:windowslive, :uid => user.auth_uid)
+    OmniAuth.config.add_mock(:microsoft, :uid => user.auth_uid)
 
     get "/login", :params => { :referer => "/history" }
     assert_response :redirect
@@ -929,9 +929,9 @@ class UserLoginTest < ActionDispatch::IntegrationTest
     follow_redirect!
     assert_response :success
     assert_template "sessions/new"
-    post auth_path(:provider => "windowslive", :origin => "/login?referer=%2Fhistory", :referer => "/history")
+    post auth_path(:provider => "microsoft", :origin => "/login?referer=%2Fhistory", :referer => "/history")
     assert_response :redirect
-    assert_redirected_to auth_success_path(:provider => "windowslive")
+    assert_redirected_to auth_success_path(:provider => "microsoft")
     follow_redirect!
     assert_response :redirect
     follow_redirect!
@@ -940,8 +940,8 @@ class UserLoginTest < ActionDispatch::IntegrationTest
     assert_select "span.username", user.display_name
   end
 
-  def test_login_windowslive_connection_failed
-    OmniAuth.config.mock_auth[:windowslive] = :connection_failed
+  def test_login_microsoft_connection_failed
+    OmniAuth.config.mock_auth[:microsoft] = :connection_failed
 
     get "/login", :params => { :referer => "/history" }
     assert_response :redirect
@@ -949,12 +949,12 @@ class UserLoginTest < ActionDispatch::IntegrationTest
     follow_redirect!
     assert_response :success
     assert_template "sessions/new"
-    post auth_path(:provider => "windowslive", :origin => "/login?referer=%2Fhistory", :referer => "/history")
+    post auth_path(:provider => "microsoft", :origin => "/login?referer=%2Fhistory", :referer => "/history")
     assert_response :redirect
-    assert_redirected_to auth_success_path(:provider => "windowslive")
+    assert_redirected_to auth_success_path(:provider => "microsoft")
     follow_redirect!
     assert_response :redirect
-    assert_redirected_to auth_failure_path(:strategy => "windowslive", :message => "connection_failed", :origin => "/login?referer=%2Fhistory")
+    assert_redirected_to auth_failure_path(:strategy => "microsoft", :message => "connection_failed", :origin => "/login?referer=%2Fhistory")
     follow_redirect!
     assert_response :redirect
     follow_redirect!
@@ -964,8 +964,8 @@ class UserLoginTest < ActionDispatch::IntegrationTest
     assert_select "span.username", false
   end
 
-  def test_login_windowslive_invalid_credentials
-    OmniAuth.config.mock_auth[:windowslive] = :invalid_credentials
+  def test_login_microsoft_invalid_credentials
+    OmniAuth.config.mock_auth[:microsoft] = :invalid_credentials
 
     get "/login", :params => { :referer => "/history" }
     assert_response :redirect
@@ -973,12 +973,12 @@ class UserLoginTest < ActionDispatch::IntegrationTest
     follow_redirect!
     assert_response :success
     assert_template "sessions/new"
-    post auth_path(:provider => "windowslive", :origin => "/login?referer=%2Fhistory", :referer => "/history")
+    post auth_path(:provider => "microsoft", :origin => "/login?referer=%2Fhistory", :referer => "/history")
     assert_response :redirect
-    assert_redirected_to auth_success_path(:provider => "windowslive")
+    assert_redirected_to auth_success_path(:provider => "microsoft")
     follow_redirect!
     assert_response :redirect
-    assert_redirected_to auth_failure_path(:strategy => "windowslive", :message => "invalid_credentials", :origin => "/login?referer=%2Fhistory")
+    assert_redirected_to auth_failure_path(:strategy => "microsoft", :message => "invalid_credentials", :origin => "/login?referer=%2Fhistory")
     follow_redirect!
     assert_response :redirect
     follow_redirect!
@@ -988,8 +988,8 @@ class UserLoginTest < ActionDispatch::IntegrationTest
     assert_select "span.username", false
   end
 
-  def test_login_windowslive_unknown
-    OmniAuth.config.add_mock(:windowslive, :uid => "987654321")
+  def test_login_microsoft_unknown
+    OmniAuth.config.add_mock(:microsoft, :uid => "987654321")
 
     get "/login", :params => { :referer => "/history" }
     assert_response :redirect
@@ -997,9 +997,9 @@ class UserLoginTest < ActionDispatch::IntegrationTest
     follow_redirect!
     assert_response :success
     assert_template "sessions/new"
-    post auth_path(:provider => "windowslive", :origin => "/login?referer=%2Fhistory", :referer => "/history")
+    post auth_path(:provider => "microsoft", :origin => "/login?referer=%2Fhistory", :referer => "/history")
     assert_response :redirect
-    assert_redirected_to auth_success_path(:provider => "windowslive")
+    assert_redirected_to auth_success_path(:provider => "microsoft")
     follow_redirect!
     assert_response :redirect
     follow_redirect!
index d82e2c9ae453b2b6ab4426398ee4f1ef1fcdb4fb..d176e0fa78208e794e315191fa280cba4a4dd935 100644 (file)
@@ -3,7 +3,7 @@ require "test_helper"
 class BoundingBoxTest < ActiveSupport::TestCase
   def setup
     @size_error_message = "The maximum bbox size is 0.25, and your request was too large. Either request a smaller area, or use planet.osm"
-    @malformed_error_message = "The parameter bbox is required, and must be of the form min_lon,min_lat,max_lon,max_lat"
+    @malformed_error_message = "The parameter bbox must be of the form min_lon,min_lat,max_lon,max_lat"
     @lon_order_error_message = "The minimum longitude must be less than the maximum longitude, but it wasn't"
     @lat_order_error_message = "The minimum latitude must be less than the maximum latitude, but it wasn't"
     @bbox_out_of_limits_error_message = "The latitudes must be between -90.0 and 90.0, and longitudes between -180.0 and 180.0"
index d842390388473757180b18ecd41118df0065d696..9aec035d1c45006b74cfb176dfbc85b08950c256 100644 (file)
@@ -80,7 +80,7 @@ class LocaleTest < ActiveSupport::TestCase
   end
 
   def test_available
-    assert Locale.available.count <= I18n.available_locales.count
+    assert_operator Locale.available.count, :<=, I18n.available_locales.count
   end
 
   def test_preferred
index 54450b186d01a178c9a00c5a5dbd2c8b20e58d6b..9bfd734969d34aa548a13aac62bdb981c31da550 100644 (file)
@@ -28,16 +28,18 @@ class PasswordHashTest < ActiveSupport::TestCase
     assert PasswordHash.upgrade?("3wYbPiOxk/tU0eeIDjUhdvi8aDP3AbFtwYKKxF1IhGg=", "sha512!10000!OUQLgtM7eD8huvanFT5/WtWaCwdOdrir8QOtFwxhO0A=")
   end
 
-  def test_argon2_upgradeable
-    assert PasswordHash.check("$argon2id$v=19$m=65536,t=1,p=1$KXGHWfWMf5H5kY4uU3ua8A$YroVvX6cpJpljTio62k19C6UpuIPtW7me2sxyU2dyYg", nil, "password")
-    assert_not PasswordHash.check("$argon2id$v=19$m=65536,t=1,p=1$KXGHWfWMf5H5kY4uU3ua8A$YroVvX6cpJpljTio62k19C6UpuIPtW7me2sxyU2dyYg", nil, "wrong")
-    assert PasswordHash.upgrade?("$argon2id$v=19$m=65536,t=1,p=1$KXGHWfWMf5H5kY4uU3ua8A$YroVvX6cpJpljTio62k19C6UpuIPtW7me2sxyU2dyYg", nil)
-  end
-
-  def test_argon2
+  def test_argon2_t2_m16_p1
     assert PasswordHash.check("$argon2id$v=19$m=65536,t=2,p=1$b2E7zSvjT6TC5DXrqvfxwg$P4hly807ckgYc+kfvaf3rqmJcmKStzw+kV14oMaz8PQ", nil, "password")
     assert_not PasswordHash.check("$argon2id$v=19$m=65536,t=2,p=1$b2E7zSvjT6TC5DXrqvfxwg$P4hly807ckgYc+kfvaf3rqmJcmKStzw+kV14oMaz8PQ", nil, "wrong")
-    assert_not PasswordHash.upgrade?("$argon2id$v=19$m=65536,t=2,p=1$b2E7zSvjT6TC5DXrqvfxwg$P4hly807ckgYc+kfvaf3rqmJcmKStzw+kV14oMaz8PQ", nil)
+    assert_not PasswordHash.check("$argon2id$v=19$m=65536,t=2,p=1$b2E7zSvwrong5DXrqvfxwg$P4hly807ckgYc+kfvaf3rqmJcmKStzw+kV14oMaz8PQ", nil, "password")
+    assert PasswordHash.upgrade?("$argon2id$v=19$m=65536,t=2,p=1$b2E7zSvjT6TC5DXrqvfxwg$P4hly807ckgYc+kfvaf3rqmJcmKStzw+kV14oMaz8PQ", nil)
+  end
+
+  def test_argon2_t3_m16_p4
+    assert PasswordHash.check("$argon2id$v=19$m=65536,t=3,p=4$uxzL4aYTEDTRr2+KNA1qNQ$yuNOtH+IsCwWUbE4OGu+hIC0e4iyZ2wGhaCsQY1mJpI", nil, "password")
+    assert_not PasswordHash.check("$argon2id$v=19$m=65536,t=3,p=4$uxzL4aYTEDTRr2+KNA1qNQ$yuNOtH+IsCwWUbE4OGu+hIC0e4iyZ2wGhaCsQY1mJpI", nil, "wrong")
+    assert_not PasswordHash.check("$argon2id$v=19$m=65536,t=3,p=4$uxzL4aYwrongr2+KNA1qNQ$yuNOtH+IsCwWUbE4OGu+hIC0e4iyZ2wGhaCsQY1mJpI", nil, "password")
+    assert_not PasswordHash.upgrade?("$argon2id$v=19$m=65536,t=3,p=4$uxzL4aYTEDTRr2+KNA1qNQ$yuNOtH+IsCwWUbE4OGu+hIC0e4iyZ2wGhaCsQY1mJpI", nil)
   end
 
   def test_default
@@ -59,6 +61,6 @@ class PasswordHashTest < ActiveSupport::TestCase
     format = Argon2::HashFormat.new(hash)
 
     assert_equal "argon2id", format.variant
-    assert format.version <= 19
+    assert_operator format.version, :<=, 19
   end
 end
index a0a1023bb5a558235350d3f2bb74f115acb5e239..a32e1ac205b14a29e67f2e3d47d9bb203385bb2a 100644 (file)
@@ -20,7 +20,7 @@ class ShortLinkTest < ActiveSupport::TestCase
       # smaller range.
       distance = Math.sqrt(((lat - lat2)**2) + ((lon - lon2)**2))
       max_distance = 360.0 / (1 << (zoom + 8)) * 0.5 * Math.sqrt(5)
-      assert max_distance > distance, "Maximum expected error exceeded: #{max_distance} <= #{distance} for (#{lat}, #{lon}, #{zoom})."
+      assert_operator max_distance, :>, distance, "Maximum expected error exceeded: #{max_distance} <= #{distance} for (#{lat}, #{lon}, #{zoom})."
     end
   end
 
index 762df66484d185c82bc52f305e739a989421a1cc..66107771ae5a299c7155e0097add0ed06e8800cb 100644 (file)
@@ -193,16 +193,16 @@ class TraceTest < ActiveSupport::TestCase
 
   def test_import_creates_tracepoints
     trace = create(:trace, :fixture => "a")
-    assert_equal 0, Tracepoint.where(:gpx_id => trace.id).count
+    assert_equal 0, Tracepoint.where(:trace => trace).count
 
     trace.import
 
     trace.reload
-    assert_equal 1, Tracepoint.where(:gpx_id => trace.id).count
+    assert_equal 1, Tracepoint.where(:trace => trace).count
 
     # Check that the tile has been set prior to the bulk import
     # i.e. that the callbacks have been run correctly
-    assert_equal 3221331576, Tracepoint.where(:gpx_id => trace.id).first.tile
+    assert_equal 3221331576, Tracepoint.where(:trace => trace).first.tile
   end
 
   def test_import_creates_icon
index 5a55c5838cb6bda7cb6bb4ee776e3ac53cc7e1b6..87e981c6426500443bcbf6811cef581f8ffce9b1 100644 (file)
@@ -9,9 +9,9 @@ class AccountDeletionTest < ApplicationSystemTestCase
   test "the status is deleted and the personal data removed" do
     visit edit_account_path
 
-    click_on "Delete Account..."
+    click_link "Delete Account..."
     accept_confirm do
-      click_on "Delete Account"
+      click_link "Delete Account"
     end
 
     assert_current_path root_path
@@ -23,9 +23,9 @@ class AccountDeletionTest < ApplicationSystemTestCase
   test "the user is signed out after deletion" do
     visit edit_account_path
 
-    click_on "Delete Account..."
+    click_link "Delete Account..."
     accept_confirm do
-      click_on "Delete Account"
+      click_link "Delete Account"
     end
 
     assert_content "Log In"
@@ -34,9 +34,9 @@ class AccountDeletionTest < ApplicationSystemTestCase
   test "the user is shown a confirmation flash message" do
     visit edit_account_path
 
-    click_on "Delete Account..."
+    click_link "Delete Account..."
     accept_confirm do
-      click_on "Delete Account"
+      click_link "Delete Account"
     end
 
     assert_content "Account Deleted"
index 31e6d7b075e3ba3b9ebb07d6efc3177c0eedeca9..554b89a6db05a3ec2b3353acfe69d9b78c088cf9 100644 (file)
@@ -10,7 +10,7 @@ class DiaryEntrySystemTest < ApplicationSystemTestCase
     sign_in_as(create(:user))
     visit diary_entries_path
 
-    click_on "Send a message to the author"
+    click_link "Send a message to the author"
 
     assert_content "Send a new message"
     assert_equal "Re: #{@diary_entry.title}", page.find_field("Subject").value
index b9b989c075132a9604d01c911dc2017f2613538f..a40306e3c7b1a5064770d8bdbd345eff47750672 100644 (file)
@@ -80,21 +80,21 @@ class IssuesTest < ApplicationSystemTestCase
     # No issues against the user
     visit issues_path
     fill_in "search_by_user", :with => good_user.display_name
-    click_on "Search"
+    click_button "Search"
     assert_no_content I18n.t("issues.index.user_not_found")
     assert_content I18n.t("issues.index.issues_not_found")
 
     # User doesn't exist
     visit issues_path
     fill_in "search_by_user", :with => "Nonexistent User"
-    click_on "Search"
+    click_button "Search"
     assert_content I18n.t("issues.index.user_not_found")
     assert_content I18n.t("issues.index.issues_not_found")
 
     # Find Issue against bad_user
     visit issues_path
     fill_in "search_by_user", :with => bad_user.display_name
-    click_on "Search"
+    click_button "Search"
     assert_no_content I18n.t("issues.index.user_not_found")
     assert_no_content I18n.t("issues.index.issues_not_found")
   end
@@ -106,7 +106,7 @@ class IssuesTest < ApplicationSystemTestCase
     visit issue_path(issue)
 
     fill_in :issue_comment_body, :with => "test comment"
-    click_on "Add Comment"
+    click_button "Add Comment"
     assert_content I18n.t("issue_comments.create.comment_created")
     assert_content "test comment"
 
@@ -123,7 +123,7 @@ class IssuesTest < ApplicationSystemTestCase
 
     fill_in :issue_comment_body, :with => "reassigning to moderators"
     check :reassign
-    click_on "Add Comment"
+    click_button "Add Comment"
 
     assert_content "and the issue was reassigned"
     assert_current_path issues_path(:status => "open")
@@ -140,7 +140,7 @@ class IssuesTest < ApplicationSystemTestCase
 
     fill_in :issue_comment_body, :with => "reassigning to moderators"
     check :reassign
-    click_on "Add Comment"
+    click_button "Add Comment"
 
     assert_content "and the issue was reassigned"
     assert_current_path issue_path(issue)
index 59a7209f5b4d3728fbb8f3049e4db4a03f0326f4..b071b1f73842663839dd9ad81c670d6d333fa1dd 100644 (file)
@@ -5,7 +5,7 @@ class PreferencesTest < ApplicationSystemTestCase
     sign_in_as(create(:user))
 
     visit edit_preferences_path
-    click_on "Update Preferences"
+    click_button "Update Preferences"
 
     assert_content "Preferences updated"
   end
@@ -15,7 +15,7 @@ class PreferencesTest < ApplicationSystemTestCase
 
     visit edit_preferences_path
     fill_in "Preferred Languages", :with => "fr"
-    click_on "Update Preferences"
+    click_button "Update Preferences"
 
     assert_content "Préférences mises à jour"
   end
index 3504ab061fdeb5c4270036efa49807b1a9c9427f..15ef1ad3c5177f8ff0e01cf8d689395dc08bb8a4 100644 (file)
@@ -19,14 +19,14 @@ class ReportDiaryCommentTest < ApplicationSystemTestCase
     visit diary_entry_path(@diary_entry.user.display_name, @diary_entry)
     assert_content @diary_entry.title
 
-    click_on I18n.t("diary_entries.diary_comment.report")
+    click_link I18n.t("diary_entries.diary_comment.report")
     assert_content "Report"
     assert_content I18n.t("reports.new.disclaimer.intro")
 
     choose I18n.t("reports.new.categories.diary_comment.spam_label")
     fill_in "report_details", :with => "This comment is spam"
     assert_difference "Issue.count", 1 do
-      click_on "Create Report"
+      click_button "Create Report"
     end
 
     assert_content "Your report has been registered successfully"
index efb1070653de48b766cdaf7c5dc6221cdd5bbf97..d4e49b714ffd32b9e2d4077926863eae7fc41efc 100644 (file)
@@ -18,14 +18,14 @@ class ReportDiaryEntryTest < ApplicationSystemTestCase
     visit diary_entry_path(@diary_entry.user.display_name, @diary_entry)
     assert_content @diary_entry.title
 
-    click_on I18n.t("diary_entries.diary_entry.report")
+    click_link I18n.t("diary_entries.diary_entry.report")
     assert_content "Report"
     assert_content I18n.t("reports.new.disclaimer.intro")
 
     choose I18n.t("reports.new.categories.diary_entry.spam_label")
     fill_in "report_details", :with => "This is advertising"
     assert_difference "Issue.count", 1 do
-      click_on "Create Report"
+      click_button "Create Report"
     end
 
     assert_content "Your report has been registered successfully"
@@ -42,14 +42,14 @@ class ReportDiaryEntryTest < ApplicationSystemTestCase
     visit diary_entry_path(@diary_entry.user.display_name, @diary_entry)
     assert_content @diary_entry.title
 
-    click_on I18n.t("diary_entries.diary_entry.report")
+    click_link I18n.t("diary_entries.diary_entry.report")
     assert_content "Report"
     assert_content I18n.t("reports.new.disclaimer.intro")
 
     choose I18n.t("reports.new.categories.diary_entry.spam_label")
     fill_in "report_details", :with => "This is advertising"
     assert_no_difference "Issue.count" do
-      click_on "Create Report"
+      click_button "Create Report"
     end
 
     issue.reload
index 79894eb897d4a514e3ebb94b5a89a680a1bcedf5..b7e1bfc9eaebd4c7252e383871d31b9cd28a6e40 100644 (file)
@@ -14,14 +14,14 @@ class ReportNoteTest < ApplicationSystemTestCase
     sign_in_as(create(:user))
     visit note_path(note)
 
-    click_on I18n.t("notes.show.report")
+    click_link I18n.t("notes.show.report")
     assert_content "Report"
     assert_content I18n.t("reports.new.disclaimer.intro")
 
     choose I18n.t("reports.new.categories.note.spam_label")
     fill_in "report_details", :with => "This is spam"
     assert_difference "Issue.count", 1 do
-      click_on "Create Report"
+      click_button "Create Report"
     end
 
     assert_content "Your report has been registered successfully"
@@ -35,14 +35,14 @@ class ReportNoteTest < ApplicationSystemTestCase
     sign_in_as(create(:user))
     visit note_path(note)
 
-    click_on I18n.t("notes.show.report")
+    click_link I18n.t("notes.show.report")
     assert_content "Report"
     assert_content I18n.t("reports.new.disclaimer.intro")
 
     choose I18n.t("reports.new.categories.note.spam_label")
     fill_in "report_details", :with => "This is spam"
     assert_difference "Issue.count", 1 do
-      click_on "Create Report"
+      click_button "Create Report"
     end
 
     assert_content "Your report has been registered successfully"
index 7a9e800c8c0da99ebf7351d6a863d9c8cec8ba7a..9a0abe9ea2e5920a78cc8e87f706f661f328c207 100644 (file)
@@ -14,14 +14,14 @@ class ReportUserTest < ApplicationSystemTestCase
     sign_in_as(create(:user))
     visit user_path(user)
 
-    click_on I18n.t("users.show.report")
+    click_link I18n.t("users.show.report")
     assert_content "Report"
     assert_content I18n.t("reports.new.disclaimer.intro")
 
     choose I18n.t("reports.new.categories.user.vandal_label")
     fill_in "report_details", :with => "This user is a vandal"
     assert_difference "Issue.count", 1 do
-      click_on "Create Report"
+      click_button "Create Report"
     end
 
     assert_content "Your report has been registered successfully"
@@ -35,14 +35,14 @@ class ReportUserTest < ApplicationSystemTestCase
     sign_in_as(create(:user))
     visit user_path(user)
 
-    click_on I18n.t("users.show.report")
+    click_link I18n.t("users.show.report")
     assert_content "Report"
     assert_content I18n.t("reports.new.disclaimer.intro")
 
     choose I18n.t("reports.new.categories.user.vandal_label")
     fill_in "report_details", :with => "This user is a vandal"
     assert_difference "Issue.count", 1 do
-      click_on "Create Report"
+      click_button "Create Report"
     end
 
     assert_content "Your report has been registered successfully"
@@ -52,14 +52,14 @@ class ReportUserTest < ApplicationSystemTestCase
 
     visit user_path(user)
 
-    click_on I18n.t("users.show.report")
+    click_link I18n.t("users.show.report")
     assert_content "Report"
     assert_content I18n.t("reports.new.disclaimer.intro")
 
     choose I18n.t("reports.new.categories.user.spam_label")
     fill_in "report_details", :with => "This user is a spammer"
     assert_no_difference "Issue.count" do
-      click_on "Create Report"
+      click_button "Create Report"
     end
 
     assert_content "Your report has been registered successfully"
index a097b63747a1281f82ee7e1b658580bbad7c42e9..fc27b7c1884ed606823f660d9c2ec73f5059bfa5 100644 (file)
@@ -6,8 +6,8 @@ class UserLogoutTest < ApplicationSystemTestCase
     sign_in_as(user)
     assert_no_content "Log In"
 
-    click_on user.display_name
-    click_on "Log Out"
+    click_button user.display_name
+    click_link "Log Out"
     assert_content "Log In"
   end
 
@@ -17,8 +17,8 @@ class UserLogoutTest < ApplicationSystemTestCase
     visit traces_path
     assert_no_content "Log In"
 
-    click_on user.display_name
-    click_on "Log Out"
+    click_button user.display_name
+    click_link "Log Out"
     assert_content "Log In"
     assert_content "Public GPS Traces"
   end
index 5bd88f5a445cadba27891cb62a4af897a4445710..88899d7105b2fc2b74a896c7291a017c7f080701 100644 (file)
@@ -4,7 +4,7 @@ class UserSignupTest < ApplicationSystemTestCase
   test "Sign up from login page" do
     visit login_path
 
-    click_on "Register now"
+    click_link "Register now"
 
     assert_content "Confirm Password"
   end
@@ -13,7 +13,7 @@ class UserSignupTest < ApplicationSystemTestCase
     user = build(:user)
 
     visit root_path
-    click_on "Sign Up"
+    click_link "Sign Up"
     fill_in "Email", :with => user.email
     fill_in "Email Confirmation", :with => user.email
     fill_in "Display Name", :with => user.display_name
@@ -22,7 +22,7 @@ class UserSignupTest < ApplicationSystemTestCase
     click_button "Sign Up"
 
     assert_content "Contributor terms"
-    click_on "Cancel"
+    click_button "Cancel"
 
     assert_current_path "https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined"
   end
index 30b923732414805ffa98ec08f7c3e409cd24596d..e4cca1eab5bba38a97fefb866aeb4a0b626a3ca3 100644 (file)
@@ -10,7 +10,7 @@ class UserStatusChangeTest < ApplicationSystemTestCase
     user = create(:user, :suspended)
     visit user_path(user)
     accept_confirm do
-      click_on "Unsuspend"
+      click_link "Unsuspend"
     end
 
     assert_no_content "Unsuspend"
@@ -22,7 +22,7 @@ class UserStatusChangeTest < ApplicationSystemTestCase
     user = create(:user, :suspended)
     visit user_path(user)
     accept_confirm do
-      click_on "Confirm"
+      click_link "Confirm"
     end
 
     assert_no_content "Unsuspend"
index 349d0a5bf742c4c97faf980f6055118a4ea10dad..539daaa30933c5e9c8fb3fd3aac278d6cca3cba8 100644 (file)
@@ -13,7 +13,7 @@ class ViewCommunitiesTest < ApplicationSystemTestCase
 
     visit edit_preferences_path
     fill_in "Preferred Languages", :with => "fr"
-    click_on "Update Preferences"
+    click_button "Update Preferences"
 
     visit "/communities"
     assert_link "OpenStreetMap États-Unis", :href => "https://www.openstreetmap.us/"
index 7157abf5a71ed0ef153b70c50c3436a6b99c00c2..68749c0f70f595e00b322b21acee0215b7d46b51 100644 (file)
@@ -245,7 +245,7 @@ module ActiveSupport
       visit login_path
       fill_in "username", :with => user.email
       fill_in "password", :with => "test"
-      click_on "Login", :match => :first
+      click_button "Login", :match => :first
     end
 
     def session_for(user)
index 851b8cf1cb5bda88ef24ec389bf238f3131fc94b..b1a0176ee183817eb4f3760aa2493561a2bc8138 100644 (file)
     background-position: center;
     background-repeat: no-repeat;
 }
+
 .ideditor #ideditor-viewer-mapilio-simple-wrap {
     height: 100%;
 }
+
 .ideditor #ideditor-viewer-mapilio-simple {
     width: 100%;
     height: 100%;
             transform-origin: 0 0;
 }
 
+.ideditor #ideditor-viewer-mapilio-simple img {
+    width: 100%;
+    height: 100%;
+    -o-object-fit: cover;
+       object-fit: cover;
+    overflow: hidden
+} 
+
 /* Streetside Viewer (pannellum) */
 .ideditor .ms-wrapper .photo-attribution .image-link {
     display: block;
index d89cd30da2243af62ae5f1545268e272f232b99d..0401484a02bc802f94a188ff50e9171c7b14a331 100644 (file)
   // package.json
   var package_default = {
     name: "iD",
-    version: "2.27.0",
+    version: "2.27.1",
     description: "A friendly editor for OpenStreetMap",
     main: "dist/iD.min.js",
     repository: "github:openstreetmap/iD",
       "@fortawesome/free-regular-svg-icons": "~6.4.2",
       "@fortawesome/free-solid-svg-icons": "~6.4.2",
       "@mapbox/maki": "^8.0.1",
-      "@openstreetmap/id-tagging-schema": "^6.3.0",
+      "@openstreetmap/id-tagging-schema": "^6.4.1",
       "@rapideditor/temaki": "~5.4.0",
       "@transifex/api": "^5.4.0",
       autoprefixer: "^10.4.15",
       "node-fetch": "^2.6.12",
       "npm-run-all": "^4.0.0",
       "osm-community-index": "~5.5.4",
-      postcss: "^8.4.27",
+      postcss: "^8.4.28",
       "postcss-selector-prepend": "^0.5.0",
       shelljs: "^0.8.0",
       shx: "^0.3.0",
       }
       return value2 === null || value2 === void 0 ? valueNull : typeof value2 === "function" ? valueFunction : valueConstant;
     }
-    function stickyCursor(func) {
-      const supportedTypes = ["text", "search", "url", "tel", "password"];
-      if (!supportedTypes.includes(selection2.node()?.type)) {
-        return func;
-      }
-      return function() {
-        const cursor = { start: this.selectionStart, end: this.selectionEnd };
-        func.apply(this, arguments);
-        this.setSelectionRange(cursor.start, cursor.end);
-      };
-    }
     if (arguments.length === 1) {
       return selection2.property("value");
     }
     if (shouldUpdate === void 0) {
       shouldUpdate = (a2, b2) => a2 !== b2;
     }
-    return selection2.each(stickyCursor(setValue(value, shouldUpdate)));
+    return selection2.each(setValue(value, shouldUpdate));
   }
 
   // modules/util/keybinding.js
index 7b4442c91f1a9a01f2fc93a90f01da725b54621d..941c5c649be8bcc02c9e9fda2edc09c8726b066a 100644 (file)
@@ -1 +1 @@
-<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><symbol class="aasvg-inline--fa aafa-clone" viewBox="0 0 512 512" id="far-clone" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M64 464h224c8.8 0 16-7.2 16-16v-64h48v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64h64v48H64c-8.8 0-16 7.2-16 16v224c0 8.8 7.2 16 16 16zm160-160h224c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H224c-8.8 0-16 7.2-16 16v224c0 8.8 7.2 16 16 16zm-64-16V64c0-35.3 28.7-64 64-64h224c35.3 0 64 28.7 64 64v224c0 35.3-28.7 64-64 64H224c-35.3 0-64-28.7-64-64z"/></symbol><symbol class="absvg-inline--fa abfa-credit-card" viewBox="0 0 576 512" id="far-credit-card" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M512 80c8.8 0 16 7.2 16 16v32H48V96c0-8.8 7.2-16 16-16h448zm16 144v192c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V224h480zM64 32C28.7 32 0 60.7 0 96v320c0 35.3 28.7 64 64 64h448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm56 304c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24h-48zm128 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h112c13.3 0 24-10.7 24-24s-10.7-24-24-24H248z"/></symbol><symbol class="acsvg-inline--fa acfa-circle-dot" viewBox="0 0 512 512" id="far-dot-circle" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M464 256a208 208 0 1 0-416 0 208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0 256 256 0 1 1-512 0zm256-96a96 96 0 1 1 0 192 96 96 0 1 1 0-192z"/></symbol><symbol class="adsvg-inline--fa adfa-snowflake" viewBox="0 0 448 512" id="far-snowflake" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M224 0c13.3 0 24 10.7 24 24v46.1l23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-57 57v76.5l66.2-38.2L335 98.5c3.4-12.8 16.6-20.4 29.4-17s20.4 16.6 17 29.4l-8.4 31.3 37.1-21.4c11.5-6.6 26.2-2.7 32.8 8.8s2.7 26.2-8.8 32.8L397 183.8l31.5 8.4c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17l-77.8-20.9L272 256l66.2 38.2 77.8-20.9c12.8-3.4 26 4.2 29.4 17s-4.2 26-17 29.4l-31.4 8.5 37.1 21.4c11.5 6.6 15.4 21.3 8.8 32.8s-21.3 15.4-32.8 8.8L373 369.8l8.4 31.5c3.4 12.8-4.2 26-17 29.4s-26-4.2-29.4-17l-20.9-77.8-66.1-38.3v76.5l57 57c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-23-23v46c0 13.3-10.7 24-24 24s-24-10.7-24-24v-46.1l-23 23c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l57-57v-76.4L134 335.8l-20.9 77.8c-3.4 12.8-16.6 20.4-29.4 17s-20.4-16.6-17-29.4l8.3-31.4-37.1 21.4c-11.5 6.6-26.2 2.7-32.8-8.8s-2.7-26.2 8.8-32.8L51 328.2l-31.5-8.4c-12.8-3.4-20.4-16.6-17-29.4s16.6-20.4 29.4-17l77.8 20.9L176 256l-66.2-38.2-77.9 20.8c-12.8 3.4-26-4.2-29.4-17s4.2-26 17-29.4l31.5-8.4-37.1-21.4c-11.5-6.6-15.4-21.3-8.8-32.8s21.3-15.4 32.8-8.8L75 142.2l-8.4-31.5c-3.4-12.8 4.2-26 17-29.4s26 4.2 29.4 17l20.9 77.8 66.1 38.3v-76.5L143 81c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l23 23V24c0-13.3 10.7-24 24-24z"/></symbol><symbol class="aesvg-inline--fa aefa-circle-xmark" viewBox="0 0 512 512" id="far-times-circle" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464a256 256 0 1 0 0-512 256 256 0 1 0 0 512zm-81-337c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z"/></symbol><symbol class="afsvg-inline--fa affa-truck-medical" viewBox="0 0 640 512" id="fas-ambulance" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M0 48C0 21.5 21.5 0 48 0h320c26.5 0 48 21.5 48 48v48h50.7c17 0 33.3 6.7 45.3 18.7l77.3 77.3c12 12 18.7 28.3 18.7 45.3V352c17.7 0 32 14.3 32 32s-14.3 32-32 32h-32c0 53-43 96-96 96s-96-43-96-96H256c0 53-43 96-96 96s-96-43-96-96H48c-26.5 0-48-21.5-48-48V48zm416 208h128v-18.7L466.7 160H416v96zM160 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm368-48a48 48 0 1 0-96 0 48 48 0 1 0 96 0zM176 80v48h-48c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-48h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-48V80c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16z"/></symbol><symbol class="agsvg-inline--fa agfa-apple-whole" viewBox="0 0 448 512" id="fas-apple-alt" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M224 112c-8.8 0-16-7.2-16-16V80c0-44.2 35.8-80 80-80h16c8.8 0 16 7.2 16 16v16c0 44.2-35.8 80-80 80h-16zM0 288c0-76.3 35.7-160 112-160 27.3 0 59.7 10.3 82.7 19.3 18.8 7.3 39.9 7.3 58.7 0 22.9-8.9 55.4-19.3 82.7-19.3 76.3 0 112 83.7 112 160 0 128-80 224-160 224-16.5 0-38.1-6.6-51.5-11.3-8.1-2.8-16.9-2.8-25 0-13.4 4.7-35 11.3-51.5 11.3C80 512 0 416 0 288z"/></symbol><symbol class="ahsvg-inline--fa ahfa-box-archive" viewBox="0 0 512 512" id="fas-archive" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M32 32h448c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32zm0 128h448v256c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V160zm128 80c0 8.8 7.2 16 16 16h160c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16z"/></symbol><symbol class="aisvg-inline--fa aifa-archway" viewBox="0 0 512 512" id="fas-archway" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M32 32C14.3 32 0 46.3 0 64s14.3 32 32 32h448c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zm0 384c-17.7 0-32 14.3-32 32s14.3 32 32 32h128V352c0-53 43-96 96-96s96 43 96 96v128h128c17.7 0 32-14.3 32-32s-14.3-32-32-32V128H32v288z"/></symbol><symbol class="aksvg-inline--fa akfa-baby" viewBox="0 0 448 512" id="fas-baby" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M152 88a72 72 0 1 1 144 0 72 72 0 1 1-144 0zM39.7 144.5c13-17.9 38-21.8 55.9-8.8l36.2 26.3c26.8 19.5 59.1 30 92.2 30s65.4-10.5 92.2-30l36.2-26.4c17.9-13 42.9-9 55.9 8.8s9 42.9-8.8 55.9l-36.2 26.4c-13.6 9.9-28.1 18.2-43.3 25V288H128v-36.3c-15.2-6.7-29.7-15.1-43.3-25l-36.2-26.4c-17.9-13-21.8-38-8.8-55.9zm89.8 184.8 60.6 53-26 37.2 24.3 24.3c15.6 15.6 15.6 40.9 0 56.6s-40.9 15.6-56.6 0l-48-48C70 438.6 68.1 417 79.2 401.1l50.2-71.8zm128.5 53 60.6-53 50.2 71.8c11.1 15.9 9.2 37.5-4.5 51.2l-48 48c-15.6 15.6-40.9 15.6-56.6 0s-15.6-40.9 0-56.6l24.3-24.3-26-37.2z"/></symbol><symbol class="ajsvg-inline--fa ajfa-baby-carriage" viewBox="0 0 512 512" id="fas-baby-carriage" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M256 192H.1C2.7 117.9 41.3 52.9 99 14.1c13.3-8.9 30.8-4.3 39.9 8.8L256 192zm128-32c0-35.3 28.7-64 64-64h32c17.7 0 32 14.3 32 32s-14.3 32-32 32h-32v64c0 25.2-5.8 50.2-17 73.5s-27.8 44.5-48.6 62.3-45.5 32-72.7 41.6S253.4 416 224 416s-58.5-5-85.7-14.6-51.9-23.8-72.7-41.6-37.3-39-48.6-62.3S0 249.2 0 224h384v-64zM80 416a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm240 48a48 48 0 1 1 96 0 48 48 0 1 1-96 0z"/></symbol><symbol class="alsvg-inline--fa alfa-scale-balanced" viewBox="0 0 640 512" id="fas-balance-scale" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M384 32h128c17.7 0 32 14.3 32 32s-14.3 32-32 32H398.4c-5.2 25.8-22.9 47.1-46.4 57.3V448h160c17.7 0 32 14.3 32 32s-14.3 32-32 32H128c-17.7 0-32-14.3-32-32s14.3-32 32-32h160V153.3c-23.5-10.3-41.2-31.6-46.4-57.3H128c-17.7 0-32-14.3-32-32s14.3-32 32-32h128c14.6-19.4 37.8-32 64-32s49.4 12.6 64 32zm55.6 288h144.8L512 195.8 439.6 320zm72.4 96c-62.9 0-115.2-34-126-78.9-2.6-11 1-22.3 6.7-32.1l95.2-163.2c5-8.6 14.2-13.8 24.1-13.8s19.1 5.3 24.1 13.8L631.3 305c5.7 9.8 9.3 21.1 6.7 32.1C627.2 382 574.9 416 512 416zM126.8 195.8 54.4 320h144.9l-72.5-124.2zM.9 337.1c-2.6-11 1-22.3 6.7-32.1l95.2-163.2c5-8.6 14.2-13.8 24.1-13.8s19.1 5.3 24.1 13.8L246.2 305c5.7 9.8 9.3 21.1 6.7 32.1C242 382 189.7 416 126.8 416S11.7 382 .9 337.1z"/></symbol><symbol class="amsvg-inline--fa amfa-bath" viewBox="0 0 512 512" id="fas-bath" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M96 77.3C96 70 101.9 64 109.3 64c3.5 0 6.9 1.4 9.4 3.9l14.9 14.9c-3.6 9-5.6 18.9-5.6 29.2 0 19.9 7.2 38 19.2 52-5.3 9.2-4 21.1 3.8 29 9.4 9.4 24.6 9.4 33.9 0L289 89c9.4-9.4 9.4-24.6 0-33.9-7.9-7.9-19.8-9.1-29-3.8C246 39.2 227.9 32 208 32c-10.3 0-20.2 2-29.2 5.5l-14.9-14.9C149.4 8.1 129.7 0 109.3 0 66.6 0 32 34.6 32 77.3V256c-17.7 0-32 14.3-32 32s14.3 32 32 32h448c17.7 0 32-14.3 32-32s-14.3-32-32-32H96V77.3zM32 352v16c0 28.4 12.4 54 32 71.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32v-16h256v16c0 17.7 14.3 32 32 32s32-14.3 32-32v-40.4c19.6-17.6 32-43.1 32-71.6v-16H32z"/></symbol><symbol class="ansvg-inline--fa anfa-beer-mug-empty" viewBox="0 0 512 512" id="fas-beer" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M32 64c0-17.7 14.3-32 32-32h288c17.7 0 32 14.3 32 32v32h51.2c42.4 0 76.8 34.4 76.8 76.8v102.1c0 30.4-17.9 57.9-45.6 70.2L384 381.7V416c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V64zm352 247.6 56.4-25.1c4.6-2.1 7.6-6.6 7.6-11.7v-102c0-7.1-5.7-12.8-12.8-12.8H384v151.6zM160 144c0-8.8-7.2-16-16-16s-16 7.2-16 16v224c0 8.8 7.2 16 16 16s16-7.2 16-16V144zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v224c0 8.8 7.2 16 16 16s16-7.2 16-16V144zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v224c0 8.8 7.2 16 16 16s16-7.2 16-16V144z"/></symbol><symbol class="aosvg-inline--fa aofa-bell" viewBox="0 0 448 512" id="fas-bell" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M224 0c-17.7 0-32 14.3-32 32v19.2C119 66 64 130.6 64 208v18.8c0 47-17.3 92.4-48.5 127.6l-7.4 8.3c-8.4 9.4-10.4 22.9-5.3 34.4S19.4 416 32 416h384c12.6 0 24-7.4 29.2-18.9s3.1-25-5.3-34.4l-7.4-8.3c-31.2-35.2-48.5-80.5-48.5-127.6V208c0-77.4-55-142-128-156.8V32c0-17.7-14.3-32-32-32zm45.3 493.3c12-12 18.7-28.3 18.7-45.3H160c0 17 6.7 33.3 18.7 45.3S207 512 224 512s33.3-6.7 45.3-18.7z"/></symbol><symbol class="apsvg-inline--fa apfa-person-biking" viewBox="0 0 640 512" id="fas-biking" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M400 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm27.2 64-61.8-48.8c-17.3-13.6-41.7-13.8-59.1-.3l-83.1 64.2c-30.7 23.8-28.5 70.8 4.3 91.6l60.5 38.4V416c0 17.7 14.3 32 32 32s32-14.3 32-32V288c0-10.7-5.3-20.7-14.2-26.6L295 232.9l60.3-48.5L396 217c5.7 4.5 12.7 7 20 7h64c17.7 0 32-14.3 32-32s-14.3-32-32-32h-52.8zM56 384a72 72 0 1 1 144 0 72 72 0 1 1-144 0zm200 0a128 128 0 1 0-256 0 128 128 0 1 0 256 0zm184 0a72 72 0 1 1 144 0 72 72 0 1 1-144 0zm200 0a128 128 0 1 0-256 0 128 128 0 1 0 256 0z"/></symbol><symbol class="aqsvg-inline--fa aqfa-blender" viewBox="0 0 512 512" id="fas-blender" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M0 64C0 28.7 28.7 0 64 0h406.1c21.1 0 36.4 20.1 30.9 40.4L494.5 64H336c-8.8 0-16 7.2-16 16s7.2 16 16 16h149.8l-17.5 64H336c-8.8 0-16 7.2-16 16s7.2 16 16 16h123.6l-17.5 64H336c-8.8 0-16 7.2-16 16s7.2 16 16 16h97.5L416 352H160l-8.7-96H64c-35.3 0-64-28.7-64-64V64zm145.5 128L133.8 64H64v128h81.5zM144 384h288c26.5 0 48 21.5 48 48v32c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48v-32c0-26.5 21.5-48 48-48zm144 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"/></symbol><symbol class="arsvg-inline--fa arfa-book" viewBox="0 0 448 512" id="fas-book" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M96 0C43 0 0 43 0 96v320c0 53 43 96 96 96h320c17.7 0 32-14.3 32-32s-14.3-32-32-32v-64c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H96zm0 384h256v64H96c-17.7 0-32-14.3-32-32s14.3-32 32-32zm32-240c0-8.8 7.2-16 16-16h192c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16zm16 48h192c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16z"/></symbol><symbol class="assvg-inline--fa asfa-border-all" viewBox="0 0 448 512" id="fas-border-all" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M384 96v128H256V96h128zm0 192v128H256V288h128zm-192-64H64V96h128v128zM64 288h128v128H64V288zm0-256C28.7 32 0 60.7 0 96v320c0 35.3 28.7 64 64 64h320c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z"/></symbol><symbol class="ausvg-inline--fa aufa-box" viewBox="0 0 448 512" id="fas-box" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M50.7 58.5 0 160h208V32H93.7c-18.2 0-34.8 10.3-43 26.5zM240 160h208L397.3 58.5c-8.2-16.2-24.8-26.5-43-26.5H240v128zm208 32H0v224c0 35.3 28.7 64 64 64h320c35.3 0 64-28.7 64-64V192z"/></symbol><symbol class="atsvg-inline--fa atfa-box-open" viewBox="0 0 640 512" id="fas-box-open" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M58.9 42.1c3-6.1 9.6-9.6 16.3-8.7L320 64l244.8-30.6c6.7-.8 13.3 2.7 16.3 8.7l41.7 83.4c9 17.9-.6 39.6-19.8 45.1l-163.4 46.7c-13.9 4-28.8-1.9-36.2-14.3L320 64l-83.4 139c-7.4 12.4-22.3 18.3-36.2 14.3L37.1 170.6c-19.3-5.5-28.8-27.2-19.8-45.1l41.6-83.4zM321.1 128l54.9 91.4c14.9 24.8 44.6 36.6 72.5 28.6L576 211.6v167c0 22-15 41.2-36.4 46.6l-204.1 51c-10.2 2.6-20.9 2.6-31 0l-204.1-51C79 419.7 64 400.5 64 378.5v-167L191.6 248c27.8 8 57.6-3.8 72.5-28.6l54.8-91.4h2.2z"/></symbol><symbol class="avsvg-inline--fa avfa-bullseye" viewBox="0 0 512 512" id="fas-bullseye" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M448 256a192 192 0 1 0-384 0 192 192 0 1 0 384 0zM0 256a256 256 0 1 1 512 0 256 256 0 1 1-512 0zm256 80a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm0-224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm-32 144a32 32 0 1 1 64 0 32 32 0 1 1-64 0z"/></symbol><symbol class="awsvg-inline--fa awfa-fire-flame-simple" viewBox="0 0 384 512" id="fas-burn" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="m372.5 256.5-.7-1.9C337.8 160.8 282 76.5 209.1 8.5l-3.3-3C202.1 2 197.1 0 192 0s-10.1 2-13.8 5.5l-3.3 3C102 76.5 46.2 160.8 12.2 254.6l-.7 1.9C3.9 277.3 0 299.4 0 321.6 0 426.7 86.8 512 192 512s192-85.3 192-190.4c0-22.2-3.9-44.2-11.5-65.1zM281.7 306a73.3 73.3 0 0 1 6.2 29.5c0 53-43 96.5-96 96.5s-96-43.5-96-96.5c0-10.1 2.1-20.3 6.2-29.5l1.9-4.3c15.8-35.4 37.9-67.7 65.3-95.1l8.9-8.9c3.6-3.6 8.5-5.6 13.6-5.6s10 2 13.6 5.6l8.9 8.9c27.4 27.4 49.6 59.7 65.3 95.1l1.9 4.3z"/></symbol><symbol class="axsvg-inline--fa axfa-calendar-days" viewBox="0 0 448 512" id="fas-calendar-alt" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M128 0c17.7 0 32 14.3 32 32v32h128V32c0-17.7 14.3-32 32-32s32 14.3 32 32v32h48c26.5 0 48 21.5 48 48v48H0v-48c0-26.5 21.5-48 48-48h48V32c0-17.7 14.3-32 32-32zM0 192h448v272c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192zm64 80v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm128 0v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-32zM64 400v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-32zm112 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16z"/></symbol><symbol class="aysvg-inline--fa ayfa-calendar-days" viewBox="0 0 448 512" id="fas-calendar-days" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M128 0c17.7 0 32 14.3 32 32v32h128V32c0-17.7 14.3-32 32-32s32 14.3 32 32v32h48c26.5 0 48 21.5 48 48v48H0v-48c0-26.5 21.5-48 48-48h48V32c0-17.7 14.3-32 32-32zM0 192h448v272c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192zm64 80v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm128 0v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-32zM64 400v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-32zm112 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16z"/></symbol><symbol class="azsvg-inline--fa azfa-camera-retro" viewBox="0 0 512 512" id="fas-camera-retro" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M220.6 121.2 271.1 96H448v96H333.2c-21.9-15.1-48.5-24-77.2-24s-55.2 8.9-77.2 24H64v-64h128c9.9 0 19.7-2.3 28.6-6.8zM0 128v288c0 35.3 28.7 64 64 64h384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H271.1c-9.9 0-19.7 2.3-28.6 6.8L192 64h-32V48c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16v16C28.7 64 0 92.7 0 128zm168 176a88 88 0 1 1 176 0 88 88 0 1 1-176 0z"/></symbol><symbol class="basvg-inline--fa bafa-cannabis" viewBox="0 0 512 512" id="fas-cannabis" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M256 0c5.3 0 10.3 2.7 13.3 7.1 15.8 23.5 36.7 63.7 49.2 109 7.2 26.4 11.8 55.2 10.4 84 11.5-8.8 23.7-16.7 35.8-23.6 41-23.3 84.4-36.9 112.2-42.5 5.2-1 10.7.6 14.4 4.4s5.4 9.2 4.4 14.5c-5.6 27.7-19.3 70.9-42.7 111.7-9.1 15.9-19.9 31.7-32.4 46.3 27.8 6.6 52.4 17.3 67.2 25.5 5.1 2.8 8.2 8.2 8.2 14s-3.2 11.2-8.2 14c-15.2 8.4-40.9 19.5-69.8 26.1-20.2 4.6-42.9 7.2-65.2 4.6l8.3 33.1c1.5 6.1-.6 12.4-5.5 16.4s-11.6 4.6-17.2 1.9L280 417.2V488c0 13.3-10.7 24-24 24s-24-10.7-24-24v-70.8l-58.5 29.1c-5.6 2.8-12.3 2.1-17.2-1.9s-7-10.3-5.5-16.4l8.3-33.1c-22.2 2.6-45 0-65.2-4.6-28.9-6.6-54.6-17.6-69.8-26.1-5.1-2.8-8.2-8.2-8.2-14s3.2-11.2 8.2-14c14.8-8.2 39.4-18.8 67.2-25.5-12.4-14.4-23.2-30.2-32.3-46.1-23.4-40.8-37.1-84-42.7-111.7-1.1-5.2.6-10.7 4.4-14.5s9.2-5.4 14.4-4.4c27.9 5.5 71.2 19.2 112.2 42.5 12.1 6.9 24.3 14.7 35.8 23.6-1.4-28.7 3.1-57.6 10.4-84 12.5-45.3 33.4-85.5 49.2-109 3-4.4 8-7.1 13.3-7.1z"/></symbol><symbol class="bbsvg-inline--fa bbfa-car-battery" viewBox="0 0 512 512" id="fas-car-battery" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M80 96c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32h96c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32h16c35.3 0 64 28.7 64 64v224c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64h16zm304 96c0-8.8-7.2-16-16-16s-16 7.2-16 16v32h-32c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v32c0 8.8 7.2 16 16 16s16-7.2 16-16v-32h32c8.8 0 16-7.2 16-16s-7.2-16-16-16h-32v-32zM80 240c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H96c-8.8 0-16 7.2-16 16z"/></symbol><symbol class="bcsvg-inline--fa bcfa-car-burst" viewBox="0 0 640 512" id="fas-car-crash" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M176 8c-6.6 0-12.4 4-14.9 10.1l-29.4 74-76.1-23.2c-6.3-1.9-13.1.2-17.2 5.3S33.8 86.4 37 92.1l39.5 69.1-65.6 45.2c-5.4 3.7-8 10.3-6.5 16.7s6.7 11.2 13.1 12.2l78.7 12.2-5.6 79.5c-.5 6.5 3.1 12.7 9 15.5s12.9 1.8 17.8-2.6l35.3-32.5 9.5-35.4 10.4-38.6c8-29.9 30.5-52.1 57.9-60.9l41-59.2C282.8 97 297.9 84.4 315 76.1c-.4-.6-.8-1.2-1.3-1.8-4.1-5.1-10.9-7.2-17.2-5.3l-76.2 23.1-29.4-74C188.4 12 182.6 8 176 8zm191.7 153.5 135.6 36.3c6.5 1.8 11.3 7.4 11.8 14.2l4.6 56.5-201.5-54 32.2-46.6c3.8-5.6 10.8-8.1 17.3-6.4zm-69.9-30-47.9 69.3c-21.6 3-40.3 18.6-46.3 41l-10.4 38.6-16.6 61.8-8.3 30.9c-4.6 17.1 5.6 34.6 22.6 39.2l15.5 4.1c17.1 4.6 34.6-5.6 39.2-22.6l8.3-30.9 247.3 66.3-8.3 30.9c-4.6 17.1 5.6 34.6 22.6 39.2l15.5 4.1c17.1 4.6 34.6-5.6 39.2-22.6l8.3-30.9L595 388l10.4-38.6c6-22.4-2.5-45.2-19.6-58.7l-6.8-84c-2.7-33.7-26.4-62-59-70.8L384.2 99.7c-32.7-8.8-67.3 4-86.5 31.8zm-17 131a24 24 0 1 1-12.4 46.4 24 24 0 1 1 12.4-46.4zm217.9 83.2a24 24 0 1 1 46.3 12.4 24 24 0 1 1-46.4-12.4z"/></symbol><symbol class="bdsvg-inline--fa bdfa-carrot" viewBox="0 0 512 512" id="fas-carrot" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M346.7 6C337.6 17 320 42.3 320 72c0 40 15.3 55.3 40 80s40 40 80 40c29.7 0 55-17.6 66-26.7 4-3.3 6-8.2 6-13.3s-2-10-6-13.2c-11.4-9.1-38.3-26.8-74-26.8-32 0-40 8-40 8s8-8 8-40c0-35.7-17.7-62.6-26.8-74-3.2-4-8.1-6-13.2-6s-10 2-13.3 6zM244.6 136c-40 0-77.1 18.1-101.7 48.2l60.5 60.5c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L125.5 212v.1L2.2 477.9C-2 487-.1 497.8 7 505s17.9 9 27.1 4.8l134.7-62.4-52.1-52.1c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l60.4 60.3 100.2-46.4c46.4-21.5 76.2-68 76.2-119.2C376 194.8 317.2 136 244.6 136z"/></symbol><symbol class="besvg-inline--fa befa-cat" viewBox="0 0 576 512" id="fas-cat" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M320 192h17.1c22.1 38.3 63.5 64 110.9 64 11 0 21.8-1.4 32-4v228c0 17.7-14.3 32-32 32s-32-14.3-32-32V339.2L280 448h56c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-53 0-96-43-96-96V192.5c0-16.1-12-29.8-28-31.8l-7.9-1c-17.5-2.2-30-18.2-27.8-35.7S50.5 94 68 96.2l7.9 1c48 6 84.1 46.8 84.1 95.3v85.3c34.4-51.7 93.2-85.8 160-85.8zm160 26.5c-10 3.5-20.8 5.5-32 5.5-28.4 0-54-12.4-71.6-32-3.7-4.1-7-8.5-9.9-13.2C357.3 164 352 146.6 352 128V10.7C352 4.8 356.7.1 362.6 0h.2c3.3 0 6.4 1.6 8.4 4.2v.1l12.8 17 27.2 36.3L416 64h64l4.8-6.4L512 21.3l12.8-17v-.1c2-2.6 5.1-4.2 8.4-4.2h.2c5.9.1 10.6 4.8 10.6 10.7V128c0 17.3-4.6 33.6-12.6 47.6-11.3 19.8-29.6 35.2-51.4 42.9zM432 128a16 16 0 1 0-32 0 16 16 0 1 0 32 0zm48 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32z"/></symbol><symbol class="bfsvg-inline--fa bffa-charging-station" viewBox="0 0 576 512" id="fas-charging-station" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M96 0C60.7 0 32 28.7 32 64v384c-17.7 0-32 14.3-32 32s14.3 32 32 32h288c17.7 0 32-14.3 32-32s-14.3-32-32-32V304h16c22.1 0 40 17.9 40 40v32c0 39.8 32.2 72 72 72s72-32.2 72-72V252.3c32.5-10.2 56-40.5 56-76.3v-32c0-8.8-7.2-16-16-16h-16V80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48h-32V80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48h-16c-8.8 0-16 7.2-16 16v32c0 35.8 23.5 66.1 56 76.3V376c0 13.3-10.7 24-24 24s-24-10.7-24-24v-32c0-48.6-39.4-88-88-88h-16V64c0-35.3-28.7-64-64-64H96zm120.9 82.7c6 4 8.5 11.5 6.3 18.3l-25 74.9H256c6.7 0 12.7 4.2 15 10.4s.5 13.3-4.6 17.7l-112 96c-5.5 4.7-13.4 5.1-19.3 1.1s-8.5-11.5-6.3-18.3l25-74.9H96c-6.7 0-12.7-4.2-15-10.4s-.5-13.3 4.6-17.7l112-96c5.5-4.7 13.4-5.1 19.3-1.1z"/></symbol><symbol class="bgsvg-inline--fa bgfa-cheese" viewBox="0 0 512 512" id="fas-cheese" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M512 240.2V256H0c0-20 10-38.7 26.6-49.8L274.9 40.7c8.6-5.7 18.6-8.7 28.9-8.7 115 0 208.2 93.2 208.2 208.2zm0 47.8v128c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V288h512z"/></symbol><symbol class="bhsvg-inline--fa bhfa-chess-bishop" viewBox="0 0 320 512" id="fas-chess-bishop" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M128 0c-17.7 0-32 14.3-32 32 0 16.1 11.9 29.4 27.4 31.7C78.4 106.8 8 190 8 288c0 47.4 30.8 72.3 56 84.7V400h192v-27.3c25.2-12.5 56-37.4 56-84.7 0-37.3-10.2-72.4-25.3-104.1l-99.4 99.4c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l106.1-106.1c-23.2-38.1-51.8-69.5-74.2-90.9C212.1 61.4 224 48.1 224 32c0-17.7-14.3-32-32-32h-64zM48 432 6.6 473.4c-4.2 4.2-6.6 10-6.6 16C0 501.9 10.1 512 22.6 512h274.8c12.5 0 22.6-10.1 22.6-22.6 0-6-2.4-11.8-6.6-16L272 432H48z"/></symbol><symbol class="bisvg-inline--fa bifa-chess-knight" viewBox="0 0 448 512" id="fas-chess-knight" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M96 48 82.7 61.3c-12 12-18.7 28.2-18.7 45.2v132.4c0 10.7 5.3 20.7 14.2 26.6l10.6 7c14.3 9.6 32.7 10.7 48.1 3l3.2-1.6c2.6-1.3 5-2.8 7.3-4.5l49.4-37c6.6-5 15.7-5 22.3 0 10.2 7.7 9.9 23.1-.7 30.3L90.4 350C73.9 361.3 64 380 64 400h320l28.9-159c2.1-11.3 3.1-22.8 3.1-34.3V192C416 86 330 0 224 0H83.8C72.9 0 64 8.9 64 19.8c0 7.5 4.2 14.3 10.9 17.7L96 48zm24 68a20 20 0 1 1 40 0 20 20 0 1 1-40 0zM22.6 473.4c-4.2 4.2-6.6 10-6.6 16 0 12.5 10.1 22.6 22.6 22.6h370.8c12.5 0 22.6-10.1 22.6-22.6 0-6-2.4-11.8-6.6-16L384 432H64l-41.4 41.4z"/></symbol><symbol class="bjsvg-inline--fa bjfa-chess-pawn" viewBox="0 0 320 512" id="fas-chess-pawn" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M215.5 224c29.2-18.4 48.5-50.9 48.5-88 0-57.4-46.6-104-104-104S56 78.6 56 136c0 37.1 19.4 69.6 48.5 88H96c-17.7 0-32 14.3-32 32 0 16.5 12.5 30 28.5 31.8L80 400h160l-12.5-112.2c16-1.8 28.5-15.3 28.5-31.8 0-17.7-14.3-32-32-32h-8.5zM22.6 473.4c-4.2 4.2-6.6 10-6.6 16 0 12.5 10.1 22.6 22.6 22.6h242.8c12.5 0 22.6-10.1 22.6-22.6 0-6-2.4-11.8-6.6-16L256 432H64l-41.4 41.4z"/></symbol><symbol class="bksvg-inline--fa bkfa-circle-chevron-up" viewBox="0 0 512 512" id="fas-chevron-circle-up" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M256 512a256 256 0 1 0 0-512 256 256 0 1 0 0 512zm121-241c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-87-87-87 87c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L239 167c9.4-9.4 24.6-9.4 33.9 0L377 271z"/></symbol><symbol class="blsvg-inline--fa blfa-child-reaching" viewBox="0 0 384 512" id="fas-child-reaching" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M256 64a64 64 0 1 0-128 0 64 64 0 1 0 128 0zM152.9 169.3c-23.7-8.4-44.5-24.3-58.8-45.8L74.6 94.2C64.8 79.5 45 75.6 30.2 85.4s-18.7 29.7-8.9 44.4L40.9 159c18.1 27.1 42.8 48.4 71.1 62.4V480c0 17.7 14.3 32 32 32s32-14.3 32-32v-96h32v96c0 17.7 14.3 32 32 32s32-14.3 32-32V221.6c29.1-14.2 54.4-36.2 72.7-64.2l18.2-27.9c9.6-14.8 5.4-34.6-9.4-44.3s-34.6-5.5-44.3 9.4L291 122.4c-21.8 33.4-58.9 53.6-98.8 53.6-12.6 0-24.9-2-36.6-5.8-.9-.3-1.8-.7-2.7-.9z"/></symbol><symbol class="bmsvg-inline--fa bmfa-church" viewBox="0 0 640 512" id="fas-church" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M344 24c0-13.3-10.7-24-24-24s-24 10.7-24 24v24h-32c-13.3 0-24 10.7-24 24s10.7 24 24 24h32v46.4L183.3 210c-14.5 8.7-23.3 24.3-23.3 41.2V512h96v-96c0-35.3 28.7-64 64-64s64 28.7 64 64v96h96V251.2c0-16.9-8.8-32.5-23.3-41.2L344 142.4V96h32c13.3 0 24-10.7 24-24s-10.7-24-24-24h-32V24zM24.9 330.3C9.5 338.8 0 354.9 0 372.4V464c0 26.5 21.5 48 48 48h80V273.6L24.9 330.3zM592 512c26.5 0 48-21.5 48-48v-91.6c0-17.5-9.5-33.6-24.9-42.1L512 273.6V512h80z"/></symbol><symbol class="bnsvg-inline--fa bnfa-martini-glass-citrus" viewBox="0 0 576 512" id="fas-cocktail" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M432 240c53 0 96-43 96-96s-43-96-96-96c-35.5 0-66.6 19.3-83.2 48h-52.6C316 40.1 369.3 0 432 0c79.5 0 144 64.5 144 144s-64.5 144-144 144c-27.7 0-53.5-7.8-75.5-21.3l35.4-35.4c12.2 5.6 25.8 8.7 40.1 8.7zM1.8 142.8c3.7-9 12.5-14.8 22.2-14.8h368c9.7 0 18.5 5.8 22.2 14.8s1.7 19.3-5.2 26.2L232 346v118h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V345.9L7 169c-6.9-6.9-8.9-17.2-5.2-26.2z"/></symbol><symbol class="bosvg-inline--fa bofa-code" viewBox="0 0 640 512" id="fas-code" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M392.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm80.6 120.1c-12.5 12.5-12.5 32.8 0 45.3l89.3 89.4-89.4 89.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-112-112c-12.5-12.5-32.8-12.5-45.3 0zm-306.7 0c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l112 112c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256l89.4-89.4c12.5-12.5 12.5-32.8 0-45.3z"/></symbol><symbol class="bpsvg-inline--fa bpfa-coins" viewBox="0 0 512 512" id="fas-coins" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M512 80c0 18-14.3 34.6-38.4 48-29.1 16.1-72.5 27.5-122.3 30.9-3.7-1.8-7.4-3.5-11.3-5-39.4-16.5-91.8-25.9-148-25.9-8.3 0-16.4.2-24.5.6l-1.1-.6C142.3 114.6 128 98 128 80c0-44.2 86-80 192-80s192 35.8 192 80zm-351.3 81.1c10.2-.7 20.7-1.1 31.3-1.1 62.2 0 117.4 12.3 152.5 31.4 24.8 13.5 39.5 30.3 39.5 48.6 0 4-.7 7.9-2.1 11.7-4.6 13.2-17 25.3-35 35.5-.1.1-.3.1-.4.2-.3.2-.6.3-.9.5-35 19.4-90.8 32-153.6 32-59.6 0-112.9-11.3-148.2-29.1-1.9-.9-3.7-1.9-5.5-2.9C14.3 274.6 0 258 0 240c0-34.8 53.4-64.5 128-75.4 10.5-1.5 21.4-2.7 32.7-3.5zM416 240c0-21.9-10.6-39.9-24.1-53.4 28.3-4.4 54.2-11.4 76.2-20.5 16.3-6.8 31.5-15.2 43.9-25.5V176c0 19.3-16.5 37.1-43.8 50.9-14.6 7.4-32.4 13.7-52.4 18.5.1-1.8.2-3.5.2-5.3zm-32 96c0 18-14.3 34.6-38.4 48-1.8 1-3.6 1.9-5.5 2.9C304.9 404.7 251.6 416 192 416c-62.8 0-118.6-12.6-153.6-32C14.3 370.6 0 354 0 336v-35.4c12.5 10.3 27.6 18.7 43.9 25.5C83.4 342.6 135.8 352 192 352s108.6-9.4 148.1-25.9c7.8-3.2 15.3-6.9 22.4-10.9 6.1-3.4 11.8-7.2 17.2-11.2 1.5-1.1 2.9-2.3 4.3-3.4V336zm32 0v-57.9c19-4.2 36.5-9.5 52.1-16 16.3-6.8 31.5-15.2 43.9-25.5V272c0 10.5-5 21-14.9 30.9-16.3 16.3-45 29.7-81.3 38.4.1-1.7.2-3.5.2-5.3zM192 448c56.2 0 108.6-9.4 148.1-25.9 16.3-6.8 31.5-15.2 43.9-25.5V432c0 44.2-86 80-192 80S0 476.2 0 432v-35.4c12.5 10.3 27.6 18.7 43.9 25.5C83.4 438.6 135.8 448 192 448z"/></symbol><symbol class="bqsvg-inline--fa bqfa-comment" viewBox="0 0 512 512" id="fas-comment" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M512 240c0 114.9-114.6 208-256 208-37.1 0-72.3-6.4-104.1-17.9-11.9 8.7-31.3 20.6-54.3 30.6C73.6 471.1 44.7 480 16 480c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.8 3.4-17.4l.3-.3c.3-.3.7-.7 1.3-1.4 1.1-1.2 2.8-3.1 4.9-5.7 4.1-5 9.6-12.4 15.2-21.6 10-16.6 19.5-38.4 21.4-62.9C17.7 326.8 0 285.1 0 240 0 125.1 114.6 32 256 32s256 93.1 256 208z"/></symbol><symbol class="brsvg-inline--fa brfa-comments" viewBox="0 0 640 512" id="fas-comments" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M208 352c114.9 0 208-78.8 208-176S322.9 0 208 0 0 78.8 0 176c0 38.6 14.7 74.3 39.6 103.4-3.5 9.4-8.7 17.7-14.2 24.7-4.8 6.2-9.7 11-13.3 14.3-1.8 1.6-3.3 2.9-4.3 3.7-.5.4-.9.7-1.1.8l-.2.2C1 327.2-1.4 334.4.8 340.9S9.1 352 16 352c21.8 0 43.8-5.6 62.1-12.5 9.2-3.5 17.8-7.4 25.3-11.4C134.1 343.3 169.8 352 208 352zm240-176c0 112.3-99.1 196.9-216.5 207 24.3 74.4 104.9 129 200.5 129 38.2 0 73.9-8.7 104.7-23.9 7.5 4 16 7.9 25.2 11.4 18.3 6.9 40.3 12.5 62.1 12.5 6.9 0 13.1-4.5 15.2-11.1 2.1-6.6-.2-13.8-5.8-17.9l-.2-.2c-.2-.2-.6-.4-1.1-.8-1-.8-2.5-2-4.3-3.7-3.6-3.3-8.5-8.1-13.3-14.3-5.5-7-10.7-15.4-14.2-24.7 24.9-29 39.6-64.7 39.6-103.4 0-92.8-84.9-168.9-192.6-175.5.4 5.1.6 10.3.6 15.5z"/></symbol><symbol class="bssvg-inline--fa bsfa-compact-disc" viewBox="0 0 512 512" id="fas-compact-disc" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M0 256a256 256 0 1 1 512 0 256 256 0 1 1-512 0zm256 32a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm-96-32a96 96 0 1 0 192 0 96 96 0 1 0-192 0zm-64-16c0-35 17.5-71.1 45.2-98.8S205 96 240 96c8.8 0 16-7.2 16-16s-7.2-16-16-16c-45.4 0-89.2 22.3-121.5 54.5S64 194.6 64 240c0 8.8 7.2 16 16 16s16-7.2 16-16z"/></symbol><symbol class="btsvg-inline--fa btfa-minimize" viewBox="0 0 512 512" id="fas-compress-arrows-alt" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M456 224H312c-13.3 0-24-10.7-24-24V56c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l40 40 73.3-73.3C446 2 450.9 0 456 0s10 2 13.7 5.7l36.7 36.7C510 46 512 50.9 512 56s-2 10-5.7 13.7L433 143l40 40c6.9 6.9 8.9 17.2 5.2 26.2S465.7 224 456 224zm0 64c9.7 0 18.5 5.8 22.2 14.8s1.7 19.3-5.2 26.2l-40 40 73.4 73.4c3.6 3.6 5.7 8.5 5.7 13.7s-2 10-5.7 13.7l-36.7 36.7c-3.7 3.5-8.6 5.5-13.7 5.5s-10-2-13.7-5.7L369 433l-40 40c-6.9 6.9-17.2 8.9-26.2 5.2S288 465.7 288 456V312c0-13.3 10.7-24 24-24h144zm-256 0c13.3 0 24 10.7 24 24v144c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-40-40-73.3 73.3C66 510 61.1 512 56 512s-10-2-13.7-5.7L5.7 469.7C2 466 0 461.1 0 456s2-10 5.7-13.7L79 369l-40-40c-6.9-6.9-8.9-17.2-5.2-26.2S46.3 288 56 288h144zM56 224c-9.7 0-18.5-5.8-22.2-14.8S32.1 189.9 39 183l40-40L5.7 69.7C2 66 0 61.1 0 56s2-10 5.7-13.7L42.3 5.7C46 2 50.9 0 56 0s10 2 13.7 5.7L143 79l40-40c6.9-6.9 17.2-8.9 26.2-5.2S224 46.3 224 56v144c0 13.3-10.7 24-24 24H56z"/></symbol><symbol class="busvg-inline--fa bufa-bell-concierge" viewBox="0 0 512 512" id="fas-concierge-bell" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M216 64c-13.3 0-24 10.7-24 24s10.7 24 24 24h16v33.3C119.6 157.2 32 252.4 32 368h448c0-115.6-87.6-210.8-200-222.7V112h16c13.3 0 24-10.7 24-24s-10.7-24-24-24h-80zM24 400c-13.3 0-24 10.7-24 24s10.7 24 24 24h464c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z"/></symbol><symbol class="bvsvg-inline--fa bvfa-couch" viewBox="0 0 640 512" id="fas-couch" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M64 160c0-70.7 57.3-128 128-128h256c70.7 0 128 57.3 128 128v33.6c-36.5 7.4-64 39.7-64 78.4v48H128v-48c0-38.7-27.5-71-64-78.4V160zm480 112c0-20.9 13.4-38.7 32-45.3 5-1.8 10.4-2.7 16-2.7 26.5 0 48 21.5 48 48v176c0 17.7-14.3 32-32 32h-32c-17.7 0-32-14.3-32-32H96c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V272c0-26.5 21.5-48 48-48 5.6 0 11 1 16 2.7 18.6 6.6 32 24.4 32 45.3v80h448v-80z"/></symbol><symbol class="bwsvg-inline--fa bwfa-crosshairs" viewBox="0 0 512 512" id="fas-crosshairs" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M256 0c17.7 0 32 14.3 32 32v10.4c93.7 13.9 167.7 88 181.6 181.6H480c17.7 0 32 14.3 32 32s-14.3 32-32 32h-10.4c-13.9 93.7-88 167.7-181.6 181.6V480c0 17.7-14.3 32-32 32s-32-14.3-32-32v-10.4C130.3 455.7 56.3 381.7 42.4 288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h10.4C56.3 130.3 130.3 56.3 224 42.4V32c0-17.7 14.3-32 32-32zM107.4 288c12.5 58.3 58.4 104.1 116.6 116.6V384c0-17.7 14.3-32 32-32s32 14.3 32 32v20.6c58.3-12.5 104.1-58.4 116.6-116.6H384c-17.7 0-32-14.3-32-32s14.3-32 32-32h20.6c-12.5-58.3-58.3-104.1-116.6-116.6V128c0 17.7-14.3 32-32 32s-32-14.3-32-32v-20.6c-58.3 12.5-104.1 58.3-116.6 116.6H128c17.7 0 32 14.3 32 32s-14.3 32-32 32h-20.6zM256 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"/></symbol><symbol class="bxsvg-inline--fa bxfa-crown" viewBox="0 0 576 512" id="fas-crown" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M309 106c11.4-7 19-19.7 19-34 0-22.1-17.9-40-40-40s-40 17.9-40 40c0 14.4 7.6 27 19 34l-57.3 114.6c-9.1 18.2-32.7 23.4-48.6 10.7L72 160c5-6.7 8-15 8-24 0-22.1-17.9-40-40-40S0 113.9 0 136s17.9 40 40 40h.7l45.7 251.4c5.5 30.4 32 52.6 63 52.6h277.2c30.9 0 57.4-22.1 63-52.6L535.3 176h.7c22.1 0 40-17.9 40-40s-17.9-40-40-40-40 17.9-40 40c0 9 3 17.3 8 24l-89.1 71.3c-15.9 12.7-39.5 7.5-48.6-10.7L309 106z"/></symbol><symbol class="bysvg-inline--fa byfa-crutch" viewBox="0 0 512 512" id="fas-crutch" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M297.4 9.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0zm-96 144-34.8 34.8c-12.9 12.9-21.9 29.2-25.8 47.1l-24 107.6c-1.3 5.9-4.3 11.4-8.6 15.7L9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l98.8-98.8c4.3-4.3 9.7-7.3 15.7-8.6l107.6-23.9c17.8-4 34.1-12.9 47.1-25.8l34.7-34.7.1-.1.1-.1 74.6-74.6-45.3-45.3-52.1 51.9-66.7-66.7 52.1-52.1-45.3-45.3-74.7 74.7zm22.6 67.9 66.7 66.7-12.2 12.2c-4.3 4.3-9.7 7.3-15.7 8.6l-76.7 17 17-76.7c1.3-5.9 4.3-11.4 8.6-15.7l12.3-12.1z"/></symbol><symbol class="bzsvg-inline--fa bzfa-cube" viewBox="0 0 512 512" id="fas-cube" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M234.5 5.7c13.9-5 29.1-5 43.1 0l192 68.6c25.4 9.1 42.4 33.2 42.4 60.3v242.8c0 27-17 51.2-42.5 60.3l-192 68.6c-13.9 5-29.1 5-43.1 0l-192-68.6C17 428.6 0 404.5 0 377.4V134.6c0-27 17-51.2 42.5-60.3l192-68.6zM256 66 82.3 128 256 190l173.7-62L256 66zm32 368.6 160-57.1v-188l-160 57.1v188z"/></symbol><symbol class="casvg-inline--fa cafa-scissors" viewBox="0 0 512 512" id="fas-cut" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="m256 192-39.5-39.5c4.9-12.6 7.5-26.2 7.5-40.5C224 50.1 173.9 0 112 0S0 50.1 0 112s50.1 112 112 112c14.3 0 27.9-2.7 40.5-7.5L192 256l-39.5 39.5c-12.6-4.9-26.2-7.5-40.5-7.5C50.1 288 0 338.1 0 400s50.1 112 112 112 112-50.1 112-112c0-14.3-2.7-27.9-7.5-40.5L499.2 76.8c7.1-7.1 7.1-18.5 0-25.6-28.3-28.3-74.1-28.3-102.4 0L256 192zm22.6 150.6 118.2 118.2c28.3 28.3 74.1 28.3 102.4 0 7.1-7.1 7.1-18.5 0-25.6L342.6 278.6l-64 64zM64 112a48 48 0 1 1 96 0 48 48 0 1 1-96 0zm48 240a48 48 0 1 1 0 96 48 48 0 1 1 0-96z"/></symbol><symbol class="cbsvg-inline--fa cbfa-dice" viewBox="0 0 640 512" id="fas-dice" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M274.9 34.3c-28.1-28.1-73.7-28.1-101.8 0L34.3 173.1c-28.1 28.1-28.1 73.7 0 101.8l138.8 138.8c28.1 28.1 73.7 28.1 101.8 0l138.8-138.8c28.1-28.1 28.1-73.7 0-101.8L274.9 34.3zM200 224a24 24 0 1 1 48 0 24 24 0 1 1-48 0zM96 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm128 176a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm128-176a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm-128-80a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm96 328c0 35.3 28.7 64 64 64h192c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H461.7c11.6 36 3.1 77-25.4 105.5L320 413.8V448zm160-120a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"/></symbol><symbol class="ccsvg-inline--fa ccfa-diamond-turn-right" viewBox="0 0 512 512" id="fas-directions" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M227.7 11.7c15.6-15.6 40.9-15.6 56.6 0l216 216c15.6 15.6 15.6 40.9 0 56.6l-216 216c-15.6 15.6-40.9 15.6-56.6 0l-216-216c-15.6-15.6-15.6-40.9 0-56.6l216-216zm87.6 137c-4.6-4.6-11.5-5.9-17.4-3.5s-9.9 8.3-9.9 14.8v56h-64c-35.3 0-64 28.7-64 64v48c0 13.3 10.7 24 24 24s24-10.7 24-24v-48c0-8.8 7.2-16 16-16h64v56c0 6.5 3.9 12.3 9.9 14.8s12.9 1.1 17.4-3.5l80-80c6.2-6.2 6.2-16.4 0-22.6l-80-80z"/></symbol><symbol class="cdsvg-inline--fa cdfa-dolly" viewBox="0 0 576 512" id="fas-dolly" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M0 32C0 14.3 14.3 0 32 0h72.9c27.5 0 52 17.6 60.7 43.8L257.7 320c30.1.5 56.8 14.9 74 37l202.1-67.4c16.8-5.6 34.9 3.5 40.5 20.2s-3.5 34.9-20.2 40.5L352 417.7c-.9 52.2-43.5 94.3-96 94.3-53 0-96-43-96-96 0-30.8 14.5-58.2 37-75.8L104.9 64H32C14.3 64 0 49.7 0 32zm244.8 102.5c-5.5-16.8 3.7-34.9 20.5-40.3L311 79.4l19.8 60.9 60.9-19.8-19.9-60.9 45.7-14.8c16.8-5.5 34.9 3.7 40.3 20.5l49.4 152.2c5.5 16.8-3.7 34.9-20.5 40.3l-152.2 49.4c-16.8 5.5-34.9-3.7-40.3-20.5l-49.4-152.2z"/></symbol><symbol class="cesvg-inline--fa cefa-door-closed" viewBox="0 0 576 512" id="fas-door-closed" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M96 64c0-35.3 28.7-64 64-64h256c35.3 0 64 28.7 64 64v384h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h64V64zm288 224a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"/></symbol><symbol class="cfsvg-inline--fa cffa-door-open" viewBox="0 0 576 512" id="fas-door-open" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M320 32c0-9.9-4.5-19.2-12.3-25.2S289.8-1.4 280.2 1L100.3 46C79 51.3 64 70.5 64 92.5V448H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h288V32zm-64 224c0 17.7-10.7 32-24 32s-24-14.3-24-32 10.7-32 24-32 24 14.3 24 32zm96-128h96v352c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32s-14.3-32-32-32h-32V128c0-35.3-28.7-64-64-64h-96v64z"/></symbol><symbol class="cgsvg-inline--fa cgfa-dove" viewBox="0 0 512 512" id="fas-dove" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M160.8 96.5c14 17 31 30.9 49.5 42.2 25.9 15.8 53.7 25.9 77.7 31.6v-31.5c-22.2-30.3-38-67.3-39.4-110.8-.4-11.3-7.5-21.5-18.4-24.4-7.6-2-15.8-.2-21 5.8-13.3 15.4-32.7 44.6-48.4 87.2zM320 144v64c-60.8-5.1-185-43.8-219.3-157.2C97.4 40 87.9 32 76.6 32c-7.9 0-15.3 3.9-18.8 11C46.8 65.9 32 112.1 32 176c0 116.9 80.1 180.5 118.4 202.8L11.8 416.6C6.7 418 2.6 421.8.9 426.8s-.8 10.6 2.3 14.8C21.7 466.2 77.3 512 160 512c3.6 0 7.2-1.2 10-3.5l75.6-60.5H320c88.4 0 160-71.6 160-160V128l29.9-44.9c1.3-2 2.1-4.4 2.1-6.8 0-6.8-5.5-12.3-12.3-12.3H400c-44.2 0-80 35.8-80 80zm80-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32z"/></symbol><symbol class="chsvg-inline--fa chfa-compass-drafting" viewBox="0 0 512 512" id="fas-drafting-compass" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M352 96c0 14.3-3.1 27.9-8.8 40.2l52.8 91.2c-23.7 25.3-54.2 44.1-88.5 53.6L256 192l-68 117.5c21.5 6.8 44.3 10.5 68.1 10.5 70.7 0 133.8-32.7 174.9-84 11.1-13.8 31.2-16 45-5s16 31.2 5 45c-52.9 65.8-134 108-225 108-35.4 0-69.4-6.4-100.7-18.1l-56.6 97.8c-4.7 8.1-11.7 14.7-20.1 18.9l-55.4 27.7c-5 2.5-10.9 2.2-15.6-.7S0 501.5 0 496v-55.4c0-8.4 2.2-16.7 6.5-24.1l60-103.7c-12.8-11.2-24.7-23.5-35.3-36.8-11.1-13.8-8.8-33.9 5-45s33.9-8.8 45 5c5.7 7.1 11.8 13.8 18.2 20.1l69.4-119.9C163.2 124 160 110.4 160 96c0-53 43-96 96-96s96 43 96 96zm21 297.9c32.6-12.8 62.5-30.8 88.9-52.9l43.7 75.5c4.2 7.3 6.5 15.6 6.5 24.1V496c0 5.5-2.9 10.7-7.6 13.6s-10.6 3.2-15.6.7l-55.4-27.7c-8.4-4.2-15.4-10.8-20.1-18.9L373 393.9zM256 128a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"/></symbol><symbol class="cisvg-inline--fa cifa-dragon" viewBox="0 0 640 512" id="fas-dragon" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="m352 124.5-51.9-13c-6.5-1.6-11.3-7.1-12-13.8s2.8-13.1 8.7-16.1l40.8-20.4-43.2-32.4c-5.5-4.1-7.8-11.3-5.6-17.9S297.1 0 304 0h160c30.2 0 58.7 14.2 76.8 38.4l57.6 76.8c6.2 8.3 9.6 18.4 9.6 28.8 0 26.5-21.5 48-48 48h-21.5c-17 0-33.3-6.7-45.3-18.7L480 160h-32v21.5c0 24.8 12.8 47.9 33.8 61.1l106.6 66.6c32.1 20.1 51.6 55.2 51.6 93.1 0 60.6-49.1 109.7-109.8 109.7H32.3c-3.3 0-6.6-.4-9.6-1.4-9.2-2.8-16.7-9.6-20.3-18.5C1 488.7.2 485.2 0 481.4c-.2-3.7.3-7.3 1.3-10.7 2.8-9.2 9.6-16.7 18.6-20.4 3-1.2 6.2-2 9.5-2.2L433.3 412c8.3-.7 14.7-7.7 14.7-16.1 0-4.3-1.7-8.4-4.7-11.4l-44.4-44.4c-30-30-46.9-70.7-46.9-113.1V124.5zm160-52.2v-.6.6zm-1.3 7.4-46.4-11.6c-.2 1.3-.3 2.6-.3 3.9 0 13.3 10.7 24 24 24 10.6 0 19.5-6.8 22.7-16.3zm-379.8 36.8c16.3-14.5 40.4-16.2 58.5-4.1l130.6 87V227c0 32.8 8.4 64.8 24 93H112c-6.7 0-12.7-4.2-15-10.4s-.5-13.3 4.6-17.7l69.4-59.6-152.6 23.5c-7 1.1-13.9-2.6-16.9-9S0 232.7 5.3 228l125.6-111.5z"/></symbol><symbol class="cjsvg-inline--fa cjfa-drumstick-bite" viewBox="0 0 512 512" id="fas-drumstick-bite" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M160 265.2c0 8.5-3.4 16.6-9.4 22.6l-26.8 26.8c-12.3 12.3-32.5 11.4-49.4 7.2-4.6-1.2-9.4-1.8-14.4-1.8-33.1 0-60 26.9-60 60s26.9 60 60 60c6.3 0 12 5.7 12 12 0 33.1 26.9 60 60 60s60-26.9 60-60c0-5-.6-9.8-1.8-14.5-4.2-16.9-5.2-37.1 7.2-49.4l26.8-26.8c6-6 14.1-9.4 22.6-9.4H336c6.3 0 12.4-.3 18.5-1 11.9-1.2 16.4-15.5 10.8-26-8.5-15.8-13.3-33.8-13.3-53 0-61.9 50.1-112 112-112 8 0 15.7.8 23.2 2.4 11.7 2.5 24.1-5.9 22-17.6C494.5 62.5 422.5 0 336 0c-97.2 0-176 78.8-176 176v89.2z"/></symbol><symbol class="cksvg-inline--fa ckfa-dumbbell" viewBox="0 0 640 512" id="fas-dumbbell" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M96 64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32v384c0 17.7-14.3 32-32 32h-32c-17.7 0-32-14.3-32-32v-64H64c-17.7 0-32-14.3-32-32v-64c-17.7 0-32-14.3-32-32s14.3-32 32-32v-64c0-17.7 14.3-32 32-32h32V64zm448 0v64h32c17.7 0 32 14.3 32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32v64c0 17.7-14.3 32-32 32h-32v64c0 17.7-14.3 32-32 32h-32c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32zM416 224v64H224v-64h192z"/></symbol><symbol class="cmsvg-inline--fa cmfa-dumpster" viewBox="0 0 576 512" id="fas-dumpster" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M49.7 32c-10.5 0-19.8 6.9-22.9 16.9L.9 133c-.6 2-.9 4.1-.9 6.1C0 150.7 9.3 160 20.9 160h94l25.6-128H49.7zM272 160V32h-98.9l-25.6 128H272zm32 0h124.5L402.9 32H304v128zm157.1 0h94c11.5 0 20.9-9.3 20.9-20.9 0-2.1-.3-4.1-.9-6.1l-25.9-84.1c-3.1-10-12.4-16.9-22.9-16.9h-90.8l25.6 128zM32 192l4 32h-4c-17.7 0-32 14.3-32 32s14.3 32 32 32h12l20 160c0 17.7 14.3 32 32 32s32-14.3 32-32h320c0 17.7 14.3 32 32 32s32-14.3 32-32l20-160h12c17.7 0 32-14.3 32-32s-14.3-32-32-32h-4l4-32H32z"/></symbol><symbol class="clsvg-inline--fa clfa-dumpster-fire" viewBox="0 0 640 512" id="fas-dumpster-fire" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M49.7 32c-10.5 0-19.8 6.9-22.9 16.9L.9 133c-.6 2-.9 4.1-.9 6.1C0 150.7 9.3 160 20.9 160h94l25.6-128H49.7zM272 160V32h-98.9l-25.6 128H272zm32 0h58c15.1-18.1 32.1-35.7 50.5-52.1 1.5-1.4 3.2-2.6 4.8-3.8L402.9 32H304v128zm209.9-23.7c17.4-15.8 43.9-16.2 61.7-1.2-.1-.7-.3-1.4-.5-2.1l-25.9-84.1c-3.1-10-12.4-16.9-22.9-16.9h-90.8l12.8 64.2c9.6 1 19 4.9 26.6 11.8 11.7 10.6 23 21.6 33.9 33.1 1.6-1.6 3.3-3.2 5-4.8zm-188.7 74.4c3.8-6.2 7.9-12.5 12.3-18.7H32l4 32h-4c-17.7 0-32 14.3-32 32s14.3 32 32 32h12l20 160c0 17.7 14.3 32 32 32s32-14.3 32-32h209.6c-31-34.7-49.6-80.6-49.6-129.9 0-35.2 16.3-73.6 37.2-107.4zm128.4-78.9c-2.8-2.5-6.3-3.7-9.8-3.8-3.6 0-7.2 1.2-10 3.7-33.2 29.7-61.4 63.4-81.4 95.8-19.7 31.9-32.4 66.2-32.4 92.6 0 87.8 70.3 159.9 160 159.9 88.7 0 160-72 160-159.8 0-20.2-9.6-50.9-24.2-79-14.8-28.5-35.7-58.5-60.4-81.1-5.6-5.1-14.4-5.2-20 0-9.6 8.8-18.6 19.6-26.5 29.5-17.3-20.7-35.8-39.9-55.5-57.7zM530 401c-15 10-31 15-49 15-45 0-81-29-81-78 0-24 15-45 45-82 4 5 62 79 62 79l36-42c3 4 5 8 7 12 18 33 10 75-20 96z"/></symbol><symbol class="cnsvg-inline--fa cnfa-dungeon" viewBox="0 0 512 512" id="fas-dungeon" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M336.6 156.5c1.3 1.1 2.7 2.2 3.9 3.3 9.3 8.2 23 10.5 33.4 3.6l67.6-45.1c11.4-7.6 14.2-23.2 5.1-33.4-16.6-18.3-35.7-34.3-56.9-47.3-11.9-7.3-26.9-1.4-32.1 11.6l-30.5 76.2c-4.5 11.1.2 23.6 9.5 31.2zM328 36.8c5.1-12.8-1.6-27.4-15-30.5C294.7 2.2 275.6 0 256 0s-38.7 2.2-57 6.4c-13.5 3-20.2 17.6-15 30.4l30.3 75.8c4.5 11.3 16.8 17.2 29 16 4.2-.4 8.4-.6 12.7-.6s8.6.2 12.7.6c12.1 1.2 24.4-4.7 29-16L328 36.8zM65.5 85c-9.1 10.2-6.3 25.8 5.1 33.4l67.6 45.1c10.3 6.9 24.1 4.6 33.4-3.6 1.3-1.1 2.6-2.3 4-3.3 9.3-7.5 13.9-20.1 9.5-31.2l-30.7-76.2c-5.2-12.9-20.3-18.8-32.1-11.6-21.2 13-40.3 29-56.8 47.4zm314 137.1c.9 3.3 1.7 6.6 2.3 10 2.5 13 13 23.9 26.2 23.9h80c13.3 0 24.1-10.8 22.9-24-2.5-27.2-9.3-53.2-19.7-77.3-5.5-12.9-21.4-16.6-33.1-8.9l-68.6 45.7c-9.8 6.5-13.2 19.2-10 30.5zM53.9 145.8c-11.6-7.8-27.6-4-33.1 8.9C10.4 178.8 3.6 204.8 1.1 232c-1.2 13.2 9.6 24 22.9 24h80c13.3 0 23.8-10.8 26.2-23.9.6-3.4 1.4-6.7 2.3-10 3.1-11.4-.2-24-10-30.5l-68.6-45.8zM104 288H24c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24v-48c0-13.3-10.7-24-24-24zm304 0c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24v-48c0-13.3-10.7-24-24-24h-80zM24 416c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24v-48c0-13.3-10.7-24-24-24H24zm384 0c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24v-48c0-13.3-10.7-24-24-24h-80zM272 192c0-8.8-7.2-16-16-16s-16 7.2-16 16v272c0 8.8 7.2 16 16 16s16-7.2 16-16V192zm-64 32c0-8.8-7.2-16-16-16s-16 7.2-16 16v240c0 8.8 7.2 16 16 16s16-7.2 16-16V224zm128 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v240c0 8.8 7.2 16 16 16s16-7.2 16-16V224z"/></symbol><symbol class="cosvg-inline--fa cofa-eye" viewBox="0 0 576 512" id="fas-eye" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4 142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1 3.3-7.9 3.3-16.7 0-24.6-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM144 256a144 144 0 1 1 288 0 144 144 0 1 1-288 0zm144-64c0 35.3-28.7 64-64 64-7.1 0-13.9-1.2-20.3-3.3-5.5-1.8-11.9 1.6-11.7 7.4.3 6.9 1.3 13.8 3.2 20.7 13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-11.1-41.5-47.8-69.4-88.6-71.1-5.8-.2-9.2 6.1-7.4 11.7 2.1 6.4 3.3 13.2 3.3 20.3z"/></symbol><symbol class="cpsvg-inline--fa cpfa-film" viewBox="0 0 512 512" id="fas-film" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M0 96c0-35.3 28.7-64 64-64h384c35.3 0 64 28.7 64 64v320c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm48 272v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zm368-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-32zM48 240v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zm368-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-32zM48 112v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zm368-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-32zm-256 32v64c0 17.7 14.3 32 32 32h128c17.7 0 32-14.3 32-32v-64c0-17.7-14.3-32-32-32H192c-17.7 0-32 14.3-32 32zm32 160c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h128c17.7 0 32-14.3 32-32v-64c0-17.7-14.3-32-32-32H192z"/></symbol><symbol class="cqsvg-inline--fa cqfa-fire-extinguisher" viewBox="0 0 512 512" id="fas-fire-extinguisher" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M500.3 7.3c7.4 6 11.7 15.1 11.7 24.7v96c0 9.6-4.3 18.7-11.7 24.7s-17.2 8.5-26.6 6.6l-160-32c-12.2-2.4-21.7-11.6-24.7-23.3h-65v34.8c37.8 18 64 56.5 64 101.2v144H64V240c0-44.7 26.2-83.2 64-101.2V110c-36.2 11.1-66 36.9-82.3 70.5-5.8 11.9-20.2 16.9-32.1 11.1s-16.9-20.2-11.1-32.1C26.7 109.8 72.7 72.6 128 60.4V32c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32v24h65c3-11.7 12.5-20.9 24.7-23.4l160-32c9.4-1.9 19.1.6 26.6 6.6zM288 416v32c0 35.3-28.7 64-64 64h-96c-35.3 0-64-28.7-64-64v-32h224zM176 96a16 16 0 1 0 0-32 16 16 0 1 0 0 32z"/></symbol><symbol class="crsvg-inline--fa crfa-fish" viewBox="0 0 576 512" id="fas-fish" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M180.5 141.5C219.7 108.5 272.6 80 336 80s116.3 28.5 155.5 61.5c39.1 33 66.9 72.4 81 99.8 4.7 9.2 4.7 20.1 0 29.3-14.1 27.4-41.9 66.8-81 99.8C452.3 403.5 399.4 432 336 432s-116.3-28.5-155.5-61.5c-16.2-13.7-30.5-28.5-42.7-43.1l-89.7 52.2c-12.5 7.3-28.4 5.3-38.7-4.9s-12.4-26-5.2-38.6L50 256 4.2 175.9c-7.2-12.6-5-28.4 5.3-38.6s26.1-12.2 38.7-4.9l89.7 52.3c12.2-14.6 26.5-29.4 42.7-43.1zM448 256a32 32 0 1 0-64 0 32 32 0 1 0 64 0z"/></symbol><symbol class="cssvg-inline--fa csfa-flask" viewBox="0 0 448 512" id="fas-flask" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M288 0H128c-17.7 0-32 14.3-32 32s14.3 32 32 32v132.8c0 11.8-3.3 23.5-9.5 33.5L10.3 406.2C3.6 417.2 0 429.7 0 442.6 0 480.9 31.1 512 69.4 512h309.2c38.3 0 69.4-31.1 69.4-69.4 0-12.8-3.6-25.4-10.3-36.4L329.5 230.4c-6.2-10.1-9.5-21.7-9.5-33.5V64c17.7 0 32-14.3 32-32S337.7 0 320 0h-32zm-96 196.8V64h64v132.8c0 23.7 6.6 46.9 19 67.1l34.5 56.1h-171l34.5-56.1c12.4-20.2 19-43.4 19-67.1z"/></symbol><symbol class="ctsvg-inline--fa ctfa-frog" viewBox="0 0 576 512" id="fas-frog" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M368 32c41.7 0 75.9 31.8 79.7 72.5l85.6 26.3c25.4 7.8 42.8 31.3 42.8 57.9 0 21.8-11.7 41.9-30.7 52.7l-144.6 82.1 92.5 92.5H544c17.7 0 32 14.3 32 32s-14.3 32-32 32h-64c-8.5 0-16.6-3.4-22.6-9.4L346.9 360.2c11.7-36 3.2-77.1-25.4-105.7-40.6-40.6-106.3-40.6-146.9-.1l-73.6 70c-6.4 6.1-6.7 16.2-.6 22.6s16.2 6.6 22.6.6l73.8-70.2.1-.1.1-.1c3.5-3.5 7.3-6.6 11.3-9.2 27.9-18.5 65.9-15.4 90.5 9.2 24.7 24.7 27.7 62.9 9 90.9-2.6 3.8-5.6 7.5-9 10.9l-37 37H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H64c-35.3 0-64-28.7-64-64C0 249.6 127 112.9 289.3 97.5 296.2 60.2 328.8 32 368 32zm0 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48z"/></symbol><symbol class="cusvg-inline--fa cufa-futbol" viewBox="0 0 512 512" id="fas-futbol" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="m417.3 360.1-71.6-4.8c-5.2-.3-10.3 1.1-14.5 4.2s-7.2 7.4-8.4 12.5l-17.6 69.6c-15.7 4.2-32.2 6.4-49.2 6.4s-33.5-2.2-49.2-6.4L189.2 372c-1.3-5-4.3-9.4-8.4-12.5s-9.3-4.5-14.5-4.2l-71.6 4.8c-17.6-27.2-28.5-59.2-30.4-93.6l60.7-38.2c4.4-2.8 7.6-7 9.2-11.9s1.4-10.2-.5-15L107 134.8c21-25.6 48.3-45.8 79.7-57.9l55.2 46c4 3.3 9 5.1 14.1 5.1s10.2-1.8 14.1-5.1l55.2-46c31.3 12.1 58.7 32.3 79.6 57.9l-26.7 66.6c-1.9 4.8-2.1 10.1-.5 15s4.9 9.1 9.2 11.9l60.7 38.2c-1.9 34.4-12.8 66.4-30.4 93.6zM256 512a256 256 0 1 0 0-512 256 256 0 1 0 0 512zm14.1-325.7c-8.4-6.1-19.8-6.1-28.2 0L194 221c-8.4 6.1-11.9 16.9-8.7 26.8l18.3 56.3c3.2 9.9 12.4 16.6 22.8 16.6h59.2c10.4 0 19.6-6.7 22.8-16.6l18.3-56.3c3.2-9.9-.3-20.7-8.7-26.8l-47.9-34.8z"/></symbol><symbol class="cvsvg-inline--fa cvfa-gavel" viewBox="0 0 512 512" id="fas-gavel" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M318.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-120 120c-12.5 12.5-12.5 32.8 0 45.3l16 16c12.5 12.5 32.8 12.5 45.3 0l4-4 106.8 106.7-4 4c-12.5 12.5-12.5 32.8 0 45.3l16 16c12.5 12.5 32.8 12.5 45.3 0l120-120c12.5-12.5 12.5-32.8 0-45.3l-16-16c-12.5-12.5-32.8-12.5-45.3 0l-4 4L330.6 74.6l4-4c12.5-12.5 12.5-32.8 0-45.3l-16-16zm-152 288c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l48 48c12.5 12.5 32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-1.4-1.4 58.8-58.7-45.3-45.3-58.7 58.7-1.4-1.4z"/></symbol><symbol class="cwsvg-inline--fa cwfa-guitar" viewBox="0 0 512 512" id="fas-guitar" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M465 7c-9.4-9.4-24.6-9.4-33.9 0L383 55c-2.4 2.4-4.3 5.3-5.5 8.5l-15.4 41-77.5 77.6c-45.1-29.4-99.3-30.2-131 1.6-11 11-18 24.6-21.4 39.6-3.7 16.6-19.1 30.7-36.1 31.6-25.6 1.3-49.3 10.7-67.3 28.6-44.8 44.9-36.4 125.9 18.7 181s136.1 63.5 180.9 18.7c17.9-17.9 27.4-41.7 28.6-67.3.9-17 15-32.3 31.6-36.1 15-3.4 28.6-10.5 39.6-21.4 31.8-31.8 31-85.9 1.6-131l77.6-77.6 41-15.4c3.2-1.2 6.1-3.1 8.5-5.5l48-48c9.4-9.4 9.4-24.6 0-33.9L465 7zM208 256a48 48 0 1 1 0 96 48 48 0 1 1 0-96z"/></symbol><symbol class="cxsvg-inline--fa cxfa-hammer" viewBox="0 0 576 512" id="fas-hammer" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M413.5 237.5c-28.2 4.8-58.2-3.6-80-25.4L295.4 174c-15-15-23.4-35.2-23.4-56.4v-12.1L192.3 62c-5.3-2.9-8.6-8.6-8.3-14.7s3.9-11.5 9.5-14l47.2-21C259.1 4.2 279 0 299.2 0h18.1c36.7 0 72 14 98.7 39.1l44.6 42c24.2 22.8 33.2 55.7 26.6 86L503 183l8-8c9.4-9.4 24.6-9.4 33.9 0l24 24c9.4 9.4 9.4 24.6 0 33.9l-88 88c-9.4 9.4-24.6 9.4-33.9 0l-24-24c-9.4-9.4-9.4-24.6 0-33.9l8-8-17.5-17.5zM27.4 377.1l233.5-194.5c3.5 4.9 7.5 9.6 11.8 14l38.1 38.1c6 6 12.4 11.2 19.2 15.7L134.9 484.6C120.4 502 98.9 512 76.3 512 34.1 512 0 477.8 0 435.7c0-22.6 10.1-44.1 27.4-58.6z"/></symbol><symbol class="cysvg-inline--fa cyfa-handshake" viewBox="0 0 640 512" id="fas-handshake" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="m323.4 85.2-96.8 78.4c-16.1 13-19.2 36.4-7 53.1 12.9 17.8 38 21.3 55.3 7.8l99.3-77.2c7-5.4 17-4.2 22.5 2.8s4.2 17-2.8 22.5L373 188.8l139 128V128h-.7l-3.9-2.5L434.8 79c-15.3-9.8-33.2-15-51.4-15-21.8 0-43 7.5-60 21.2zm22.8 124.4-51.7 40.2c-31.5 24.6-77.2 18.2-100.8-14.2-22.2-30.5-16.6-73.1 12.7-96.8l83.2-67.3c-11.6-4.9-24.1-7.4-36.8-7.4C234 64 215.7 69.6 200 80l-72 48v224h28.2l91.4 83.4c19.6 17.9 49.9 16.5 67.8-3.1 5.5-6.1 9.2-13.2 11.1-20.6l17 15.6c19.5 17.9 49.9 16.6 67.8-2.9 4.5-4.9 7.8-10.6 9.9-16.5 19.4 13 45.8 10.3 62.1-7.5 17.9-19.5 16.6-49.9-2.9-67.8l-134.2-123zM16 128c-8.8 0-16 7.2-16 16v208c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V128H16zm32 192a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm496-192v224c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V144c0-8.8-7.2-16-16-16h-80zm32 208a16 16 0 1 1 32 0 16 16 0 1 1-32 0z"/></symbol><symbol class="czsvg-inline--fa czfa-hashtag" viewBox="0 0 448 512" id="fas-hashtag" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M181.3 32.4c17.4 2.9 29.2 19.4 26.3 36.8l-9.8 58.8h95.1l11.5-69.3c2.9-17.4 19.4-29.2 36.8-26.3s29.2 19.4 26.3 36.8l-9.7 58.8H416c17.7 0 32 14.3 32 32s-14.3 32-32 32h-68.9l-21.3 128H384c17.7 0 32 14.3 32 32s-14.3 32-32 32h-68.9l-11.5 69.3c-2.9 17.4-19.4 29.2-36.8 26.3s-29.2-19.4-26.3-36.8l9.8-58.7h-95.2l-11.5 69.3c-2.9 17.4-19.4 29.2-36.8 26.3s-29.2-19.4-26.3-36.8l9.7-58.9H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h68.9l21.3-128H64c-17.7 0-32-14.3-32-32s14.3-32 32-32h68.9l11.5-69.3c2.9-17.4 19.4-29.2 36.8-26.3zm5.8 159.6-21.3 128h95.1l21.3-128h-95.1z"/></symbol><symbol class="dasvg-inline--fa dafa-hat-cowboy-side" viewBox="0 0 640 512" id="fas-hat-cowboy-side" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="m152.7 135.9-10.4 57.2c6.8-.7 13.6-1.1 20.5-1.1h10.7c39.4 0 77.8 12.1 110.1 34.7l278.8 195.1 35.1 24.6c24.4-6 42.5-28.1 42.5-54.4 0-75.8-94.7-126.6-134.6-144.7L474 83.9C468.2 53.8 441.8 32 411.1 32h-2.7c-5.6 0-11.1.7-16.5 2.2L199.2 85.5c-23.9 6.4-42 26-46.5 50.4zM0 384c0 35.3 28.7 64 64 64h480L265.3 252.9c-26.9-18.8-58.9-28.9-91.8-28.9h-10.6c-60.6 0-116 34.2-143.1 88.4L13.5 325C4.6 342.7 0 362.3 0 382.2v1.8z"/></symbol><symbol class="dbsvg-inline--fa dbfa-person-hiking" viewBox="0 0 384 512" id="fas-hiking" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M192 48a48 48 0 1 1 96 0 48 48 0 1 1-96 0zm51.3 182.7L224.2 307l49.7 49.7c9 9 14.1 21.2 14.1 33.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32v-82.7l-73.9-73.9c-15.8-15.8-22.2-38.6-16.9-60.3l20.4-84c8.3-34.1 42.7-54.9 76.7-46.4 19 4.8 35.6 16.4 46.4 32.7l28.4 42.6H336v-24c0-13.3 10.7-24 24-24s24 10.7 24 24v304c0 13.3-10.7 24-24 24s-24-10.7-24-24V272h-39.4c-16 0-31-8-39.9-21.4l-13.3-20zM81.1 471.9 117.3 334c3 4.2 6.4 8.2 10.1 11.9l41.9 41.9-26.4 100.3c-4.5 17.1-22 27.3-39.1 22.8s-27.3-22-22.8-39.1zm55.5-346-35.2 140.6c-3 12.1-14.9 19.9-27.2 17.9l-47.9-8c-14-2.3-22.9-16.3-19.2-30L31.9 155c9.5-34.8 41.1-59 77.2-59h4.2c15.6 0 27.1 14.7 23.3 29.8z"/></symbol><symbol class="dcsvg-inline--fa dcfa-horse" viewBox="0 0 576 512" id="fas-horse" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M448 238.1V160h16l9.8 19.6c12.5 25.1 42.2 36.4 68.3 26 20.5-8.2 33.9-28 33.9-50.1V80c0-19.1-8.4-36.3-21.7-48h5.7c8.8 0 16-7.2 16-16s-7.2-16-16-16H448c-70.7 0-128 57.3-128 128H148.8c-30.7 0-57.6 16.3-72.5 40.8C33.2 174.5 0 211.4 0 256v56c0 13.3 10.7 24 24 24s24-10.7 24-24v-56c0-13.4 6.6-25.2 16.7-32.5 1.6 13 6.3 25.4 13.6 36.4l28.2 42.4c8.3 12.4 6.4 28.7-1.2 41.6-16.5 28-20.6 62.2-10 93.9l17.5 52.4c4.4 13.1 16.6 21.9 30.4 21.9h33.7c21.8 0 37.3-21.4 30.4-42.1l-20.8-62.5c-2.1-6.4-.5-13.4 4.3-18.2l12.7-12.7c13.2-13.2 20.6-31.1 20.6-49.7 0-2.3-.1-4.6-.3-6.9l84 24c4.1 1.2 8.2 2.1 12.3 2.8V480c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V315.7c19.2-19.2 31.5-45.7 32-75.7v-1.9zM496 64a16 16 0 1 1 0 32 16 16 0 1 1 0-32z"/></symbol><symbol class="ddsvg-inline--fa ddfa-hospital" viewBox="0 0 640 512" id="fas-hospital-alt" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M192 48c0-26.5 21.5-48 48-48h160c26.5 0 48 21.5 48 48v464h-80v-80c0-26.5-21.5-48-48-48s-48 21.5-48 48v80h-80V48zM48 96h112v416H48c-26.5 0-48-21.5-48-48V320h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H0v-64h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H0v-48c0-26.5 21.5-48 48-48zm544 0c26.5 0 48 21.5 48 48v48h-80c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v64h-80c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v144c0 26.5-21.5 48-48 48H480V96h112zM312 64c-8.8 0-16 7.2-16 16v24h-24c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h24v24c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16v-24h24c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16h-24V80c0-8.8-7.2-16-16-16h-16z"/></symbol><symbol class="desvg-inline--fa defa-hotdog" viewBox="0 0 512 512" id="fas-hotdog" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M488.6 23.4c31.2 31.2 31.2 81.9 0 113.1l-352 352c-31.2 31.2-81.9 31.2-113.1 0s-31.2-81.9 0-113.1l352-352c31.2-31.2 81.9-31.2 113.1 0zm-45.3 69.3c-6.2-6.2-16.4-6.2-22.6 0-12.5 12.5-23.8 15.1-37.5 17.6l-2.5.4c-13.8 2.5-31.6 5.6-48 22-16.7 16.7-20.9 36-24.1 50.9l-.2 1c-3.4 15.6-6 26.4-15.7 36.1s-20.5 12.3-36.1 15.7l-1 .2c-14.9 3.2-34.2 7.4-50.9 24.1s-20.9 36-24.1 50.9l-.2 1c-3.4 15.6-6 26.4-15.7 36.1-9.2 9.2-18 10.8-32.7 13.4l-.9.2c-15.6 2.8-34.9 6.9-54.4 26.4-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0c12.5-12.5 23.8-15.1 37.5-17.6l2.5-.4c13.8-2.5 31.6-5.6 48-22 16.7-16.7 20.9-36 24.1-50.9l.2-1c3.4-15.6 6-26.4 15.7-36.1s20.5-12.3 36.1-15.7l1-.2c14.9-3.2 34.2-7.4 50.9-24.1s20.9-36 24.1-50.9l.2-1c3.4-15.6 6-26.4 15.7-36.1 9.2-9.2 18-10.8 32.7-13.4l.9-.2c15.6-2.8 34.9-6.9 54.4-26.4 6.2-6.2 6.2-16.4 0-22.6zM191.2 479.2l288-288L495 207c10.9 10.9 17 25.6 17 41s-6.1 30.1-17 41L289 495c-10.9 10.9-25.6 17-41 17s-30.1-6.1-41-17l-15.8-15.8zM17 305C6.1 294.1 0 279.4 0 264s6.1-30.1 17-41L223 17c10.9-10.9 25.6-17 41-17s30.1 6.1 41 17l15.8 15.8-288 288L17 305z"/></symbol><symbol class="dfsvg-inline--fa dffa-hotel" viewBox="0 0 512 512" id="fas-hotel" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M0 32C0 14.3 14.3 0 32 0h448c17.7 0 32 14.3 32 32s-14.3 32-32 32v384c17.7 0 32 14.3 32 32s-14.3 32-32 32H304v-48c0-26.5-21.5-48-48-48s-48 21.5-48 48v48H32c-17.7 0-32-14.3-32-32s14.3-32 32-32V64C14.3 64 0 49.7 0 32zm96 80v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-32zm112 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16zm-240 80c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-32zm112 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-32zm-40 192c13.3 0 24.3-10.9 21-23.8-10.6-41.5-48.2-72.2-93-72.2s-82.5 30.7-93 72.2c-3.3 12.8 7.8 23.8 21 23.8h144z"/></symbol><symbol class="dgsvg-inline--fa dgfa-house-chimney-crack" viewBox="0 0 576 512" id="fas-house-damage" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c.2 35.5-28.5 64.3-64 64.3H326.4L288 448l80.8-67.3c7.8-6.5 7.6-18.6-.4-24.9l-117.8-92.6c-14.6-11.5-33.8 7-22.8 22L288 368l-85.5 71.2c-6.1 5-7.5 13.8-3.5 20.5l31.4 52.3H128.1c-35.3 0-64-28.7-64-64V287.6H32c-18 0-32-14-32-32.1 0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L416 100.7V64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32v121l52.8 46.4c8 7 12 15 11 24z"/></symbol><symbol class="dhsvg-inline--fa dhfa-house-fire" viewBox="0 0 640 512" id="fas-house-fire" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M288 350.1v1.9h-32c-17.7 0-32 14.3-32 32v88c0 22.1-17.9 40-40 40h-55.9c-1.5 0-3-.1-4.5-.2-1.2.1-2.4.2-3.6.2h-16c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9.1-2.8v-69.6H32c-18 0-32-14-32-32.1 0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7l137.9 121.1c-12.3-1-25 3-34.8 11.7-35.4 31.6-65.6 67.7-87.3 102.8-20.9 33.9-37.2 72.3-37.2 107.5zm165.5-186.3c19.7 17.8 38.2 37 55.5 57.7 7.9-9.9 16.8-20.7 26.5-29.5 5.6-5.1 14.4-5.1 20 0 24.7 22.7 45.6 52.7 60.4 81.1 14.5 28 24.2 58.8 24.2 79C640 440 568.7 512 480 512c-89.7 0-160-72.1-160-159.8 0-26.4 12.7-60.7 32.4-92.6 20-32.4 48.1-66.1 81.4-95.8 2.8-2.5 6.4-3.8 10-3.7 3.5 0 7 1.3 9.8 3.8zM530 433c30-21 38-63 20-96-2-4-4-8-7-12l-36 42s-58-74-62-79c-30 37-45 58-45 82 0 49 36 78 81 78 18 0 34-5 49-15z"/></symbol><symbol class="disvg-inline--fa difa-i-cursor" viewBox="0 0 256 512" id="fas-i-cursor" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M.1 29.3C-1.4 47 11.7 62.4 29.3 63.9l8 .7C70.5 67.3 96 95 96 128.3V224H64c-17.7 0-32 14.3-32 32s14.3 32 32 32h32v95.7c0 33.3-25.5 61-58.7 63.8l-8 .7C11.7 449.6-1.4 465 .1 482.7s16.9 30.7 34.5 29.2l8-.7c34.1-2.8 64.2-18.9 85.4-42.9 21.2 24 51.2 40.1 85.4 42.9l8 .7c17.6 1.5 33.1-11.6 34.5-29.2s-11.6-33.1-29.2-34.5l-8-.7c-33.2-2.8-58.7-30.5-58.7-63.8V288h32c17.7 0 32-14.3 32-32s-14.3-32-32-32h-32v-95.7c0-33.3 25.5-61 58.7-63.8l8-.7c17.6-1.5 30.7-16.9 29.2-34.5S239-1.4 221.3.1l-8 .7c-34.1 2.8-64.1 18.9-85.3 42.9-21.2-24-51.2-40-85.4-42.9l-8-.7C17-1.4 1.6 11.7.1 29.3z"/></symbol><symbol class="djsvg-inline--fa djfa-ice-cream" viewBox="0 0 448 512" id="fas-ice-cream" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M367.1 160c.6-5.3.9-10.6.9-16C368 64.5 303.5 0 224 0S80 64.5 80 144c0 5.4.3 10.7.9 16H80c-26.5 0-48 21.5-48 48s21.5 48 48 48h288c26.5 0 48-21.5 48-48s-21.5-48-48-48h-.9zM96 288l104.8 209.7c4.4 8.8 13.3 14.3 23.2 14.3s18.8-5.5 23.2-14.3L352 288H96z"/></symbol><symbol class="dksvg-inline--fa dkfa-jar" viewBox="0 0 320 512" id="fas-jar" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M32 32C32 14.3 46.3 0 64 0h192c17.7 0 32 14.3 32 32s-14.3 32-32 32H64c-17.7 0-32-14.3-32-32zM0 160c0-35.3 28.7-64 64-64h192c35.3 0 64 28.7 64 64v288c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160zm96 64c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32h128c17.7 0 32-14.3 32-32v-96c0-17.7-14.3-32-32-32H96z"/></symbol><symbol class="dlsvg-inline--fa dlfa-key" viewBox="0 0 512 512" id="fas-key" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M336 352c97.2 0 176-78.8 176-176S433.2 0 336 0 160 78.8 160 176c0 18.7 2.9 36.8 8.3 53.7L7 391c-4.5 4.5-7 10.6-7 17v80c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24v-40h40c13.3 0 24-10.7 24-24v-40h40c6.4 0 12.5-2.5 17-7l33.3-33.3c16.9 5.4 35 8.3 53.7 8.3zm40-256a40 40 0 1 1 0 80 40 40 0 1 1 0-80z"/></symbol><symbol class="dmsvg-inline--fa dmfa-laptop" viewBox="0 0 640 512" id="fas-laptop" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M128 32c-35.3 0-64 28.7-64 64v256h64V96h384v256h64V96c0-35.3-28.7-64-64-64H128zM19.2 384C8.6 384 0 392.6 0 403.2 0 445.6 34.4 480 76.8 480h486.4c42.4 0 76.8-34.4 76.8-76.8 0-10.6-8.6-19.2-19.2-19.2H19.2z"/></symbol><symbol class="dnsvg-inline--fa dnfa-leaf" viewBox="0 0 512 512" id="fas-leaf" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M272 96c-78.6 0-145.1 51.5-167.7 122.5 33.6-17 71.5-26.5 111.7-26.5h88c8.8 0 16 7.2 16 16s-7.2 16-16 16h-88c-16.6 0-32.7 1.9-48.2 5.4-25.9 5.9-50 16.4-71.4 30.7C38.3 298.8 0 364.9 0 440v16c0 13.3 10.7 24 24 24s24-10.7 24-24v-16c0-48.7 20.7-92.5 53.8-123.2C121.6 392.3 190.3 448 272 448h1c132.1-.7 239-130.9 239-291.4 0-42.6-7.5-83.1-21.1-119.6-2.6-6.9-12.7-6.6-16.2-.1C455.9 72.1 418.7 96 376 96H272z"/></symbol><symbol class="dosvg-inline--fa dofa-life-ring" viewBox="0 0 512 512" id="fas-life-ring" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M367.2 412.5C335.9 434.9 297.5 448 256 448s-79.9-13.1-111.2-35.5l58-58c15.8 8.6 34 13.5 53.3 13.5s37.4-4.9 53.3-13.5l58 58zm90.7.8c33.8-43.4 54-98 54-157.3s-20.2-113.9-54-157.3c9-12.5 7.9-30.1-3.4-41.3S425.8 45 413.3 54C369.9 20.2 315.3 0 256 0S142.1 20.2 98.7 54c-12.5-9-30.1-7.9-41.3 3.4S45 86.2 54 98.7C20.2 142.1 0 196.7 0 256s20.2 113.9 54 157.3c-9 12.5-7.9 30.1 3.4 41.3S86.2 467 98.7 458c43.4 33.8 98 54 157.3 54s113.9-20.2 157.3-54c12.5 9 30.1 7.9 41.3-3.4s12.4-28.8 3.4-41.3zm-45.5-46.1-58-58c8.6-15.8 13.5-34 13.5-53.3s-4.9-37.4-13.5-53.3l58-58C434.9 176.1 448 214.5 448 256s-13.1 79.9-35.5 111.2zM367.2 99.5l-58 58c-15.8-8.6-34-13.5-53.3-13.5s-37.4 4.9-53.3 13.5l-58-58C176.1 77.1 214.5 64 256 64s79.9 13.1 111.2 35.5zM157.5 309.3l-58 58C77.1 335.9 64 297.5 64 256s13.1-79.9 35.5-111.2l58 58c-8.6 15.8-13.5 34-13.5 53.3s4.9 37.4 13.5 53.3zM208 256a48 48 0 1 1 96 0 48 48 0 1 1-96 0z"/></symbol><symbol class="dpsvg-inline--fa dpfa-lock" viewBox="0 0 448 512" id="fas-lock" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M144 144v48h160v-48c0-44.2-35.8-80-80-80s-80 35.8-80 80zm-64 48v-48C80 64.5 144.5 0 224 0s144 64.5 144 144v48h16c35.3 0 64 28.7 64 64v192c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64h16z"/></symbol><symbol class="dqsvg-inline--fa dqfa-right-long" viewBox="0 0 512 512" id="fas-long-arrow-alt-right" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M334.5 414c8.8 3.8 19 2 26-4.6l144-136c4.8-4.5 7.5-10.8 7.5-17.4s-2.7-12.9-7.5-17.4l-144-136c-7-6.6-17.2-8.4-26-4.6S320 110.5 320 120v72H32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h288v72c0 9.6 5.7 18.2 14.5 22z"/></symbol><symbol class="drsvg-inline--fa drfa-envelopes-bulk" viewBox="0 0 640 512" id="fas-mail-bulk" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M128 0c-17.7 0-32 14.3-32 32v192h96v-32c0-35.3 28.7-64 64-64h224V32c0-17.7-14.3-32-32-32H128zm128 160c-17.7 0-32 14.3-32 32v32h96c35.3 0 64 28.7 64 64v128h192c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H256zm240 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16h-32c-8.8 0-16-7.2-16-16v-32c0-8.8 7.2-16 16-16zM64 256c-17.7 0-32 14.3-32 32v13l155.1 114.9c1.4 1 3.1 1.6 4.9 1.6s3.5-.6 4.9-1.6L352 301v-13c0-17.7-14.3-32-32-32H64zm288 84.8L216 441.6c-6.9 5.1-15.3 7.9-24 7.9s-17-2.8-24-7.9L32 340.8V480c0 17.7 14.3 32 32 32h256c17.7 0 32-14.3 32-32V340.8z"/></symbol><symbol class="dtsvg-inline--fa dtfa-map" viewBox="0 0 576 512" id="fas-map" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="m384 476.1-192-54.9V35.9l192 54.9v385.3zm32-1.2V88.4l127.1-50.9c15.8-6.3 32.9 5.3 32.9 22.3v334.8c0 9.8-6 18.6-15.1 22.3L416 474.8zM15.1 95.1 160 37.2v386.4L32.9 474.5C17.1 480.8 0 469.2 0 452.2V117.4c0-9.8 6-18.6 15.1-22.3z"/></symbol><symbol class="dssvg-inline--fa dsfa-signs-post" viewBox="0 0 512 512" id="fas-map-signs" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M224 32H64c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h377.4c4.2 0 8.3-1.7 11.3-4.7l48-48c6.2-6.2 6.2-16.4 0-22.6l-48-48c-3-3-7.1-4.7-11.3-4.7H288c0-17.7-14.3-32-32-32s-32 14.3-32 32zm256 224c0-17.7-14.3-32-32-32H288v-32h-64v32H70.6c-4.2 0-8.3 1.7-11.3 4.7l-48 48c-6.2 6.2-6.2 16.4 0 22.6l48 48c3 3 7.1 4.7 11.3 4.7H448c17.7 0 32-14.3 32-32v-64zM288 480v-96h-64v96c0 17.7 14.3 32 32 32s32-14.3 32-32z"/></symbol><symbol class="dusvg-inline--fa dufa-suitcase-medical" viewBox="0 0 512 512" id="fas-medkit" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M184 48h144c4.4 0 8 3.6 8 8v40H176V56c0-4.4 3.6-8 8-8zm-56 8v424h256V56c0-30.9-25.1-56-56-56H184c-30.9 0-56 25.1-56 56zM96 96H64c-35.3 0-64 28.7-64 64v256c0 35.3 28.7 64 64 64h32V96zm320 384h32c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64h-32v384zM224 208c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16h-48v48c0 8.8-7.2 16-16 16h-32c-8.8 0-16-7.2-16-16v-48h-48c-8.8 0-16-7.2-16-16v-32c0-8.8 7.2-16 16-16h48v-48z"/></symbol><symbol class="dvsvg-inline--fa dvfa-microchip" viewBox="0 0 512 512" id="fas-microchip" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M176 24c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c-35.3 0-64 28.7-64 64H24c-13.3 0-24 10.7-24 24s10.7 24 24 24h40v56H24c-13.3 0-24 10.7-24 24s10.7 24 24 24h40v56H24c-13.3 0-24 10.7-24 24s10.7 24 24 24h40c0 35.3 28.7 64 64 64v40c0 13.3 10.7 24 24 24s24-10.7 24-24v-40h56v40c0 13.3 10.7 24 24 24s24-10.7 24-24v-40h56v40c0 13.3 10.7 24 24 24s24-10.7 24-24v-40c35.3 0 64-28.7 64-64h40c13.3 0 24-10.7 24-24s-10.7-24-24-24h-40v-56h40c13.3 0 24-10.7 24-24s-10.7-24-24-24h-40v-56h40c13.3 0 24-10.7 24-24s-10.7-24-24-24h-40c0-35.3-28.7-64-64-64V24c0-13.3-10.7-24-24-24s-24 10.7-24 24v40h-56V24c0-13.3-10.7-24-24-24s-24 10.7-24 24v40h-56V24zm-16 104h192c17.7 0 32 14.3 32 32v192c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32zm192 32H160v192h192V160z"/></symbol><symbol class="dwsvg-inline--fa dwfa-microphone" viewBox="0 0 384 512" id="fas-microphone" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M192 0c-53 0-96 43-96 96v160c0 53 43 96 96 96s96-43 96-96V96c0-53-43-96-96-96zM64 216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 89.1 66.2 162.7 152 174.4V464h-48c-13.3 0-24 10.7-24 24s10.7 24 24 24h144c13.3 0 24-10.7 24-24s-10.7-24-24-24h-48v-33.6c85.8-11.7 152-85.3 152-174.4v-40c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 70.7-57.3 128-128 128S64 326.7 64 256v-40z"/></symbol><symbol class="dxsvg-inline--fa dxfa-mobile-screen-button" viewBox="0 0 384 512" id="fas-mobile-alt" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M16 64C16 28.7 44.7 0 80 0h224c35.3 0 64 28.7 64 64v384c0 35.3-28.7 64-64 64H80c-35.3 0-64-28.7-64-64V64zm208 384a32 32 0 1 0-64 0 32 32 0 1 0 64 0zm80-384H80v320h224V64z"/></symbol><symbol class="dysvg-inline--fa dyfa-mosque" viewBox="0 0 640 512" id="fas-mosque" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M400 0c5 0 9.8 2.4 12.8 6.4 34.7 46.3 78.1 74.9 133.5 111.5 5.2 3.4 10.5 7 16 10.6 28.9 19.2 45.7 51.7 45.7 86.1 0 28.6-11.3 54.5-29.8 73.4H221.8c-18.4-19-29.8-44.9-29.8-73.4 0-34.4 16.7-66.9 45.7-86.1 5.4-3.6 10.8-7.1 16-10.6 55.4-36.6 98.8-65.2 133.5-111.5 3-4 7.8-6.4 12.8-6.4zM288 512v-72c0-13.3-10.7-24-24-24s-24 10.7-24 24v72h-48c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32h416c17.7 0 32 14.3 32 32v128c0 17.7-14.3 32-32 32h-48v-72c0-13.3-10.7-24-24-24s-24 10.7-24 24v72h-64v-58c0-19-8.4-37-23-49.2L400 384l-25 20.8C360.4 417 352 435 352 454v58h-64zM70.4 5.2a15.9 15.9 0 0 1 19.2 0l16 12C139.8 42.9 160 83.2 160 126v2H0v-2C0 83.2 20.2 42.9 54.4 17.2l16-12zM0 160h160v136.6c-19.1 11.1-32 31.7-32 55.4v128c0 9.6 2.1 18.6 5.8 26.8-6.6 3.4-14 5.2-21.8 5.2H48c-26.5 0-48-21.5-48-48V160z"/></symbol><symbol class="dzsvg-inline--fa dzfa-motorcycle" viewBox="0 0 640 512" id="fas-motorcycle" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M280 32c-13.3 0-24 10.7-24 24s10.7 24 24 24h57.7l16.4 30.3L256 192l-45.3-45.3c-12-12-28.3-18.7-45.3-18.7H64c-17.7 0-32 14.3-32 32v32h96c88.4 0 160 71.6 160 160 0 11-1.1 21.7-3.2 32h70.4c-2.1-10.3-3.2-21-3.2-32 0-52.2 25-98.6 63.7-127.8l15.4 28.6C402.4 276.3 384 312 384 352c0 70.7 57.3 128 128 128s128-57.3 128-128-57.3-128-128-128c-13.5 0-26.5 2.1-38.7 6l-55.1-102H480c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32h-20.4c-7.5 0-14.7 2.6-20.5 7.4l-47.4 39.5-14-26c-7-12.9-20.5-21-35.2-21H280zm182.7 279.2 28.2 52.2c6.3 11.7 20.9 16 32.5 9.7s16-20.9 9.7-32.5l-28.2-52.2c2.3-.3 4.7-.4 7.1-.4 35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64c0-15.5 5.5-29.7 14.7-40.8zM187.3 376c-9.5 23.5-32.5 40-59.3 40-35.3 0-64-28.7-64-64s28.7-64 64-64c26.9 0 49.9 16.5 59.3 40h66.4c-11.2-59.2-63.2-104-125.7-104C57.3 224 0 281.3 0 352s57.3 128 128 128c62.5 0 114.5-44.8 125.8-104h-66.5zm-59.3 8a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"/></symbol><symbol class="easvg-inline--fa eafa-music" viewBox="0 0 512 512" id="fas-music" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M499.1 6.3c8.1 6 12.9 15.6 12.9 25.7v336c0 44.2-43 80-96 80s-96-35.8-96-80 43-80 96-80c11.2 0 22 1.6 32 4.6V147l-256 76.8V432c0 44.2-43 80-96 80S0 476.2 0 432s43-80 96-80c11.2 0 22 1.6 32 4.6V128c0-14.1 9.3-26.6 22.8-30.7l320-96c9.7-2.9 20.2-1.1 28.3 5z"/></symbol><symbol class="ebsvg-inline--fa ebfa-newspaper" viewBox="0 0 512 512" id="fas-newspaper" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M96 96c0-35.3 28.7-64 64-64h288c35.3 0 64 28.7 64 64v320c0 35.3-28.7 64-64 64H80c-44.2 0-80-35.8-80-80V128c0-17.7 14.3-32 32-32s32 14.3 32 32v272c0 8.8 7.2 16 16 16s16-7.2 16-16V96zm64 24v80c0 13.3 10.7 24 24 24h112c13.3 0 24-10.7 24-24v-80c0-13.3-10.7-24-24-24H184c-13.3 0-24 10.7-24 24zm208-8c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16h-48c-8.8 0-16 7.2-16 16zm0 96c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16h-48c-8.8 0-16 7.2-16 16zm-208 96c0 8.8 7.2 16 16 16h256c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm0 96c0 8.8 7.2 16 16 16h256c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16z"/></symbol><symbol class="ecsvg-inline--fa ecfa-paint-roller" viewBox="0 0 512 512" id="fas-paint-roller" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M0 64C0 28.7 28.7 0 64 0h288c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm160 288c0-17.7 14.3-32 32-32v-16c0-44.2 35.8-80 80-80h144c17.7 0 32-14.3 32-32V69.5c37.3 13.2 64 48.7 64 90.5v32c0 53-43 96-96 96H272c-8.8 0-16 7.2-16 16v16c17.7 0 32 14.3 32 32v128c0 17.7-14.3 32-32 32h-64c-17.7 0-32-14.3-32-32V352z"/></symbol><symbol class="edsvg-inline--fa edfa-paperclip" viewBox="0 0 448 512" id="fas-paperclip" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M364.2 83.8c-24.4-24.4-64-24.4-88.4 0l-184 184c-42.1 42.1-42.1 110.3 0 152.4s110.3 42.1 152.4 0l152-152c10.9-10.9 28.7-10.9 39.6 0s10.9 28.7 0 39.6l-152 152c-64 64-167.6 64-231.6 0s-64-167.6 0-231.6l184-184c46.3-46.3 121.3-46.3 167.6 0s46.3 121.3 0 167.6l-176 176c-28.6 28.6-75 28.6-103.6 0s-28.6-75 0-103.6l144-144c10.9-10.9 28.7-10.9 39.6 0s10.9 28.7 0 39.6l-144 144c-6.7 6.7-6.7 17.7 0 24.4s17.7 6.7 24.4 0l176-176c24.4-24.4 24.4-64 0-88.4z"/></symbol><symbol class="eesvg-inline--fa eefa-pen-ruler" viewBox="0 0 512 512" id="fas-pen-ruler" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="m469.3 19.3 23.4 23.4c25 25 25 65.5 0 90.5l-56.4 56.4-114-113.9 56.4-56.4c25-25 65.5-25 90.5 0zM44.9 353.2 299.7 98.3l114 114-254.9 254.8c-6.7 6.7-15.1 11.6-24.2 14.2L30.6 511c-8.4 2.4-17.4.1-23.6-6.1s-8.5-15.2-6.1-23.6l29.7-104c2.6-9.2 7.5-17.5 14.2-24.2zm204.5-249.8-146 146L16 161.9C-2.7 143.2-2.7 112.8 16 94l78.1-78c18.7-18.7 49.1-18.7 67.9 0l19.8 19.8c-.3.3-.7.6-1 .9l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64c.3-.3.6-.7.9-1l45.1 45.1zm159.2 159.2 45.1 45.1c-.3.3-.7.6-1 .9l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64c.3-.3.6-.7.9-1l19.8 19.9c18.7 18.7 18.7 49.1 0 67.9l-78.1 78c-18.7 18.7-49.1 18.7-67.9 0l-87.4-87.4 146-146z"/></symbol><symbol class="efsvg-inline--fa effa-people-carry-box" viewBox="0 0 640 512" id="fas-people-carry" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M80 48a48 48 0 1 1 96 0 48 48 0 1 1-96 0zm64 193.7v65.1l51 51c7.1 7.1 11.8 16.2 13.4 26.1l15.2 90.9c2.9 17.4-8.9 33.9-26.3 36.8s-33.9-8.9-36.8-26.3l-14.3-85.9L66.8 320c-12-12-18.8-28.3-18.8-45.3v-88.1c0-32.4 26.2-58.6 58.6-58.6 24.1 0 46.5 12 59.9 32l47.4 71.1 10.1 5V160c0-17.7 14.3-32 32-32h128c17.7 0 32 14.3 32 32v76.2l10.1-5 47.4-71.2c13.3-20 35.8-32 59.9-32 32.4 0 58.6 26.2 58.6 58.6v88.1c0 17-6.7 33.3-18.7 45.3l-79.4 79.4-14.3 85.9c-2.9 17.4-19.4 29.2-36.8 26.3s-29.2-19.4-26.3-36.8l15.2-90.9c1.6-9.9 6.3-19 13.4-26.1l51-51v-65.1l-19 28.5c-4.6 7-11 12.6-18.5 16.3L399 316.3c-2.4 1.3-4.9 2.2-7.6 2.8-2.6.6-5.3.9-7.9.8H256.7c-2.5.1-5-.2-7.5-.7-2.9-.6-5.6-1.6-8.1-3l-59.5-29.8c-7.5-3.7-13.8-9.4-18.5-16.3l-19-28.5zM2.3 468.1l47.8-119.5 49.2 49.2-37.6 94c-6.6 16.4-25.2 24.4-41.6 17.8s-24.4-25.1-17.8-41.5zM512 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm77.9 348.6 47.8 119.5c6.6 16.4-1.4 35-17.8 41.6s-35-1.4-41.6-17.8l-37.6-94 49.2-49.2z"/></symbol><symbol class="egsvg-inline--fa egfa-pepper-hot" viewBox="0 0 512 512" id="fas-pepper-hot" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M428.3 3c11.6-6.4 26.2-2.3 32.6 9.3l4.8 8.7c19.3 34.7 19.8 75.7 3.4 110 26.7 28.6 42.9 66.9 42.9 109 0 18.5-3.1 36.3-8.9 52.8-6.1 17.3-28.5 16.3-36.8-.1l-11.7-23.4c-4.1-8.1-12.4-13.3-21.5-13.3H360c-13.3 0-24-10.7-24-24v-80c0-13.3-10.7-24-24-24h-17.1c-21.3 0-30-23.9-10.8-32.9C304.7 85.4 327.7 80 352 80c28.3 0 54.8 7.3 77.8 20.2 5.5-18.2 3.7-38.4-6-55.8l-4.8-8.7c-6.4-11.6-2.3-26.2 9.3-32.6zM171.2 345.5 264 160h40v80c0 26.5 21.5 48 48 48h76.2l23.9 47.8C372.3 443.9 244.3 512 103.2 512H44.4C19.9 512 0 492.1 0 467.6c0-20.8 14.5-38.8 34.8-43.3l49.8-11.1c37.6-8.4 69.5-33.2 86.7-67.7z"/></symbol><symbol class="ehsvg-inline--fa ehfa-person-booth" viewBox="0 0 576 512" id="fas-person-booth" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M256 32c0-17.7-14.3-32-32-32s-32 14.3-32 32v160h64V32zm320 0c0-17.7-14.3-32-32-32s-32 14.3-32 32v448c0 17.7 14.3 32 32 32s32-14.3 32-32V32zM224 512c17.7 0 32-14.3 32-32V320h-64v160c0 17.7 14.3 32 32 32zM320 0c-9.3 0-18.1 4-24.2 11s-8.8 16.3-7.5 25.5l31.2 218.6-30.9 154.6c-3.5 17.3 7.8 34.2 25.1 37.7s34.2-7.8 37.7-25.1l.7-3.6c1.3 16.4 15.1 29.4 31.9 29.4 17.7 0 32-14.3 32-32 0 17.7 14.3 32 32 32s32-14.3 32-32V32c0-17.7-14.3-32-32-32H320zM112 80a48 48 0 1 0-96 0 48 48 0 1 0 96 0zm0 261.3v-72l4.7 4.7c9 9 21.2 14.1 33.9 14.1H224c17.7 0 32-14.3 32-32s-14.3-32-32-32h-66.7l-41.6-41.6c-14.3-14.3-33.8-22.4-54-22.4C27.6 160 0 187.6 0 221.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32v-96l32 42.7V480c0 17.7 14.3 32 32 32s32-14.3 32-32v-58.7c0-10.4-3.4-20.5-9.6-28.8L112 341.3z"/></symbol><symbol class="eisvg-inline--fa eifa-phone-flip" viewBox="0 0 512 512" id="fas-phone-alt" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M347.1 24.6c7.7-18.6 28-28.5 47.4-23.2l88 24C499.9 30.2 512 46 512 64c0 247.4-200.6 448-448 448-18 0-33.8-12.1-38.6-29.5l-24-88c-5.3-19.4 4.6-39.7 23.2-47.4l96-40c16.3-6.8 35.2-2.1 46.3 11.6l40.4 49.3c70.4-33.3 127.4-90.3 160.7-160.7L318.7 167c-13.7-11.2-18.4-30-11.6-46.3l40-96z"/></symbol><symbol class="ejsvg-inline--fa ejfa-pills" viewBox="0 0 576 512" id="fas-pills" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M112 96c-26.5 0-48 21.5-48 48v112h96V144c0-26.5-21.5-48-48-48zM0 144C0 82.1 50.1 32 112 32s112 50.1 112 112v224c0 61.9-50.1 112-112 112S0 429.9 0 368V144zm554.9 255.4c-7.1 12.3-23.7 13.1-33.8 3.1L333.5 214.9c-10-10-9.3-26.7 3.1-33.8C360 167.7 387.1 160 416 160c88.4 0 160 71.6 160 160 0 28.9-7.7 56-21.1 79.4zm-59.5 59.5C472 472.3 444.9 480 416 480c-88.4 0-160-71.6-160-160 0-28.9 7.7-56 21.1-79.4 7.1-12.3 23.7-13.1 33.8-3.1l187.6 187.6c10 10 9.3 26.7-3.1 33.8z"/></symbol><symbol class="elsvg-inline--fa elfa-plane" viewBox="0 0 576 512" id="fas-plane" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M482.3 192c34.2 0 93.7 29 93.7 64 0 36-59.5 64-93.7 64H365.7L265.2 495.9c-5.7 10-16.3 16.1-27.8 16.1h-56.2c-10.6 0-18.3-10.2-15.4-20.4l49-171.6H112l-43.2 57.6c-3 4-7.8 6.4-12.8 6.4H14c-7.8 0-14-6.3-14-14 0-1.3.2-2.6.5-3.9L32 256 .5 145.9c-.4-1.3-.5-2.6-.5-3.9 0-7.8 6.3-14 14-14h42c5 0 9.8 2.4 12.8 6.4L112 192h102.9l-49-171.6c-3-10.2 4.7-20.4 15.3-20.4h56.2c11.5 0 22.1 6.2 27.8 16.1L365.7 192h116.6z"/></symbol><symbol class="eksvg-inline--fa ekfa-plane-departure" viewBox="0 0 640 512" id="fas-plane-departure" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M381 114.9 186.1 41.8c-16.7-6.2-35.2-5.3-51.1 2.7L89.1 67.4C78 73 77.2 88.5 87.6 95.2l146.9 94.5L136 240l-58.2-25.9c-8.7-3.9-18.8-3.7-27.3.6l-32.2 16.1c-9.3 4.7-11.8 16.8-5 24.7l73.1 85.3c6.1 7.1 15 11.2 24.3 11.2h137.7c5 0 9.9-1.2 14.3-3.4l272.9-136.4c46.5-23.3 82.5-63.3 100.8-112C645.9 75 627.2 48 600.2 48h-57.4c-20.2 0-40.2 4.8-58.2 14L381 114.9zM0 480c0 17.7 14.3 32 32 32h576c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32z"/></symbol><symbol class="emsvg-inline--fa emfa-plug" viewBox="0 0 384 512" id="fas-plug" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M96 0C78.3 0 64 14.3 64 32v96h64V32c0-17.7-14.3-32-32-32zm192 0c-17.7 0-32 14.3-32 32v96h64V32c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32v32c0 77.4 55 142 128 156.8V480c0 17.7 14.3 32 32 32s32-14.3 32-32v-67.2C297 398 352 333.4 352 256v-32c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z"/></symbol><symbol class="ensvg-inline--fa enfa-plus" viewBox="0 0 448 512" id="fas-plus" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32v144H48c-17.7 0-32 14.3-32 32s14.3 32 32 32h144v144c0 17.7 14.3 32 32 32s32-14.3 32-32V288h144c17.7 0 32-14.3 32-32s-14.3-32-32-32H256V80z"/></symbol><symbol class="eosvg-inline--fa eofa-print" viewBox="0 0 512 512" id="fas-print" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M128 0C92.7 0 64 28.7 64 64v96h64V64h226.7L384 93.3V160h64V93.3c0-17-6.7-33.3-18.7-45.3L400 18.7C388 6.7 371.7 0 354.7 0H128zm256 352v96H128v-96h256zm64 32h32c17.7 0 32-14.3 32-32v-96c0-35.3-28.7-64-64-64H64c-35.3 0-64 28.7-64 64v96c0 17.7 14.3 32 32 32h32v64c0 35.3 28.7 64 64 64h256c35.3 0 64-28.7 64-64v-64zm-16-136a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"/></symbol><symbol class="epsvg-inline--fa epfa-bed-pulse" viewBox="0 0 640 512" id="fas-procedures" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M483.2 9.6 524 64h92c13.3 0 24 10.7 24 24s-10.7 24-24 24H512c-7.6 0-14.7-3.6-19.2-9.6l-24.1-32.1-47 99.9c-3.7 7.8-11.3 13.1-19.9 13.7s-16.9-3.4-21.7-10.6L339.2 112H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h136c8 0 15.5 4 20 10.7l24.4 36.6 45.9-97.5C445.9 6.2 453.2 1 461.6.1s16.6 2.7 21.6 9.5zM320 160h12.7l20.7 31.1c11.2 16.8 30.6 26.3 50.7 24.8s37.9-13.7 46.5-32l11.3-23.9H544c53 0 96 43 96 96v224c0 17.7-14.3 32-32 32s-32-14.3-32-32v-32H64v32c0 17.7-14.3 32-32 32S0 497.7 0 480V96c0-17.7 14.3-32 32-32s32 14.3 32 32v256h224V192c0-17.7 14.3-32 32-32zm-144 0a80 80 0 1 1 0 160 80 80 0 1 1 0-160z"/></symbol><symbol class="eqsvg-inline--fa eqfa-puzzle-piece" viewBox="0 0 512 512" id="fas-puzzle-piece" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M192 104.8c0-9.2-5.8-17.3-13.2-22.8-11.6-8.7-18.8-20.7-18.8-34 0-26.5 28.7-48 64-48s64 21.5 64 48c0 13.3-7.2 25.3-18.8 34-7.4 5.5-13.2 13.6-13.2 22.8 0 12.8 10.4 23.2 23.2 23.2H336c26.5 0 48 21.5 48 48v56.8c0 12.8 10.4 23.2 23.2 23.2 9.2 0 17.3-5.8 22.8-13.2 8.7-11.6 20.7-18.8 34-18.8 26.5 0 48 28.7 48 64s-21.5 64-48 64c-13.3 0-25.3-7.2-34-18.8-5.5-7.4-13.6-13.2-22.8-13.2-12.8 0-23.2 10.4-23.2 23.2V464c0 26.5-21.5 48-48 48h-56.8c-12.8 0-23.2-10.4-23.2-23.2 0-9.2 5.8-17.3 13.2-22.8 11.6-8.7 18.8-20.7 18.8-34 0-26.5-28.7-48-64-48s-64 21.5-64 48c0 13.3 7.2 25.3 18.8 34 7.4 5.5 13.2 13.6 13.2 22.8 0 12.8-10.4 23.2-23.2 23.2H48c-26.5 0-48-21.5-48-48V343.2C0 330.4 10.4 320 23.2 320c9.2 0 17.3 5.8 22.8 13.2 8.7 11.6 20.7 18.8 34 18.8 26.5 0 48-28.7 48-64s-21.5-64-48-64c-13.3 0-25.3 7.2-34 18.8-5.5 7.4-13.6 13.2-22.8 13.2C10.4 256 0 245.6 0 232.8V176c0-26.5 21.5-48 48-48h120.8c12.8 0 23.2-10.4 23.2-23.2z"/></symbol><symbol class="ersvg-inline--fa erfa-question" viewBox="0 0 320 512" id="fas-question" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M80 160c0-35.3 28.7-64 64-64h32c35.3 0 64 28.7 64 64v3.6c0 21.8-11.1 42.1-29.4 53.8l-42.2 27.1a87.983 87.983 0 0 0-40.4 74v1.5c0 17.7 14.3 32 32 32s32-14.3 32-32v-1.4c0-8.2 4.2-15.8 11-20.2l42.2-27.1c36.6-23.6 58.8-64.1 58.8-107.7V160c0-70.7-57.3-128-128-128h-32C73.3 32 16 89.3 16 160c0 17.7 14.3 32 32 32s32-14.3 32-32zm80 320a40 40 0 1 0 0-80 40 40 0 1 0 0 80z"/></symbol><symbol class="essvg-inline--fa esfa-rocket" viewBox="0 0 512 512" id="fas-rocket" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M156.6 384.9 125.7 354c-8.5-8.5-11.5-20.8-7.7-32.2 3-8.9 7-20.5 11.8-33.8H24c-8.6 0-16.6-4.6-20.9-12.1s-4.2-16.7.2-24.1l52.5-88.5c13-21.9 36.5-35.3 61.9-35.3H200c2.4-4 4.8-7.7 7.2-11.3C289.1-4.1 411.1-8.1 483.9 5.3c11.6 2.1 20.6 11.2 22.8 22.8 13.4 72.9 9.3 194.8-111.4 276.7-3.5 2.4-7.3 4.8-11.3 7.2v82.3c0 25.4-13.4 49-35.3 61.9l-88.5 52.5c-7.4 4.4-16.6 4.5-24.1.2S224 496.7 224 488V380.8c-14.1 4.9-26.4 8.9-35.7 11.9-11.2 3.6-23.4.5-31.8-7.8zM384 168a40 40 0 1 0 0-80 40 40 0 1 0 0 80z"/></symbol><symbol class="etsvg-inline--fa etfa-rotate" viewBox="0 0 512 512" id="fas-rotate" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M142.9 142.9c62.2-62.2 162.7-62.5 225.3-1L327 183c-6.9 6.9-8.9 17.2-5.2 26.2S334.3 224 344 224h128c13.3 0 24-10.7 24-24V72c0-9.7-5.8-18.5-14.8-22.2S461.9 48.1 455 55l-41.6 41.6c-87.6-86.5-228.7-86.2-315.8 1-24.4 24.4-42 53.1-52.8 83.8-5.9 16.7 2.9 34.9 19.5 40.8s34.9-2.9 40.8-19.5c7.7-21.8 20.2-42.3 37.8-59.8zM16 312v128c0 9.7 5.8 18.5 14.8 22.2s19.3 1.7 26.2-5.2l41.6-41.6c87.6 86.5 228.7 86.2 315.8-1 24.4-24.4 42.1-53.1 52.9-83.7 5.9-16.7-2.9-34.9-19.5-40.8s-34.9 2.9-40.8 19.5c-7.7 21.8-20.2 42.3-37.8 59.8-62.2 62.2-162.7 62.5-225.3 1L185 329c6.9-6.9 8.9-17.2 5.2-26.2S177.7 288 168 288H40c-13.3 0-24 10.7-24 24z"/></symbol><symbol class="eusvg-inline--fa eufa-person-running" viewBox="0 0 448 512" id="fas-running" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M320 48a48 48 0 1 0-96 0 48 48 0 1 0 96 0zM125.7 175.5c9.9-9.9 23.4-15.5 37.5-15.5 1.9 0 3.8.1 5.6.3L137.6 254c-9.3 28 1.7 58.8 26.8 74.5l86.2 53.9-25.4 88.8c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l28.7-100.4c5.9-20.6-2.6-42.6-20.7-53.9L238 299l30.9-82.4 5.1 12.3c15 35.8 49.9 59.1 88.7 59.1H384c17.7 0 32-14.3 32-32s-14.3-32-32-32h-21.3c-12.9 0-24.6-7.8-29.5-19.7l-6.3-15c-14.6-35.1-44.1-61.9-80.5-73.1l-48.7-15C186.6 97.8 175 96 163.3 96c-31 0-60.8 12.3-82.7 34.3l-23.2 23.1c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l23.1-23.1zM91.2 352H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h69.6c19 0 36.2-11.2 43.9-28.5l11.5-25.9-9.5-6a95.394 95.394 0 0 1-37.9-44.9L91.2 352z"/></symbol><symbol class="evsvg-inline--fa evfa-school" viewBox="0 0 640 512" id="fas-school" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M337.8 5.4c-10.8-7.2-24.8-7.2-35.6 0L166.3 96H48c-26.5 0-48 21.5-48 48v320c0 26.5 21.5 48 48 48h544c26.5 0 48-21.5 48-48V144c0-26.5-21.5-48-48-48H473.7L337.8 5.4zM256 416c0-35.3 28.7-64 64-64s64 28.7 64 64v96H256v-96zM96 192h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16v-64c0-8.8 7.2-16 16-16zm400 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16h-32c-8.8 0-16-7.2-16-16v-64zM96 320h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16v-64c0-8.8 7.2-16 16-16zm400 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16h-32c-8.8 0-16-7.2-16-16v-64zM232 176a88 88 0 1 1 176 0 88 88 0 1 1-176 0zm88-48c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16h-16v-16c0-8.8-7.2-16-16-16z"/></symbol><symbol class="ewsvg-inline--fa ewfa-screwdriver" viewBox="0 0 512 512" id="fas-screwdriver" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M465 7c-8.5-8.5-22-9.4-31.6-2.1l-104 80c-5.9 4.5-9.4 11.6-9.4 19V158l-85.6 85.6c6.7 4.2 13 9.3 18.8 15.1s10.9 12.2 15.1 18.8l85.6-85.5H408c7.5 0 14.5-3.5 19-9.4l80-104c7.4-9.6 6.5-23.1-2.1-31.6L465 7zM121.4 281.4l-112 112c-12.5 12.5-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0l112-112c30.2-30.2 30.2-79.1 0-109.3s-79.1-30.2-109.3 0z"/></symbol><symbol class="exsvg-inline--fa exfa-seedling" viewBox="0 0 512 512" id="fas-seedling" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M512 32c0 113.6-84.6 207.5-194.2 222-7.1-53.4-30.6-101.6-65.3-139.3C290.8 46.3 364 0 448 0h32c17.7 0 32 14.3 32 32zM0 96c0-17.7 14.3-32 32-32h32c123.7 0 224 100.3 224 224v192c0 17.7-14.3 32-32 32s-32-14.3-32-32V320C100.3 320 0 219.7 0 96z"/></symbol><symbol class="eysvg-inline--fa eyfa-server" viewBox="0 0 512 512" id="fas-server" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M64 32C28.7 32 0 60.7 0 96v64c0 35.3 28.7 64 64 64h384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm280 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm48 24a24 24 0 1 1 48 0 24 24 0 1 1-48 0zM64 288c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64h384c35.3 0 64-28.7 64-64v-64c0-35.3-28.7-64-64-64H64zm280 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1-48 0z"/></symbol><symbol class="ezsvg-inline--fa ezfa-shapes" viewBox="0 0 512 512" id="fas-shapes" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M315.4 15.5C309.7 5.9 299.2 0 288 0s-21.7 5.9-27.4 15.5l-96 160c-5.9 9.9-6.1 22.2-.4 32.2s16.3 16.2 27.8 16.2h192c11.5 0 22.2-6.2 27.8-16.2s5.5-22.3-.4-32.2l-96-160zM288 312v144c0 22.1 17.9 40 40 40h144c22.1 0 40-17.9 40-40V312c0-22.1-17.9-40-40-40H328c-22.1 0-40 17.9-40 40zM128 512a128 128 0 1 0 0-256 128 128 0 1 0 0 256z"/></symbol><symbol class="fasvg-inline--fa fafa-share-nodes" viewBox="0 0 448 512" id="fas-share-alt" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M352 224c53 0 96-43 96-96s-43-96-96-96-96 43-96 96c0 4 .2 8 .7 11.9l-94.1 47C145.4 170.2 121.9 160 96 160c-53 0-96 43-96 96s43 96 96 96c25.9 0 49.4-10.2 66.6-26.9l94.1 47c-.5 3.9-.7 7.8-.7 11.9 0 53 43 96 96 96s96-43 96-96-43-96-96-96c-25.9 0-49.4 10.2-66.6 26.9l-94.1-47c.5-3.9.7-7.8.7-11.9s-.2-8-.7-11.9l94.1-47c17.2 16.7 40.7 26.9 66.6 26.9z"/></symbol><symbol class="fbsvg-inline--fa fbfa-shoe-prints" viewBox="0 0 640 512" id="fas-shoe-prints" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M416 0c-63.7 0-160 32-160 32v128c48 0 76 16 104 32s56 32 104 32c56.4 0 176-16 176-96S512 0 416 0zM128 96c0 35.3 28.7 64 64 64h32V32h-32c-35.3 0-64 28.7-64 64zm160 416c96 0 224-48 224-128s-119.6-96-176-96c-48 0-76 16-104 32s-56 32-104 32v128s96.3 32 160 32zM0 416c0 35.3 28.7 64 64 64h32V352H64c-35.3 0-64 28.7-64 64z"/></symbol><symbol class="fcsvg-inline--fa fcfa-basket-shopping" viewBox="0 0 576 512" id="fas-shopping-basket" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M253.3 35.1c6.1-11.8 1.5-26.3-10.2-32.4s-26.3-1.5-32.4 10.2L117.6 192H32c-17.7 0-32 14.3-32 32s14.3 32 32 32l51.9 207.5C91 492 116.6 512 146 512h284c29.4 0 55-20 62.1-48.5L544 256c17.7 0 32-14.3 32-32s-14.3-32-32-32h-85.6L365.3 12.9c-6.1-11.7-20.6-16.3-32.4-10.2s-16.3 20.6-10.2 32.4L404.3 192H171.7l81.6-156.9zM192 304v96c0 8.8-7.2 16-16 16s-16-7.2-16-16v-96c0-8.8 7.2-16 16-16s16 7.2 16 16zm96-16c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16v-96c0-8.8 7.2-16 16-16zm128 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16v-96c0-8.8 7.2-16 16-16s16 7.2 16 16z"/></symbol><symbol class="fdsvg-inline--fa fdfa-cart-shopping" viewBox="0 0 576 512" id="fas-shopping-cart" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M0 24C0 10.7 10.7 0 24 0h45.5c22 0 41.5 12.8 50.6 32h411c26.3 0 45.5 25 38.6 50.4l-41 152.3c-8.5 31.4-37 53.3-69.5 53.3H170.7l5.4 28.5c2.2 11.3 12.1 19.5 23.6 19.5H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H199.7c-34.6 0-64.3-24.6-70.7-58.5l-51.6-271c-.7-3.8-4-6.5-7.9-6.5H24C10.7 48 0 37.3 0 24zm128 440a48 48 0 1 1 96 0 48 48 0 1 1-96 0zm336-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z"/></symbol><symbol class="fesvg-inline--fa fefa-sign-hanging" viewBox="0 0 512 512" id="fas-sign-hanging" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M96 0c17.7 0 32 14.3 32 32v32h352c17.7 0 32 14.3 32 32s-14.3 32-32 32H128v352c0 17.7-14.3 32-32 32s-32-14.3-32-32V128H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h32V32C64 14.3 78.3 0 96 0zm96 160h256c17.7 0 32 14.3 32 32v160c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32z"/></symbol><symbol class="ffsvg-inline--fa fffa-person-skating" viewBox="0 0 448 512" id="fas-skating" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M352 48a48 48 0 1 1 96 0 48 48 0 1 1-96 0zm-224 80c0-17.7 14.3-32 32-32h159.4c43.6 0 64.6 53.4 32.8 83.1l-74.4 69.4 60.2 60.2c9 9 14.1 21.2 14.1 33.9V416c0 17.7-14.3 32-32 32s-32-14.3-32-32v-66.7l-77.9-77.8c-26.6-26.6-24.6-70.3 4.3-94.4l20.4-17H160c-17.7 0-32-14.3-32-32zM81.4 353.4l86.9-86.9c4.6 10 11 19.3 19.3 27.5l21.8 21.8-82.7 82.7c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3zm322.5 95.1c8.6 2.1 13.8 10.8 11.6 19.4l-.4 1.7c-6.2 24.9-28.6 42.4-54.3 42.4H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h88.8c11 0 20.6-7.5 23.3-18.2l.4-1.7c2.1-8.6 10.8-13.8 19.4-11.6zm-268.7 29.8-6.2 3.1c-21.6 10.8-47.6 6.6-64.6-10.5L4.7 411.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l59.6 59.6c7.3 7.3 18.5 9.1 27.7 4.5l6.2-3.1c7.9-4 17.5-.7 21.5 7.2s.7 17.5-7.2 21.5z"/></symbol><symbol class="fhsvg-inline--fa fhfa-person-skiing" viewBox="0 0 512 512" id="fas-skiing" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M380.7 48a48 48 0 1 1 96 0 48 48 0 1 1-96 0zM2.7 268.9c6.1-11.8 20.6-16.3 32.4-10.2l197.6 102.6 46.2-69.2-75.1-75.1c-14.6-14.6-20.4-33.9-18.4-52.1l108.8 52 39.3 39.3c16.2 16.2 18.7 41.5 6 60.6L289.8 391l128.7 66.8c13.6 7.1 29.8 7.2 43.6.3l15.2-7.6c11.9-5.9 26.3-1.1 32.2 10.7s1.1 26.3-10.7 32.2l-15.2 7.6c-27.5 13.7-59.9 13.5-87.2-.7l-383.5-199c-11.7-6.1-16.3-20.6-10.2-32.4zM118.9 65.6l18.1 8.6 8.7-17.4c4-7.9 13.6-11.1 21.5-7.2s11.1 13.6 7.2 21.5L165.9 88l54.7 26.2c1.5-.7 3.1-1.4 4.7-2.1l83.4-33.4c34.2-13.7 72.8 4.2 84.5 39.2l17.1 51.2 52.1 26.1c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3l-58.1-29c-11.4-5.7-20-15.7-24.1-27.8l-5.8-17.3-27.3 12.1-6.8 3-6.7-3.2-153.5-73.5-9.2 18.4c-4 7.9-13.6 11.1-21.5 7.2s-11.1-13.6-7.2-21.5l9-18-17.6-8.4c-8-3.8-11.3-13.4-7.5-21.3s13.4-11.3 21.3-7.5z"/></symbol><symbol class="fgsvg-inline--fa fgfa-person-skiing-nordic" viewBox="0 0 576 512" id="fas-skiing-nordic" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M336 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-108.8 64c1.9 0 3.8.1 5.6.3L201.6 254c-9.3 28 1.7 58.8 26.8 74.5l86.2 53.9-23.3 81.6h-88.5l41.1-88.1-32.4-20.3c-7.8-4.9-14.7-10.7-20.6-17.3L132.2 464H99.7l54.2-257.6c4.6-1.5 9-4.1 12.7-7.8l23.1-23.1c9.9-9.9 23.4-15.5 37.5-15.5zm-105.8 38.6c.4.4.8.8 1.3 1.2L67 464H24c-13.3 0-24 10.7-24 24s10.7 24 24 24h480c39.8 0 72-32.2 72-72v-8c0-13.3-10.7-24-24-24s-24 10.7-24 24v8c0 13.3-10.7 24-24 24h-69.4l27.6-179.3c10.5-5.2 17.8-16.1 17.8-28.7 0-17.7-14.3-32-32-32h-21.3c-12.9 0-24.6-7.8-29.5-19.7l-6.3-15c-14.6-35.1-44.1-61.9-80.5-73.1l-48.7-15C250.6 97.8 239 96 227.3 96c-31 0-60.8 12.3-82.7 34.3l-23.1 23.1c-12.5 12.5-12.5 32.8 0 45.3zm308 89.4-27.1 176h-44.5l21.6-75.6c5.9-20.6-2.6-42.6-20.7-53.9L302 299l30.9-82.4 5.1 12.3c15 35.8 49.9 59.1 88.7 59.1h2.7z"/></symbol><symbol class="fisvg-inline--fa fifa-sleigh" viewBox="0 0 640 512" id="fas-sleigh" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M32 32C14.3 32 0 46.3 0 64s14.3 32 32 32v160c0 53 43 96 96 96v32h64v-32h192v32h64v-32c53 0 96-43 96-96v-96c17.7 0 32-14.3 32-32s-14.3-32-32-32h-64c-17.7 0-32 14.3-32 32v41.3c0 30.2-24.5 54.7-54.7 54.7-75.5 0-145.6-38.9-185.6-102.9l-4.3-6.9C174.2 67.6 125 37.6 70.7 32.7c-2.2-.5-4.4-.7-6.7-.7H32zm608 352c0-17.7-14.3-32-32-32s-32 14.3-32 32v8c0 13.3-10.7 24-24 24H64c-17.7 0-32 14.3-32 32s14.3 32 32 32h488c48.6 0 88-39.4 88-88v-8z"/></symbol><symbol class="fjsvg-inline--fa fjfa-smoking" viewBox="0 0 640 512" id="fas-smoking" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M448 32v11c0 38.2 15.2 74.8 42.2 101.8l21 21c21 21 32.8 49.5 32.8 79.2v11c0 17.7-14.3 32-32 32s-32-14.3-32-32v-11c0-12.7-5.1-24.9-14.1-33.9l-21-21c-39-39-60.9-92-60.9-147.1V32c0-17.7 14.3-32 32-32s32 14.3 32 32zm128 224v-11c0-38.2-15.2-74.8-42.2-101.8l-21-21c-21-21-32.8-49.5-32.8-79.2V32c0-17.7 14.3-32 32-32s32 14.3 32 32v11c0 12.7 5.1 24.9 14.1 33.9l21 21c39 39 60.9 91.9 60.9 147.1v11c0 17.7-14.3 32-32 32s-32-14.3-32-32zM0 416c0-35.3 28.7-64 64-64h352c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H64c-35.3 0-64-28.7-64-64v-32zm224 0v32h160v-32H224zm288-64c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32v-96c0-17.7 14.3-32 32-32zm96 0c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32v-96c0-17.7 14.3-32 32-32z"/></symbol><symbol class="fksvg-inline--fa fkfa-person-snowboarding" viewBox="0 0 512 512" id="fas-snowboarding" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M209.7 3.4c15.8-7.9 35-1.5 42.9 14.3l25 50 42.4 8.5c19.5 3.9 37.8 12.3 53.5 24.5l126.1 98.1c14 10.9 16.5 31 5.6 44.9s-31 16.5-44.9 5.6l-72.1-56.1-71.5 31.8 33.1 27.6c23.2 19.3 33.5 50 26.7 79.4l-17.4 75.2c-2.2 9.4-8.2 16.8-16.1 21l86.5 33.1c4.6 1.8 9.4 2.6 14.3 2.6H472c13.3 0 24 10.7 24 24s-10.7 24-24 24h-28.2c-10.8 0-21.4-2-31.5-5.8L60.1 371.3c-11.5-4.4-22-11.2-30.8-20L7 329c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l22.4 22.4c4 4 8.7 7.1 14 9.1l22.4 8.6c-.8-1.6-1.5-3.2-2.1-4.9-5.6-16.8 3.5-34.9 20.2-40.5l74.2-24.9v-53.2c0-24.2 13.7-46.4 35.4-57.2l45.2-22.6-7.5-1.5c-19.4-3.9-35.9-16.5-44.7-34.1l-25-50c-7.9-15.8-1.5-35 14.3-42.9zM139 350.1 298 411c-2.1-5.6-2.6-11.9-1.1-18.2l17.4-75.2c1.4-5.9-.7-12-5.3-15.9l-52.8-44v18.8c0 20.7-13.2 39-32.8 45.5L139 350.1zM432 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96z"/></symbol><symbol class="flsvg-inline--fa flfa-solar-panel" viewBox="0 0 640 512" id="fas-solar-panel" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M122.2 0C91.7 0 65.5 21.5 59.5 51.4l-51.2 256C.4 347 30.6 384 71 384h217v64h-64c-17.7 0-32 14.3-32 32s14.3 32 32 32h192c17.7 0 32-14.3 32-32s-14.3-32-32-32h-64v-64h217c40.4 0 70.7-36.9 62.8-76.6l-51.2-256C574.5 21.5 548.3 0 517.8 0H122.2zm138.7 64h118.2l10.4 104h-139l10.4-104zm-58.6 104H101.4l20.8-104h90.4l-10.3 104zM91.8 216h105.7l-10.4 104H71l20.8-104zm153.9 0h148.6l10.4 104H235.3l10.4-104zm196.8 0h105.7L569 320H453l-10.5-104zm96-48H437.7L427.3 64h90.4l31.4-6.3-31.3 6.3 20.8 104z"/></symbol><symbol class="fmsvg-inline--fa fmfa-arrow-up-a-z" viewBox="0 0 576 512" id="fas-sort-alpha-up" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M183.6 42.4C177.5 35.8 169 32 160 32s-17.5 3.8-23.6 10.4l-88 96c-11.9 13-11.1 33.3 2 45.2s33.3 11.1 45.2-2l32.4-35.3V448c0 17.7 14.3 32 32 32s32-14.3 32-32V146.3l32.4 35.4c11.9 13 32.2 13.9 45.2 2s13.9-32.2 2-45.2l-88-96zM320 320c0 17.7 14.3 32 32 32h50.7l-73.4 73.4c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8h128c17.7 0 32-14.3 32-32s-14.3-32-32-32h-50.7l73.4-73.4c9.2-9.2 11.9-22.9 6.9-34.9S493 288 480 288H352c-17.7 0-32 14.3-32 32zm96-288c-12.1 0-23.2 6.8-28.6 17.7l-64 128-16 32c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3l7.2-14.3h88.4l7.2 14.3c7.9 15.8 27.1 22.2 42.9 14.3s22.2-27.1 14.3-42.9l-16-32-64-128C439.2 38.8 428.1 32 416 32zm-20.2 144 20.2-40.4 20.2 40.4h-40.4z"/></symbol><symbol class="fnsvg-inline--fa fnfa-spa" viewBox="0 0 576 512" id="fas-spa" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M183.1 235.3c33.7 20.7 62.9 48.1 85.8 80.5 7 9.9 13.4 20.3 19.1 31 5.7-10.8 12.1-21.1 19.1-31 22.9-32.4 52.1-59.8 85.8-80.5C437.6 207.8 490.1 192 546 192h9.9c11.1 0 20.1 9 20.1 20.1 0 148-119.9 267.9-267.9 267.9h-40.2C119.9 480 0 360.1 0 212.1 0 201 9 192 20.1 192H30c55.9 0 108.4 15.8 153.1 43.3zM301.5 37.6c15.7 16.9 61.1 71.8 84.4 164.6-38 21.6-71.4 50.8-97.9 85.6-26.5-34.8-59.9-63.9-97.9-85.6 23.2-92.8 68.6-147.7 84.4-164.6 3.5-3.7 8.4-5.6 13.5-5.6s10 1.9 13.5 5.6z"/></symbol><symbol class="fosvg-inline--fa fofa-shuttle-space" viewBox="0 0 640 512" id="fas-space-shuttle" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M130 480c40.6 0 80.4-11 115.2-31.9L352 384H128v96h2zm222-352L245.2 63.9C210.4 43 170.6 32 130 32h-2v96h224zm-256 0V32H80c-26.5 0-48 21.5-48 48v48h8c-22.1 0-40 17.9-40 40v176c0 22.1 17.9 40 40 40h-8v48c0 26.5 21.5 48 48 48h16v-96h8c26.2 0 49.4-12.6 64-32h288c69.3 0 135-22.7 179.2-81.6 6.4-8.5 6.4-20.3 0-28.8C591 182.7 525.3 160 456 160H168c-14.6-19.4-37.8-32-64-32h-8zm416 115.6v24.9c0 19.6-15.9 35.6-35.6 35.6-2.5 0-4.4-2-4.4-4.4v-87.3c0-2.5 2-4.4 4.4-4.4 19.6 0 35.6 15.9 35.6 35.6z"/></symbol><symbol class="fpsvg-inline--fa fpfa-stamp" viewBox="0 0 512 512" id="fas-stamp" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M312 201.8c0-17.4 9.2-33.2 19.9-47C344.5 138.5 352 118.1 352 96c0-53-43-96-96-96s-96 43-96 96c0 22.1 7.5 42.5 20.1 58.8 10.7 13.8 19.9 29.6 19.9 47 0 29.9-24.3 54.2-54.2 54.2H112C50.1 256 0 306.1 0 368c0 20.9 13.4 38.7 32 45.3V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-50.7c18.6-6.6 32-24.4 32-45.3 0-61.9-50.1-112-112-112h-33.8c-29.9 0-54.2-24.3-54.2-54.2zM416 416v32H96v-32h320z"/></symbol><symbol class="frsvg-inline--fa frfa-store" viewBox="0 0 576 512" id="fas-store" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="m547.6 103.8-57.3-90.7C485.2 5 476.1 0 466.4 0H109.6c-9.7 0-18.8 5-23.9 13.1l-57.4 90.7c-29.6 46.8-3.4 111.9 51.9 119.4 4 .5 8.1.8 12.1.8 26.1 0 49.3-11.4 65.2-29 15.9 17.6 39.1 29 65.2 29s49.3-11.4 65.2-29c15.9 17.6 39.1 29 65.2 29 26.2 0 49.3-11.4 65.2-29 16 17.6 39.1 29 65.2 29 4.1 0 8.1-.3 12.1-.8 55.5-7.4 81.8-72.5 52.1-119.4zm-47.9 151.1h-.1c-5.3.7-10.7 1.1-16.2 1.1-12.4 0-24.3-1.9-35.4-5.3V384H128V250.6c-11.2 3.5-23.2 5.4-35.6 5.4-5.5 0-11-.4-16.3-1.1H76c-4.1-.6-8.1-1.3-12-2.3V448c0 35.3 28.7 64 64 64h320c35.3 0 64-28.7 64-64V252.6c-4 1-8 1.8-12.3 2.3z"/></symbol><symbol class="fqsvg-inline--fa fqfa-shop-slash" viewBox="0 0 640 512" id="fas-store-alt-slash" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2s-6.3 25.5 4.1 33.7l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-54.8-43V224h-64v152L384 275.7V224h-64v1.5L277.2 192h326c20.3 0 36.8-16.5 36.8-36.8 0-7.3-2.2-14.4-6.2-20.4L558.2 21.4C549.3 8 534.4 0 518.3 0H121.7c-16 0-31 8-39.9 21.4l-7.7 11.4L38.8 5.1zm-2 186.9h85L21 112.5 6.2 134.7c-4 6.1-6.2 13.2-6.2 20.4C0 175.5 16.5 192 36.8 192zM320 384H128V224H64v240c0 26.5 21.5 48 48 48h224c26.5 0 48-21.5 48-48v-65.5l-64-50.4V384z"/></symbol><symbol class="ftsvg-inline--fa ftfa-suitcase" viewBox="0 0 512 512" id="fas-suitcase" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M176 56v40h160V56c0-4.4-3.6-8-8-8H184c-4.4 0-8 3.6-8 8zm-48 40V56c0-30.9 25.1-56 56-56h144c30.9 0 56 25.1 56 56v424H128V96zm-64 0h32v384H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64zm384 384h-32V96h32c35.3 0 64 28.7 64 64v256c0 35.3-28.7 64-64 64z"/></symbol><symbol class="fssvg-inline--fa fsfa-suitcase-rolling" viewBox="0 0 384 512" id="fas-suitcase-rolling" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M144 56c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v72h-96V56zm176 72h-32V56c0-30.9-25.1-56-56-56h-80c-30.9 0-56 25.1-56 56v72H64c-35.3 0-64 28.7-64 64v224c0 35.3 28.7 64 64 64 0 17.7 14.3 32 32 32s32-14.3 32-32h128c0 17.7 14.3 32 32 32s32-14.3 32-32c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64zm-208 96h160c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 128h160c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z"/></symbol><symbol class="fusvg-inline--fa fufa-person-swimming" viewBox="0 0 576 512" id="fas-swimmer" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="m309.5 178.4 138.4 118.7c-1.6.9-3.2 2-4.8 3-18 12.4-40.1 20.3-59.2 20.3-19.6 0-40.8-7.7-59.2-20.3-22.1-15.5-51.6-15.5-73.7 0-17.1 11.8-38 20.3-59.2 20.3-10.1 0-21.1-2.2-31.9-6.2C163.1 193.2 262.2 96 384 96h64c17.7 0 32 14.3 32 32s-14.3 32-32 32h-64c-26.9 0-52.3 6.6-74.5 18.4zM160 160a64 64 0 1 1-128 0 64 64 0 1 1 128 0zm146.5 165.9c22.5 15.5 50 26.1 77.5 26.1 26.9 0 55.4-10.8 77.4-26.1 11.9-8.5 28.1-7.8 39.2 1.7 14.4 11.9 32.5 21 50.6 25.2 17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25-29 15.6-61.5 25.9-94.5 25.9-31.9 0-60.6-9.9-80.4-18.9-5.8-2.7-11.1-5.3-15.6-7.7-4.5 2.4-9.7 5.1-15.6 7.7-19.8 9-48.5 18.9-80.4 18.9-33 0-65.5-10.3-94.5-25.8-13.4 8.4-33.7 19.3-58.2 25-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2 11.1-9.4 27.3-10.1 39.2-1.7 22.1 15.2 50.5 26 77.4 26 27.5 0 55-10.6 77.5-26.1 11.1-7.9 25.9-7.9 37 0z"/></symbol><symbol class="fvsvg-inline--fa fvfa-water-ladder" viewBox="0 0 576 512" id="fas-swimming-pool" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M128 127.7c0-52.8 42.9-95.7 95.7-95.7 48.3 0 89 36 95 83.9l1 8.2c2.2 17.5-10.2 33.5-27.8 35.7s-33.5-10.2-35.7-27.8l-1-8.2c-2-15.9-15.5-27.8-31.5-27.8-17.5 0-31.7 14.2-31.7 31.7V224h192v-96.3c0-52.8 42.9-95.7 95.7-95.7 48.3 0 89 36 95 83.9l1 8.2c2.2 17.5-10.2 33.5-27.8 35.7s-33.5-10.2-35.7-27.8l-1-8.2c-2-15.9-15.5-27.8-31.5-27.8-17.5 0-31.7 14.2-31.7 31.7V361c-1.6 1-3.3 2-4.8 3.1-18 12.4-40.1 20.3-59.2 20.3V288H192v96.5c-19 0-41.2-7.9-59.1-20.3-1.6-1.1-3.2-2.2-4.9-3.1V127.7zm178.5 262.2c22.5 15.5 50 26.1 77.5 26.1 26.9 0 55.4-10.8 77.4-26.1 11.9-8.5 28.1-7.8 39.2 1.7 14.4 11.9 32.5 21 50.6 25.2 17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25-29 15.6-61.5 25.9-94.5 25.9-31.9 0-60.6-9.9-80.4-18.9-5.8-2.7-11.1-5.3-15.6-7.7-4.5 2.4-9.7 5.1-15.6 7.7-19.8 9-48.5 18.9-80.4 18.9-33 0-65.5-10.3-94.5-25.8-13.4 8.4-33.7 19.3-58.2 25-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2 11.1-9.4 27.3-10.1 39.2-1.7 22.1 15.2 50.5 26 77.4 26 27.5 0 55-10.6 77.5-26.1 11.1-7.9 25.9-7.9 37 0z"/></symbol><symbol class="fwsvg-inline--fa fwfa-synagogue" viewBox="0 0 640 512" id="fas-synagogue" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M309.8 3.7c5.9-4.9 14.6-4.9 20.5 0l121 100.8c18.2 15.2 28.7 37.7 28.7 61.5v346H352v-96c0-17.7-14.3-32-32-32s-32 14.3-32 32v96H160V166c0-23.7 10.5-46.3 28.8-61.5l121-100.8zM512 512V244.5l28.1-31.2c3-3.4 7.4-5.3 11.9-5.3s8.9 1.9 11.9 5.3l63.8 70.9c7.9 8.8 12.3 20.3 12.3 32.1V448c0 35.3-28.7 64-64 64h-64zM128 244.5V512H64c-35.3 0-64-28.7-64-64V316.3c0-11.9 4.4-23.3 12.3-32.1l63.8-70.9c3-3.4 7.4-5.3 11.9-5.3s8.9 1.9 11.9 5.3l28.1 31.2zm199-120.2c-3.1-5.4-10.9-5.4-13.9 0l-15.9 28.1-32.3-.3c-6.2-.1-10.1 6.7-7 12.1l16.4 27.8-16.4 27.8c-3.2 5.4.7 12.1 7 12.1l32.3-.3 15.8 28.1c3.1 5.4 10.9 5.4 13.9 0l15.9-28.1 32.3.3c6.2.1 10.1-6.7 7-12.1L365.7 192l16.4-27.8c3.2-5.4-.7-12.1-7-12.1l-32.3.3-15.8-28.1z"/></symbol><symbol class="fxsvg-inline--fa fxfa-table-tennis-paddle-ball" viewBox="0 0 640 512" id="fas-table-tennis" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M480 288c-50.1 0-93.6 28.8-114.6 70.8L132.9 126.3l.6-.6 60.1-60.1c87.5-87.5 229.3-87.5 316.8 0 67.1 67.1 82.7 166.3 46.8 248.3C535.8 297.6 509 288 480 288zM113.3 151.9l240.8 240.8c-1.4 7.5-2.1 15.3-2.1 23.3 0 23.2 6.2 44.9 16.9 63.7-3 .2-6.1.3-9.2.3H357c-33.9 0-66.5-13.5-90.5-37.5l-9.8-9.8c-13.1-13.1-34.6-12.4-46.8 1.7L152.2 501c-5.8 6.7-14.2 10.7-23 11s-17.5-3.1-23.8-9.4l-32-32c-6.3-6.3-9.7-14.9-9.4-23.8s4.3-17.2 11-23l66.6-57.7c14-12.2 14.8-33.7 1.7-46.8l-9.8-9.8c-24-24-37.5-56.6-37.5-90.5v-2.7c0-22.8 6.1-44.9 17.3-64.3zM480 320a96 96 0 1 1 0 192 96 96 0 1 1 0-192z"/></symbol><symbol class="fysvg-inline--fa fyfa-gauge-high" viewBox="0 0 512 512" id="fas-tachometer-alt" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M0 256a256 256 0 1 1 512 0 256 256 0 1 1-512 0zM288 96a32 32 0 1 0-64 0 32 32 0 1 0 64 0zm-32 320c35.3 0 64-28.7 64-64 0-17.4-6.9-33.1-18.1-44.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3.2-31.6 12.3L257.9 288H256c-35.3 0-64 28.7-64 64s28.7 64 64 64zm-80-272a32 32 0 1 0-64 0 32 32 0 1 0 64 0zM96 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm352-32a32 32 0 1 0-64 0 32 32 0 1 0 64 0z"/></symbol><symbol class="fzsvg-inline--fa fzfa-tags" viewBox="0 0 512 512" id="fas-tags" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="m345 39.1 127.8 129.3c52.4 53 52.4 138.2 0 191.2l-112 113.3c-9.3 9.4-24.5 9.5-33.9.2s-9.5-24.5-.2-33.9l111.9-113.3c33.9-34.3 33.9-89.4 0-123.7L310.9 72.9c-9.3-9.4-9.2-24.6.2-33.9s24.6-9.2 33.9.2zM0 229.5V80c0-26.5 21.5-48 48-48h149.5c17 0 33.3 6.7 45.3 18.7l168 168c25 25 25 65.5 0 90.5L277.3 442.7c-25 25-65.5 25-90.5 0l-168-168C6.7 262.7 0 246.5 0 229.5zM144 144a32 32 0 1 0-64 0 32 32 0 1 0 64 0z"/></symbol><symbol class="gasvg-inline--fa gafa-tape" viewBox="0 0 576 512" id="fas-tape" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M380.8 416c41.5-40.7 67.2-97.3 67.2-160 0-123.7-100.3-224-224-224S0 132.3 0 256s100.3 224 224 224h320c17.7 0 32-14.3 32-32s-14.3-32-32-32H380.8zM224 160a96 96 0 1 1 0 192 96 96 0 1 1 0-192zm64 96a64 64 0 1 0-128 0 64 64 0 1 0 128 0z"/></symbol><symbol class="gbsvg-inline--fa gbfa-taxi" viewBox="0 0 512 512" id="fas-taxi" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M192 0c-17.7 0-32 14.3-32 32v32.2c-38.6 2.2-72.3 27.3-85.2 64.1L39.6 228.8C16.4 238.4 0 261.3 0 288v192c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32v-48h320v48c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V288c0-26.7-16.4-49.6-39.6-59.2l-35.2-100.5c-12.9-36.8-46.6-62-85.2-64.1V32c0-17.7-14.3-32-32-32H192zm-26.6 128h181.2c13.6 0 25.7 8.6 30.2 21.4l26.1 74.6H109.1l26.1-74.6c4.5-12.8 16.6-21.4 30.2-21.4zM96 288a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm288 32a32 32 0 1 1 64 0 32 32 0 1 1-64 0z"/></symbol><symbol class="gcsvg-inline--fa gcfa-teeth" viewBox="0 0 576 512" id="fas-teeth" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M0 128c0-53 43-96 96-96h384c53 0 96 43 96 96v256c0 53-43 96-96 96H96c-53 0-96-43-96-96V128zm176 48v56c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24v-56c0-26.5-21.5-48-48-48s-48 21.5-48 48zm176-48c-26.5 0-48 21.5-48 48v56c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24v-56c0-26.5-21.5-48-48-48zM48 208v24c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24v-24c0-26.5-21.5-48-48-48s-48 21.5-48 48zm48 176c26.5 0 48-21.5 48-48v-24c0-13.3-10.7-24-24-24H72c-13.3 0-24 10.7-24 24v24c0 26.5 21.5 48 48 48zm80-48c0 26.5 21.5 48 48 48s48-21.5 48-48v-24c0-13.3-10.7-24-24-24h-48c-13.3 0-24 10.7-24 24v24zm176 48c26.5 0 48-21.5 48-48v-24c0-13.3-10.7-24-24-24h-48c-13.3 0-24 10.7-24 24v24c0 26.5 21.5 48 48 48zm80-176v24c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24v-24c0-26.5-21.5-48-48-48s-48 21.5-48 48zm48 176c26.5 0 48-21.5 48-48v-24c0-13.3-10.7-24-24-24h-48c-13.3 0-24 10.7-24 24v24c0 26.5 21.5 48 48 48z"/></symbol><symbol class="gesvg-inline--fa gefa-table-cells" viewBox="0 0 512 512" id="fas-th" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M64 32C28.7 32 0 60.7 0 96v320c0 35.3 28.7 64 64 64h384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm88 64v64H64V96h88zm56 0h88v64h-88V96zm240 0v64h-88V96h88zM64 224h88v64H64v-64zm232 0v64h-88v-64h88zm64 0h88v64h-88v-64zM152 352v64H64v-64h88zm56 0h88v64h-88v-64zm240 0v64h-88v-64h88z"/></symbol><symbol class="gdsvg-inline--fa gdfa-table-list" viewBox="0 0 512 512" id="fas-th-list" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M0 96c0-35.3 28.7-64 64-64h384c35.3 0 64 28.7 64 64v320c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm64 0v64h64V96H64zm384 0H192v64h256V96zM64 224v64h64v-64H64zm384 0H192v64h256v-64zM64 352v64h64v-64H64zm384 0H192v64h256v-64z"/></symbol><symbol class="gfsvg-inline--fa gffa-temperature-three-quarters" viewBox="0 0 320 512" id="fas-thermometer-three-quarters" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M160 64c-26.5 0-48 21.5-48 48v164.5c0 17.3-7.1 31.9-15.3 42.5C86.2 332.6 80 349.5 80 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9-8.2-10.6-15.3-25.2-15.3-42.5V112c0-26.5-21.5-48-48-48zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112v164.5c0 .1.1.3.2.6.2.6.8 1.6 1.7 2.8 18.9 24.4 30.1 55 30.1 88.1 0 79.5-64.5 144-144 144S16 447.5 16 368c0-33.2 11.2-63.8 30.1-88.1.9-1.2 1.5-2.2 1.7-2.8.1-.3.2-.5.2-.6V112zm160 256c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V144c0-8.8 7.2-16 16-16s16 7.2 16 16v178.7c18.6 6.6 32 24.4 32 45.3z"/></symbol><symbol class="ggsvg-inline--fa ggfa-ticket-simple" viewBox="0 0 576 512" id="fas-ticket-alt" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M0 128c0-35.3 28.7-64 64-64h448c35.3 0 64 28.7 64 64v64c0 8.8-7.4 15.7-15.7 18.6C541.5 217.1 528 235 528 256s13.5 38.9 32.3 45.4c8.3 2.9 15.7 9.8 15.7 18.6v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64v-64c0-8.8 7.4-15.7 15.7-18.6C34.5 294.9 48 277 48 256s-13.5-38.9-32.3-45.4C7.4 207.7 0 200.8 0 192v-64z"/></symbol><symbol class="gisvg-inline--fa gifa-droplet" viewBox="0 0 384 512" id="fas-tint" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M192 512C86 512 0 426 0 320 0 228.8 130.2 57.7 166.6 11.7c6-7.5 14.9-11.7 24.5-11.7h1.8c9.6 0 18.5 4.2 24.5 11.7C253.8 57.7 384 228.8 384 320c0 106-86 192-192 192zM96 336c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 61.9 50.1 112 112 112 8.8 0 16-7.2 16-16s-7.2-16-16-16c-44.2 0-80-35.8-80-80z"/></symbol><symbol class="ghsvg-inline--fa ghfa-droplet-slash" viewBox="0 0 640 512" id="fas-tint-slash" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M320 512c53.2 0 101.4-21.6 136.1-56.6l-298.3-235C140 257.1 128 292.3 128 320c0 106 86 192 192 192zm185.2-141.3c4.4-16.1 6.8-33.1 6.8-50.7 0-91.2-130.2-262.3-166.6-308.3-6-7.5-14.9-11.7-24.5-11.7h-1.8c-9.6 0-18.5 4.2-24.5 11.7C277.8 33 240.7 81.3 205.8 136L38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2s-6.3 25.5 4.1 33.7l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-125.6-98.4zM224 336c0 44.2 35.8 80 80 80 8.8 0 16 7.2 16 16s-7.2 16-16 16c-61.9 0-112-50.1-112-112 0-8.8 7.2-16 16-16s16 7.2 16 16z"/></symbol><symbol class="gjsvg-inline--fa gjfa-toilet" viewBox="0 0 448 512" id="fas-toilet" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M24 0C10.7 0 0 10.7 0 24s10.7 24 24 24h8v148.9c-1.9 1.4-3.8 2.9-5.6 4.4C10.9 214.5 0 232.9 0 256c0 46.9 14.3 84.1 37 112.5 14.2 17.7 31.1 31.3 48.5 41.8l-19.9 59.6c-3.3 9.8-1.6 20.5 4.4 28.8S85.7 512 96 512h256c10.3 0 19.9-4.9 26-13.3s7.7-19.1 4.4-28.8l-19.8-59.5c17.4-10.5 34.3-24.1 48.5-41.8 22.7-28.4 37-65.5 37-112.5 0-23.1-10.9-41.5-26.4-54.6-1.8-1.5-3.7-3-5.6-4.4V48h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zm360 256.3c0 1-.3 2.6-3.8 5.6-4.8 4.1-14 9-29.3 13.4C320.5 284 276.1 288 224 288s-96.5-4-126.9-12.8c-15.3-4.4-24.5-9.3-29.3-13.4-3.5-3-3.8-4.6-3.8-5.6v-.4c0-1 0-2.5 3.8-5.8 4.8-4.1 14-9 29.3-13.4C127.5 228 171.9 224 224 224s96.5 4 126.9 12.8c15.3 4.4 24.5 9.3 29.3 13.4 3.8 3.2 3.8 4.8 3.8 5.8v.4zM328.2 384l-.2.5v-.5h.2zM112 64h32c8.8 0 16 7.2 16 16s-7.2 16-16 16h-32c-8.8 0-16-7.2-16-16s7.2-16 16-16z"/></symbol><symbol class="gksvg-inline--fa gkfa-screwdriver-wrench" viewBox="0 0 512 512" id="fas-tools" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M78.6 5c-9.5-7.4-23-6.5-31.6 2L7 47c-8.5 8.5-9.4 22-2.1 31.6l80 104c4.5 5.9 11.6 9.4 19 9.4H158l109 109c-14.7 29-10 65.4 14.3 89.6l112 112c12.5 12.5 32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3l-112-112c-24.2-24.2-60.6-29-89.6-14.3L192 158v-54c0-7.5-3.5-14.5-9.4-19L78.6 5zM19.9 396.1C7.2 408.8 0 426.1 0 444.1 0 481.6 30.4 512 67.9 512c18 0 35.3-7.2 48-19.9l117.8-117.8c-7.8-20.9-9-43.6-3.6-65.1l-61.7-61.7L19.9 396.1zM512 144c0-10.5-1.1-20.7-3.2-30.5-2.4-11.2-16.1-14.1-24.2-6l-63.9 63.9c-3 3-7.1 4.7-11.3 4.7H352c-8.8 0-16-7.2-16-16v-57.5c0-4.2 1.7-8.3 4.7-11.3l63.9-63.9c8.1-8.1 5.2-21.8-6-24.2C388.7 1.1 378.5 0 368 0c-79.5 0-144 64.5-144 144v.8l85.3 85.3c36-9.1 75.8.5 104 28.7l15.7 15.7c49-23 83-72.8 83-130.5zM56 432a24 24 0 1 1 48 0 24 24 0 1 1-48 0z"/></symbol><symbol class="glsvg-inline--fa glfa-tractor" viewBox="0 0 640 512" id="fas-tractor" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M96 64c0-35.3 28.7-64 64-64h106.3c26.2 0 49.7 15.9 59.4 40.2l48 119.8H480v-33.8c0-24.8 5.8-49.3 16.9-71.6l2.5-5c7.9-15.8 27.1-22.2 42.9-14.3s22.2 27.1 14.3 42.9l-2.5 5c-6.7 13.3-10.1 28-10.1 42.9V160h56c22.1 0 40 17.9 40 40v45.4c0 16.5-8.5 31.9-22.6 40.7l-43.3 27.1c-14.2-5.9-29.8-9.2-46.1-9.2-39.3 0-74.1 18.9-96 48h-80c0 17.7-14.3 32-32 32h-8.2c-1.7 4.8-3.7 9.5-5.8 14.1l5.8 5.8c12.5 12.5 12.5 32.8 0 45.3l-22.6 22.6c-12.5 12.5-32.8 12.5-45.3 0l-5.8-5.8c-4.6 2.2-9.3 4.1-14.1 5.8v8.2c0 17.7-14.3 32-32 32h-32c-17.7 0-32-14.3-32-32v-8.2c-4.8-1.7-9.5-3.7-14.1-5.8l-5.8 5.8c-12.5 12.5-32.8 12.5-45.3 0l-22.6-22.7c-12.5-12.5-12.5-32.8 0-45.3L46 398c-2.2-4.6-4.1-9.3-5.8-14.1H32c-17.7 0-32-14.3-32-32V320c0-17.7 14.3-32 32-32h8.2c1.7-4.8 3.7-9.5 5.8-14.1l-5.8-5.8c-12.5-12.5-12.5-32.8 0-45.3l22.6-22.6c9-9 21.9-11.5 33.1-7.6V64zm170.3 0H160v96h144.7l-38.4-96zM176 256a80 80 0 1 0 0 160 80 80 0 1 0 0-160zm352 192a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0 64c-48.6 0-88-39.4-88-88 0-29.8 14.8-56.1 37.4-72 14.3-10.1 31.8-16 50.6-16 2.7 0 5.3.1 7.9.3 44.9 4 80.1 41.7 80.1 87.7 0 48.6-39.4 88-88 88z"/></symbol><symbol class="gmsvg-inline--fa gmfa-cable-car" viewBox="0 0 512 512" id="fas-tram" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M288 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM160 56a32 32 0 1 1 64 0 32 32 0 1 1-64 0zM32 288c0-35.3 28.7-64 64-64h136v-66.5l-203.1 42c-13 2.7-25.7-5.7-28.4-18.6s5.7-25.7 18.6-28.4l232-48 232-48c13-2.7 25.7 5.7 28.4 18.6s-5.7 25.7-18.6 28.4l-212.9 44V224h136c35.3 0 64 28.7 64 64v160c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V288zm64 0c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-64c0-8.8-7.2-16-16-16H96zm112 16v64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-64c0-8.8-7.2-16-16-16h-64c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-64c0-8.8-7.2-16-16-16h-64z"/></symbol><symbol class="gnsvg-inline--fa gnfa-trash-arrow-up" viewBox="0 0 448 512" id="fas-trash-restore" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M163.8 0h120.4c12.1 0 23.2 6.8 28.6 17.7L320 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64s14.3-32 32-32h96l7.2-14.3C140.6 6.8 151.7 0 163.8 0zM32 128h384l-21.2 339c-1.6 25.3-22.6 45-47.9 45H101.1c-25.3 0-46.3-19.7-47.9-45L32 128zm192 64c-6.4 0-12.5 2.5-17 7l-80 80c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l39-39V408c0 13.3 10.7 24 24 24s24-10.7 24-24V273.9l39 39c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-80-80c-4.5-4.5-10.6-7-17-7z"/></symbol><symbol class="gosvg-inline--fa gofa-trophy" viewBox="0 0 576 512" id="fas-trophy" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M400 0H176c-26.5 0-48.1 21.8-47.1 48.2.2 5.3.4 10.6.7 15.8H24C10.7 64 0 74.7 0 88c0 92.6 33.5 157 78.5 200.7 44.3 43.1 98.3 64.8 138.1 75.8 23.4 6.5 39.4 26 39.4 45.6 0 20.9-17 37.9-37.9 37.9H192c-17.7 0-32 14.3-32 32s14.3 32 32 32h192c17.7 0 32-14.3 32-32s-14.3-32-32-32h-26.1c-20.9 0-37.9-17-37.9-37.9 0-19.6 15.9-39.2 39.4-45.6 39.9-11 93.9-32.7 138.2-75.8C542.5 245 576 180.6 576 88c0-13.3-10.7-24-24-24H446.4c.3-5.2.5-10.4.7-15.8C448.1 21.8 426.5 0 400 0zM48.9 112h84.4c9.1 90.1 29.2 150.3 51.9 190.6-24.9-11-50.8-26.5-73.2-48.3-32-31.1-58-76-63-142.3zm415.2 142.3c-22.4 21.8-48.3 37.3-73.2 48.3 22.7-40.3 42.8-100.5 51.9-190.6h84.4c-5.1 66.3-31.1 111.2-63 142.3z"/></symbol><symbol class="gpsvg-inline--fa gpfa-truck-fast" viewBox="0 0 640 512" id="fas-truck-fast" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M112 0C85.5 0 64 21.5 64 48v48H16c-8.8 0-16 7.2-16 16s7.2 16 16 16h256c8.8 0 16 7.2 16 16s-7.2 16-16 16H48c-8.8 0-16 7.2-16 16s7.2 16 16 16h192c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16 7.2-16 16s7.2 16 16 16h192c8.8 0 16 7.2 16 16s-7.2 16-16 16H64v128c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V237.3c0-17-6.7-33.3-18.7-45.3L512 114.7c-12-12-28.3-18.7-45.3-18.7H416V48c0-26.5-21.5-48-48-48H112zm432 237.3V256H416v-96h50.7l77.3 77.3zM160 368a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm272 48a48 48 0 1 1 96 0 48 48 0 1 1-96 0z"/></symbol><symbol class="gqsvg-inline--fa gqfa-truck-ramp-box" viewBox="0 0 640 512" id="fas-truck-loading" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M640 0v400c0 61.9-50.1 112-112 112-61 0-110.5-48.7-112-109.3L48.4 502.9c-17.1 4.6-34.6-5.4-39.3-22.5s5.4-34.6 22.5-39.3L352 353.8V64c0-35.3 28.7-64 64-64h224zm-64 400a48 48 0 1 0-96 0 48 48 0 1 0 96 0zM23.1 207.7c-4.6-17.1 5.6-34.6 22.6-39.2l46.4-12.4 20.7 77.3c2.3 8.5 11.1 13.6 19.6 11.3l30.9-8.3c8.5-2.3 13.6-11.1 11.3-19.6l-20.7-77.3 46.4-12.4c17.1-4.6 34.6 5.6 39.2 22.6l41.4 154.5c4.6 17.1-5.6 34.6-22.6 39.2l-154.6 41.5c-17.1 4.6-34.6-5.6-39.2-22.6L23.1 207.7z"/></symbol><symbol class="grsvg-inline--fa grfa-truck-monster" viewBox="0 0 640 512" id="fas-truck-monster" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M288 64v64h128l-48-64h-80zm131.2-38.4L496 128h80c17.7 0 32 14.3 32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32c-29.2-38.9-75.7-64-128-64s-98.8 25.1-128 64h-64c-29.2-38.9-75.7-64-128-64s-98.8 25.1-128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32v-64c0-17.7 14.3-32 32-32h160V48c0-26.5 21.5-48 48-48h96c20.1 0 39.1 9.5 51.2 25.6zM152 256h16c12.1 0 22.1 8.9 23.8 20.6 7.6 2.2 14.9 5.3 21.7 9 9.4-7 22.8-6.3 31.3 2.3l11.3 11.3c8.6 8.6 9.3 21.9 2.3 31.3 3.7 6.8 6.8 14.1 9 21.7C279 353.9 288 363.9 288 376v16c0 12.1-8.9 22.1-20.6 23.8-2.2 7.6-5.3 14.9-9 21.7 7 9.4 6.3 22.8-2.3 31.3l-11.3 11.3c-8.6 8.6-21.9 9.3-31.3 2.2-6.8 3.7-14.1 6.8-21.7 9-1.7 11.8-11.7 20.7-23.8 20.7h-16c-12.1 0-22.1-8.9-23.8-20.6-7.6-2.2-14.9-5.3-21.7-9-9.4 7.1-22.8 6.3-31.3-2.2l-11.4-11.3c-8.6-8.6-9.3-21.9-2.3-31.3-3.7-6.9-6.8-14.1-9-21.8C40.9 414.1 32 404.1 32 392v-16c0-12.1 8.9-22.1 20.6-23.8 2.2-7.6 5.3-14.9 9-21.8-7-9.4-6.3-22.8 2.3-31.3l11.3-11.3c8.6-8.6 21.9-9.3 31.3-2.3 6.8-3.7 14.1-6.8 21.7-9 1.7-11.6 11.7-20.6 23.8-20.6zm8 176a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm288.2-155.4C449.9 265 459.9 256 472 256h16c12.1 0 22.1 8.9 23.8 20.6 7.6 2.2 14.9 5.3 21.8 9 9.4-7 22.8-6.3 31.3 2.3l11.3 11.3c8.6 8.6 9.3 21.9 2.2 31.3 3.7 6.8 6.8 14.1 9 21.7C599 353.9 608 363.9 608 376v16c0 12.1-8.9 22.1-20.6 23.8-2.2 7.6-5.3 14.9-9 21.7 7 9.4 6.3 22.8-2.2 31.3l-11.3 11.3c-8.6 8.6-21.9 9.3-31.3 2.2-6.9 3.7-14.1 6.8-21.8 9-1.7 11.8-11.7 20.7-23.8 20.7h-16c-12.1 0-22.1-8.9-23.8-20.6-7.6-2.2-14.9-5.3-21.7-9-9.4 7.1-22.8 6.3-31.3-2.2l-11.3-11.3c-8.6-8.6-9.3-21.9-2.2-31.3-3.7-6.9-6.8-14.1-9-21.8-11.8-1.7-20.7-11.7-20.7-23.8v-16c0-12.1 8.9-22.1 20.6-23.8 2.2-7.6 5.3-14.9 9-21.8-7-9.4-6.3-22.8 2.2-31.3l11.3-11.3c8.6-8.6 21.9-9.3 31.3-2.3 6.8-3.7 14.1-6.8 21.7-9zM528 384a48 48 0 1 0-96 0 48 48 0 1 0 96 0z"/></symbol><symbol class="gssvg-inline--fa gsfa-shirt" viewBox="0 0 640 512" id="fas-tshirt" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M211.8 0c7.8 0 14.3 5.7 16.7 13.2C240.8 51.9 277.1 80 320 80s79.2-28.1 91.5-66.8C413.9 5.7 420.4 0 428.2 0h12.6c22.5 0 44.2 7.9 61.5 22.3l126.2 105.1c6.6 5.5 10.7 13.5 11.4 22.1s-2.1 17.1-7.8 23.6l-56 64c-11.4 13.1-31.2 14.6-44.6 3.5L480 197.7V448c0 35.3-28.7 64-64 64H224c-35.3 0-64-28.7-64-64V197.7l-51.5 42.9c-13.3 11.1-33.1 9.6-44.6-3.5l-56-64c-5.7-6.5-8.5-15-7.8-23.6s4.8-16.6 11.4-22.1L137.7 22.3C155 7.9 176.7 0 199.2 0h12.6z"/></symbol><symbol class="gtsvg-inline--fa gtfa-umbrella-beach" viewBox="0 0 576 512" id="fas-umbrella-beach" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="m346.3 271.8-60.1-21.9L214 448H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h512c17.7 0 32-14.3 32-32s-14.3-32-32-32H282.1l64.1-176.2zm121.1-.2-3.3 9.1 67.7 24.6c18.1 6.6 38-4.2 39.6-23.4 6.5-78.5-23.9-155.5-80.8-208.5 2 8 3.2 16.3 3.4 24.8l.2 6c1.8 57-7.3 113.8-26.8 167.4zM462 99.1c-1.1-34.4-22.5-64.8-54.4-77.4-.9-.4-1.9-.7-2.8-1.1-33-11.7-69.8-2.4-93.1 23.8l-4 4.5C272.4 88.3 245 134.2 226.8 184l-3.3 9.1L434 269.7l3.3-9.1c18.1-49.8 26.6-102.5 24.9-155.5l-.2-6zm-354.8 13.8c-11.1 15.7-2.8 36.8 15.3 43.4l71 25.8 3.3-9.1c19.5-53.6 49.1-103 87.1-145.5l4-4.5c6.2-6.9 13.1-13 20.5-18.2-79.6 2.5-154.7 42.2-201.2 108z"/></symbol><symbol class="gusvg-inline--fa gufa-user-large" viewBox="0 0 512 512" id="fas-user-alt" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M256 288a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm-94.7 32C72.2 320 0 392.2 0 481.3c0 17 13.8 30.7 30.7 30.7h450.6c17 0 30.7-13.8 30.7-30.7 0-89.1-72.2-161.3-161.3-161.3H161.3z"/></symbol><symbol class="gvsvg-inline--fa gvfa-user-gear" viewBox="0 0 640 512" id="fas-user-cog" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M224 0a128 128 0 1 1 0 256 128 128 0 1 1 0-256zm-45.7 304h91.4c11.8 0 23.4 1.2 34.5 3.3-2.1 18.5 7.4 35.6 21.8 44.8-16.6 10.6-26.7 31.6-20 53.3 4 12.9 9.4 25.5 16.4 37.6s15.2 23.1 24.4 33c15.7 16.9 39.6 18.4 57.2 8.7v.9c0 9.2 2.7 18.5 7.9 26.3H29.7C13.3 512 0 498.7 0 482.3 0 383.8 79.8 304 178.3 304zM436 218.2c0-7 4.5-13.3 11.3-14.8 10.5-2.4 21.5-3.7 32.7-3.7s22.2 1.3 32.7 3.7c6.8 1.5 11.3 7.8 11.3 14.8v30.6c7.9 3.4 15.4 7.7 22.3 12.8l24.9-14.3c6.1-3.5 13.7-2.7 18.5 2.4 7.6 8.1 14.3 17.2 20.1 27.2s10.3 20.4 13.5 31c2.1 6.7-1.1 13.7-7.2 17.2l-25 14.4c.4 4 .7 8.1.7 12.3s-.2 8.2-.7 12.3l25 14.4c6.1 3.5 9.2 10.5 7.2 17.2-3.3 10.6-7.8 21-13.5 31s-12.5 19.1-20.1 27.2c-4.8 5.1-12.5 5.9-18.5 2.4L546.3 442c-6.9 5.1-14.3 9.4-22.3 12.8v30.6c0 7-4.5 13.3-11.3 14.8-10.5 2.4-21.5 3.7-32.7 3.7s-22.2-1.3-32.7-3.7c-6.8-1.5-11.3-7.8-11.3-14.8v-30.6c-8-3.4-15.6-7.7-22.5-12.9l-24.7 14.3c-6.1 3.5-13.7 2.7-18.5-2.4-7.6-8.1-14.3-17.2-20.1-27.2s-10.3-20.4-13.5-31c-2.1-6.7 1.1-13.7 7.2-17.2l24.8-14.3c-.4-4.1-.7-8.2-.7-12.4s.2-8.3.7-12.4L343.8 325c-6.1-3.5-9.2-10.5-7.2-17.2 3.3-10.6 7.7-21 13.5-31s12.5-19.1 20.1-27.2c4.8-5.1 12.4-5.9 18.5-2.4l24.8 14.3c6.9-5.1 14.5-9.4 22.5-12.9v-30.4zm92.1 133.5a48.1 48.1 0 1 0-96.1 0 48.1 48.1 0 1 0 96.1 0z"/></symbol><symbol class="gwsvg-inline--fa gwfa-user-secret" viewBox="0 0 448 512" id="fas-user-secret" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M224 16c-6.7 0-10.8-2.8-15.5-6.1C201.9 5.4 194 0 176 0c-30.5 0-52 43.7-66 89.4-47.3 8.7-78 22.8-78 38.6 0 14.3 25 27.1 64.6 35.9-.4 4-.6 8-.6 12.1 0 17 3.3 33.2 9.3 48H45.4C38 224 32 230 32 237.4c0 1.7.3 3.4 1 5l38.8 96.9C28.2 371.8 0 423.8 0 482.3 0 498.7 13.3 512 29.7 512h388.6c16.4 0 29.7-13.3 29.7-29.7 0-58.5-28.2-110.4-71.7-143l38.7-96.9c.6-1.6 1-3.3 1-5 0-7.4-6-13.4-13.4-13.4h-59.9c6-14.8 9.3-31 9.3-48 0-4.1-.2-8.1-.6-12.1C391 155.1 416 142.3 416 128c0-15.8-30.7-29.9-78-38.6C324 43.7 302.5 0 272 0c-18 0-25.9 5.4-32.5 9.9-4.8 3.3-8.8 6.1-15.5 6.1zm56 208h-12.4c-16.5 0-31.1-10.6-36.3-26.2-2.3-7-12.2-7-14.5 0-5.2 15.6-19.9 26.2-36.3 26.2H168c-22.1 0-40-17.9-40-40v-14.4c28.2 4.1 61 6.4 96 6.4s67.8-2.3 96-6.4V184c0 22.1-17.9 40-40 40zm-88 96 16 32-32 128-48-192 64 32zm128-32-48 192-32-128 16-32 64-32z"/></symbol><symbol class="gxsvg-inline--fa gxfa-user-tie" viewBox="0 0 448 512" id="fas-user-tie" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M224 256a128 128 0 1 1 0-256 128 128 0 1 1 0 256zm-14.9 103.2-18.6-31c-6.4-10.7 1.3-24.2 13.7-24.2h39.5c12.4 0 20.1 13.6 13.7 24.2l-18.6 31 33.4 123.9 36-146.9c2-8.1 9.8-13.4 17.9-11.3 70.1 17.6 121.9 81 121.9 156.4 0 17-13.8 30.7-30.7 30.7H285.5c-2.1 0-4-.4-5.8-1.1l.3 1.1H168l.3-1.1c-1.8.7-3.8 1.1-5.8 1.1H30.7C13.8 512 0 498.2 0 481.3c0-75.5 51.9-138.9 121.9-156.4 8.1-2 15.9 3.3 17.9 11.3l36 146.9 33.4-123.9z"/></symbol><symbol class="gysvg-inline--fa gyfa-users" viewBox="0 0 640 512" id="fas-users" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M144 0a80 80 0 1 1 0 160 80 80 0 1 1 0-160zm368 0a80 80 0 1 1 0 160 80 80 0 1 1 0-160zM0 298.7C0 239.8 47.8 192 106.7 192h42.7c15.9 0 31 3.5 44.6 9.7-1.3 7.2-1.9 14.7-1.9 22.3 0 38.2 16.8 72.5 43.3 96H21.3C9.6 320 0 310.4 0 298.7zM405.3 320h-.7c26.6-23.5 43.3-57.8 43.3-96 0-7.6-.7-15-1.9-22.3 13.6-6.3 28.7-9.7 44.6-9.7h42.7c58.9 0 106.7 47.8 106.7 106.7 0 11.8-9.6 21.3-21.3 21.3H405.3zM224 224a96 96 0 1 1 192 0 96 96 0 1 1-192 0zm-96 261.3c0-73.6 59.7-133.3 133.3-133.3h117.4c73.6 0 133.3 59.7 133.3 133.3 0 14.7-11.9 26.7-26.7 26.7H154.7c-14.7 0-26.7-11.9-26.7-26.7z"/></symbol><symbol class="gzsvg-inline--fa gzfa-vector-square" viewBox="0 0 448 512" id="fas-vector-square" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M368 80h32v32h-32V80zm-16-48c-17.7 0-32 14.3-32 32H128c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64v64c0 17.7 14.3 32 32 32v192c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32h192c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32v-64c0-17.7-14.3-32-32-32V160c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32h-64zM96 160c17.7 0 32-14.3 32-32h192c0 17.7 14.3 32 32 32v192c-17.7 0-32 14.3-32 32H128c0-17.7-14.3-32-32-32V160zM48 400h32v32H48v-32zm320 32v-32h32v32h-32zM48 112V80h32v32H48z"/></symbol><symbol class="hasvg-inline--fa hafa-vest" viewBox="0 0 448 512" id="fas-vest" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M207.1 237.4 151.2 69.7C168.6 79.7 192.6 88 224 88s55.4-8.3 72.8-18.3l-70.3 210.9c-1.6 4.9-2.5 10-2.5 15.2V464c0 26.5 21.5 48 48 48h128c26.5 0 48-21.5 48-48V270.5c0-9.5-2.8-18.7-8.1-26.6L392 172.1c-5.3-7.9-8.1-17.1-8.1-26.6V48c0-26.5-21.5-48-48-48h-6.3c-18.6 0-33.9 9.7-43.9 18.8C276.4 27.2 257.2 40 224 40s-52.4-12.8-61.7-21.2C152.3 9.7 137 0 118.3 0H112C85.5 0 64 21.5 64 48v97.5c0 9.5-2.8 18.7-8.1 26.6L8.1 243.9C2.8 251.8 0 261.1 0 270.5V464c0 26.5 21.5 48 48 48h128c9.9 0 19-3 26.7-8.1-6.8-11.7-10.7-25.4-10.7-39.9V295.8c0-8.6 1.4-17.1 4.1-25.3l11-33.1zm140.2 119.3 48 48c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-48-48c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm-294.6 48 48-48c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-48 48c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6z"/></symbol><symbol class="hbsvg-inline--fa hbfa-vial" viewBox="0 0 512 512" id="fas-vial" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M342.6 9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l9.4 9.4L28.1 342.6C10.1 360.6 0 385 0 410.5v5.5c0 53 43 96 96 96h5.5c25.5 0 49.9-10.1 67.9-28.1L448 205.3l9.4 9.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-32-32-96-96-32-32zM205.3 256 352 109.3l50.7 50.7-96 96H205.3z"/></symbol><symbol class="hcsvg-inline--fa hcfa-video" viewBox="0 0 576 512" id="fas-video" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M0 128c0-35.3 28.7-64 64-64h256c35.3 0 64 28.7 64 64v256c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zm559.1-28.2c10.4 5.6 16.9 16.4 16.9 28.2v256c0 11.8-6.5 22.6-16.9 28.2s-23 5-32.9-1.6l-96-64-14.2-9.5V174.9l14.2-9.5 96-64c9.8-6.5 22.4-7.2 32.9-1.6z"/></symbol><symbol class="hdsvg-inline--fa hdfa-vihara" viewBox="0 0 640 512" id="fas-vihara" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="m281 22 24.8-17.3c1.3-.9 2.7-1.8 4.1-2.4C313.1.7 316.6 0 320 0s6.9.7 10.1 2.2c1.4.7 2.8 1.5 4.1 2.4L359 22c34 23.8 71.8 41.5 111.8 52.4l23 6.3c1.8.5 3.6 1.1 5.2 2 3.2 1.7 5.9 4 8.1 6.8 3.8 4.9 5.6 11.3 4.7 17.8-.4 2.8-1.2 5.4-2.5 7.8-1.7 3.2-4 5.9-6.8 8.1-4.3 3.2-9.6 5.1-15.1 4.9H480v56.1l6.4 5.1 5.2 4.1c21.1 16.7 45 29.6 70.5 38.1l28.9 9.6c1.6.5 3.2 1.2 4.6 2 3.1 1.7 5.8 4.1 7.8 6.9s3.5 6.1 4.1 9.6c.5 2.7.6 5.5.1 8.3s-1.4 5.4-2.7 7.8c-1.7 3.1-4.1 5.8-6.9 7.8s-6.1 3.5-9.6 4.1c-1.6.3-3.3.4-5 .4H544v65.9c20.5 22.8 47.4 39.2 77.4 46.7C632 403 640 412.6 640 424c0 13.3-10.7 24-24 24h-40v32c0 17.7-14.3 32-32 32s-32-14.3-32-32v-32H352v32c0 17.7-14.3 32-32 32s-32-14.3-32-32v-32H128v32c0 17.7-14.3 32-32 32s-32-14.3-32-32v-32H24c-13.3 0-24-10.7-24-24 0-11.4 8-21 18.6-23.4 30-7.6 56.9-23.9 77.4-46.7V288H56.6c-1.7 0-3.4-.1-5-.4-3.5-.7-6.8-2.1-9.6-4.1s-5.2-4.7-7-7.8c-1.3-2.4-2.3-5-2.7-7.8s-.4-5.6.1-8.3c.7-3.5 2.1-6.8 4.1-9.6s4.7-5.2 7.8-6.9c1.4-.8 3-1.5 4.6-2l28.9-9.6c25.5-8.5 49.4-21.4 70.5-38.1l5.2-4.1 6.4-5.1V128h-7.5c-5.5.1-10.8-1.7-15.1-4.9-2.8-2.1-5.1-4.8-6.8-8.1-1.2-2.4-2.1-5-2.5-7.8-.9-6.5.9-12.8 4.7-17.8 2.1-2.8 4.8-5.1 8.1-6.8 1.6-.8 3.4-1.5 5.2-2l23-6.3c40.2-10.8 78-28.5 112-52.3zm135 106H224v64h192v-64zM160 288v64h320v-64H160z"/></symbol><symbol class="hesvg-inline--fa hefa-volume-high" viewBox="0 0 640 512" id="fas-volume-up" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M533.6 32.5C598.5 85.3 640 165.8 640 256s-41.5 170.8-106.4 223.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8c54.2-44 88.7-111 88.7-186.2s-34.5-142.2-88.7-186.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zM473.1 107c43.2 35.2 70.9 88.9 70.9 149s-27.7 113.8-70.9 149c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C475.3 341.3 496 301.1 496 256s-20.7-85.3-53.2-111.8c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zm-60.5 74.5c21.5 17.6 35.4 44.4 35.4 74.5s-13.9 56.9-35.4 74.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C393.1 284.4 400 271 400 256s-6.9-28.4-17.7-37.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zM301.1 34.8C312.6 40 320 51.4 320 64v384c0 12.6-7.4 24-18.9 29.2s-25 3.1-34.4-5.3L131.8 352H64c-35.3 0-64-28.7-64-64v-64c0-35.3 28.7-64 64-64h67.8L266.7 40.1c9.4-8.4 22.9-10.4 34.4-5.3z"/></symbol><symbol class="hfsvg-inline--fa hffa-check-to-slot" viewBox="0 0 576 512" id="fas-vote-yea" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M96 80c0-26.5 21.5-48 48-48h288c26.5 0 48 21.5 48 48v304H96V80zm313 47c-9.4-9.4-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L409 161c9.4-9.4 9.4-24.6 0-33.9zM0 336c0-26.5 21.5-48 48-48h16v128h448V288h16c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48v-96z"/></symbol><symbol class="hgsvg-inline--fa hgfa-warehouse" viewBox="0 0 640 512" id="fas-warehouse" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M0 488V171.3c0-26.2 15.9-49.7 40.2-59.4L308.1 4.8c7.6-3.1 16.1-3.1 23.8 0l267.9 107.1c24.3 9.7 40.2 33.3 40.2 59.4V488c0 13.3-10.7 24-24 24h-48c-13.3 0-24-10.7-24-24V224c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32v264c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zm488 24H152c-13.3 0-24-10.7-24-24v-56h384v56c0 13.3-10.7 24-24 24zM128 400v-64h384v64H128zm0-96v-80h384v80H128z"/></symbol><symbol class="hisvg-inline--fa hifa-weight-scale" viewBox="0 0 512 512" id="fas-weight" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M128 176a128 128 0 1 1 256 0 128 128 0 1 1-256 0zM391.8 64C359.5 24.9 310.7 0 256 0S152.5 24.9 120.2 64H64C28.7 64 0 92.7 0 128v320c0 35.3 28.7 64 64 64h384c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64h-56.2zM296 224c0-10.6-4.1-20.2-10.9-27.4l33.6-78.3c3.5-8.1-.3-17.5-8.4-21s-17.5.3-21 8.4L255.7 184c-22 .1-39.7 18-39.7 40 0 22.1 17.9 40 40 40s40-17.9 40-40z"/></symbol><symbol class="hhsvg-inline--fa hhfa-weight-hanging" viewBox="0 0 512 512" id="fas-weight-hanging" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M224 96a32 32 0 1 1 64 0 32 32 0 1 1-64 0zm122.5 32c3.5-10 5.5-20.8 5.5-32 0-53-43-96-96-96s-96 43-96 96c0 11.2 1.9 22 5.5 32H120c-22 0-41.2 15-46.6 36.4l-72 288c-3.6 14.3-.4 29.5 8.7 41.2S33.2 512 48 512h416c14.8 0 28.7-6.8 37.8-18.5s12.3-26.8 8.7-41.2l-72-288C433.2 143 414 128 392 128h-45.5z"/></symbol><symbol class="hjsvg-inline--fa hjfa-wifi" viewBox="0 0 640 512" id="fas-wifi" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M54.2 202.9C123.2 136.7 216.8 96 320 96s196.8 40.7 265.8 106.9c12.8 12.2 33 11.8 45.2-.9s11.8-33-.9-45.2C549.7 79.5 440.4 32 320 32S90.3 79.5 9.8 156.7C-2.9 169-3.3 189.2 8.9 202s32.5 13.2 45.2.9zM320 256c56.8 0 108.6 21.1 148.2 56 13.3 11.7 33.5 10.4 45.2-2.8s10.4-33.5-2.8-45.2C459.8 219.2 393 192 320 192s-139.8 27.2-190.5 72c-13.3 11.7-14.5 31.9-2.8 45.2s31.9 14.5 45.2 2.8c39.5-34.9 91.3-56 148.2-56zm64 160a64 64 0 1 0-128 0 64 64 0 1 0 128 0z"/></symbol><symbol class="hksvg-inline--fa hkfa-wine-bottle" viewBox="0 0 512 512" id="fas-wine-bottle" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M393.4 9.4c12.5-12.5 32.8-12.5 45.3 0l64 64c12.5 12.5 12.5 32.8 0 45.3-11.8 11.8-30.7 12.5-43.2 1.9l-9.5 9.5-48.8 48.8c-9.2 9.2-11.5 22.9-8.6 35.6 9.4 40.9-1.9 85.6-33.8 117.5L197.3 493.3c-25 25-65.5 25-90.5 0l-88-88c-25-25-25-65.5 0-90.5l161.4-161.5c31.9-31.9 76.6-43.1 117.5-33.8 12.6 2.9 26.4.5 35.5-8.6L382 62.1l9.5-9.5c-10.6-12.6-10-31.4 1.9-43.2zM99.3 347.3l65.4 65.4c6.2 6.2 16.4 6.2 22.6 0l97.4-97.4c6.2-6.2 6.2-16.4 0-22.6l-65.4-65.4c-6.2-6.2-16.4-6.2-22.6 0l-97.4 97.4c-6.2 6.2-6.2 16.4 0 22.6z"/></symbol><symbol class="hlsvg-inline--fa hlfa-yin-yang" viewBox="0 0 512 512" id="fas-yin-yang" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M256 64c53 0 96 43 96 96s-43 96-96 96-96 43-96 96 43 96 96 96c-106 0-192-86-192-192S150 64 256 64zm0 448a256 256 0 1 0 0-512 256 256 0 1 0 0 512zm32-352a32 32 0 1 0-64 0 32 32 0 1 0 64 0zm-64 192a32 32 0 1 1 64 0 32 32 0 1 1-64 0z"/></symbol></svg>
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><symbol class="aasvg-inline--fa aafa-clone" viewBox="0 0 512 512" id="far-clone" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M64 464h224c8.8 0 16-7.2 16-16v-64h48v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V224c0-35.3 28.7-64 64-64h64v48H64c-8.8 0-16 7.2-16 16v224c0 8.8 7.2 16 16 16zm160-160h224c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H224c-8.8 0-16 7.2-16 16v224c0 8.8 7.2 16 16 16zm-64-16V64c0-35.3 28.7-64 64-64h224c35.3 0 64 28.7 64 64v224c0 35.3-28.7 64-64 64H224c-35.3 0-64-28.7-64-64z"/></symbol><symbol class="absvg-inline--fa abfa-credit-card" viewBox="0 0 576 512" id="far-credit-card" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M512 80c8.8 0 16 7.2 16 16v32H48V96c0-8.8 7.2-16 16-16h448zm16 144v192c0 8.8-7.2 16-16 16H64c-8.8 0-16-7.2-16-16V224h480zM64 32C28.7 32 0 60.7 0 96v320c0 35.3 28.7 64 64 64h448c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm56 304c-13.3 0-24 10.7-24 24s10.7 24 24 24h48c13.3 0 24-10.7 24-24s-10.7-24-24-24h-48zm128 0c-13.3 0-24 10.7-24 24s10.7 24 24 24h112c13.3 0 24-10.7 24-24s-10.7-24-24-24H248z"/></symbol><symbol class="acsvg-inline--fa acfa-circle-dot" viewBox="0 0 512 512" id="far-dot-circle" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M464 256a208 208 0 1 0-416 0 208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0 256 256 0 1 1-512 0zm256-96a96 96 0 1 1 0 192 96 96 0 1 1 0-192z"/></symbol><symbol class="adsvg-inline--fa adfa-snowflake" viewBox="0 0 448 512" id="far-snowflake" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M224 0c13.3 0 24 10.7 24 24v46.1l23-23c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-57 57v76.5l66.2-38.2L335 98.5c3.4-12.8 16.6-20.4 29.4-17s20.4 16.6 17 29.4l-8.4 31.3 37.1-21.4c11.5-6.6 26.2-2.7 32.8 8.8s2.7 26.2-8.8 32.8L397 183.8l31.5 8.4c12.8 3.4 20.4 16.6 17 29.4s-16.6 20.4-29.4 17l-77.8-20.9L272 256l66.2 38.2 77.8-20.9c12.8-3.4 26 4.2 29.4 17s-4.2 26-17 29.4l-31.4 8.5 37.1 21.4c11.5 6.6 15.4 21.3 8.8 32.8s-21.3 15.4-32.8 8.8L373 369.8l8.4 31.5c3.4 12.8-4.2 26-17 29.4s-26-4.2-29.4-17l-20.9-77.8-66.1-38.3v76.5l57 57c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-23-23v46c0 13.3-10.7 24-24 24s-24-10.7-24-24v-46.1l-23 23c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l57-57v-76.4L134 335.8l-20.9 77.8c-3.4 12.8-16.6 20.4-29.4 17s-20.4-16.6-17-29.4l8.3-31.4-37.1 21.4c-11.5 6.6-26.2 2.7-32.8-8.8s-2.7-26.2 8.8-32.8L51 328.2l-31.5-8.4c-12.8-3.4-20.4-16.6-17-29.4s16.6-20.4 29.4-17l77.8 20.9L176 256l-66.2-38.2-77.9 20.8c-12.8 3.4-26-4.2-29.4-17s4.2-26 17-29.4l31.5-8.4-37.1-21.4c-11.5-6.6-15.4-21.3-8.8-32.8s21.3-15.4 32.8-8.8L75 142.2l-8.4-31.5c-3.4-12.8 4.2-26 17-29.4s26 4.2 29.4 17l20.9 77.8 66.1 38.3v-76.5L143 81c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l23 23V24c0-13.3 10.7-24 24-24z"/></symbol><symbol class="aesvg-inline--fa aefa-circle-xmark" viewBox="0 0 512 512" id="far-times-circle" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464a256 256 0 1 0 0-512 256 256 0 1 0 0 512zm-81-337c-9.4 9.4-9.4 24.6 0 33.9l47 47-47 47c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l47-47 47 47c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-47-47 47-47c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-47 47-47-47c-9.4-9.4-24.6-9.4-33.9 0z"/></symbol><symbol class="afsvg-inline--fa affa-truck-medical" viewBox="0 0 640 512" id="fas-ambulance" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M0 48C0 21.5 21.5 0 48 0h320c26.5 0 48 21.5 48 48v48h50.7c17 0 33.3 6.7 45.3 18.7l77.3 77.3c12 12 18.7 28.3 18.7 45.3V352c17.7 0 32 14.3 32 32s-14.3 32-32 32h-32c0 53-43 96-96 96s-96-43-96-96H256c0 53-43 96-96 96s-96-43-96-96H48c-26.5 0-48-21.5-48-48V48zm416 208h128v-18.7L466.7 160H416v96zM160 464a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm368-48a48 48 0 1 0-96 0 48 48 0 1 0 96 0zM176 80v48h-48c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h48v48c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-48h48c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-48V80c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16z"/></symbol><symbol class="agsvg-inline--fa agfa-apple-whole" viewBox="0 0 448 512" id="fas-apple-alt" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M224 112c-8.8 0-16-7.2-16-16V80c0-44.2 35.8-80 80-80h16c8.8 0 16 7.2 16 16v16c0 44.2-35.8 80-80 80h-16zM0 288c0-76.3 35.7-160 112-160 27.3 0 59.7 10.3 82.7 19.3 18.8 7.3 39.9 7.3 58.7 0 22.9-8.9 55.4-19.3 82.7-19.3 76.3 0 112 83.7 112 160 0 128-80 224-160 224-16.5 0-38.1-6.6-51.5-11.3-8.1-2.8-16.9-2.8-25 0-13.4 4.7-35 11.3-51.5 11.3C80 512 0 416 0 288z"/></symbol><symbol class="ahsvg-inline--fa ahfa-box-archive" viewBox="0 0 512 512" id="fas-archive" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M32 32h448c17.7 0 32 14.3 32 32v32c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32zm0 128h448v256c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V160zm128 80c0 8.8 7.2 16 16 16h160c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16z"/></symbol><symbol class="aisvg-inline--fa aifa-archway" viewBox="0 0 512 512" id="fas-archway" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M32 32C14.3 32 0 46.3 0 64s14.3 32 32 32h448c17.7 0 32-14.3 32-32s-14.3-32-32-32H32zm0 384c-17.7 0-32 14.3-32 32s14.3 32 32 32h128V352c0-53 43-96 96-96s96 43 96 96v128h128c17.7 0 32-14.3 32-32s-14.3-32-32-32V128H32v288z"/></symbol><symbol class="aksvg-inline--fa akfa-baby" viewBox="0 0 448 512" id="fas-baby" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M152 88a72 72 0 1 1 144 0 72 72 0 1 1-144 0zM39.7 144.5c13-17.9 38-21.8 55.9-8.8l36.2 26.3c26.8 19.5 59.1 30 92.2 30s65.4-10.5 92.2-30l36.2-26.4c17.9-13 42.9-9 55.9 8.8s9 42.9-8.8 55.9l-36.2 26.4c-13.6 9.9-28.1 18.2-43.3 25V288H128v-36.3c-15.2-6.7-29.7-15.1-43.3-25l-36.2-26.4c-17.9-13-21.8-38-8.8-55.9zm89.8 184.8 60.6 53-26 37.2 24.3 24.3c15.6 15.6 15.6 40.9 0 56.6s-40.9 15.6-56.6 0l-48-48C70 438.6 68.1 417 79.2 401.1l50.2-71.8zm128.5 53 60.6-53 50.2 71.8c11.1 15.9 9.2 37.5-4.5 51.2l-48 48c-15.6 15.6-40.9 15.6-56.6 0s-15.6-40.9 0-56.6l24.3-24.3-26-37.2z"/></symbol><symbol class="ajsvg-inline--fa ajfa-baby-carriage" viewBox="0 0 512 512" id="fas-baby-carriage" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M256 192H.1C2.7 117.9 41.3 52.9 99 14.1c13.3-8.9 30.8-4.3 39.9 8.8L256 192zm128-32c0-35.3 28.7-64 64-64h32c17.7 0 32 14.3 32 32s-14.3 32-32 32h-32v64c0 25.2-5.8 50.2-17 73.5s-27.8 44.5-48.6 62.3-45.5 32-72.7 41.6S253.4 416 224 416s-58.5-5-85.7-14.6-51.9-23.8-72.7-41.6-37.3-39-48.6-62.3S0 249.2 0 224h384v-64zM80 416a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm240 48a48 48 0 1 1 96 0 48 48 0 1 1-96 0z"/></symbol><symbol class="alsvg-inline--fa alfa-scale-balanced" viewBox="0 0 640 512" id="fas-balance-scale" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M384 32h128c17.7 0 32 14.3 32 32s-14.3 32-32 32H398.4c-5.2 25.8-22.9 47.1-46.4 57.3V448h160c17.7 0 32 14.3 32 32s-14.3 32-32 32H128c-17.7 0-32-14.3-32-32s14.3-32 32-32h160V153.3c-23.5-10.3-41.2-31.6-46.4-57.3H128c-17.7 0-32-14.3-32-32s14.3-32 32-32h128c14.6-19.4 37.8-32 64-32s49.4 12.6 64 32zm55.6 288h144.8L512 195.8 439.6 320zm72.4 96c-62.9 0-115.2-34-126-78.9-2.6-11 1-22.3 6.7-32.1l95.2-163.2c5-8.6 14.2-13.8 24.1-13.8s19.1 5.3 24.1 13.8L631.3 305c5.7 9.8 9.3 21.1 6.7 32.1C627.2 382 574.9 416 512 416zM126.8 195.8 54.4 320h144.9l-72.5-124.2zM.9 337.1c-2.6-11 1-22.3 6.7-32.1l95.2-163.2c5-8.6 14.2-13.8 24.1-13.8s19.1 5.3 24.1 13.8L246.2 305c5.7 9.8 9.3 21.1 6.7 32.1C242 382 189.7 416 126.8 416S11.7 382 .9 337.1z"/></symbol><symbol class="amsvg-inline--fa amfa-bath" viewBox="0 0 512 512" id="fas-bath" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M96 77.3C96 70 101.9 64 109.3 64c3.5 0 6.9 1.4 9.4 3.9l14.9 14.9c-3.6 9-5.6 18.9-5.6 29.2 0 19.9 7.2 38 19.2 52-5.3 9.2-4 21.1 3.8 29 9.4 9.4 24.6 9.4 33.9 0L289 89c9.4-9.4 9.4-24.6 0-33.9-7.9-7.9-19.8-9.1-29-3.8C246 39.2 227.9 32 208 32c-10.3 0-20.2 2-29.2 5.5l-14.9-14.9C149.4 8.1 129.7 0 109.3 0 66.6 0 32 34.6 32 77.3V256c-17.7 0-32 14.3-32 32s14.3 32 32 32h448c17.7 0 32-14.3 32-32s-14.3-32-32-32H96V77.3zM32 352v16c0 28.4 12.4 54 32 71.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32v-16h256v16c0 17.7 14.3 32 32 32s32-14.3 32-32v-40.4c19.6-17.6 32-43.1 32-71.6v-16H32z"/></symbol><symbol class="ansvg-inline--fa anfa-beer-mug-empty" viewBox="0 0 512 512" id="fas-beer" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M32 64c0-17.7 14.3-32 32-32h288c17.7 0 32 14.3 32 32v32h51.2c42.4 0 76.8 34.4 76.8 76.8v102.1c0 30.4-17.9 57.9-45.6 70.2L384 381.7V416c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V64zm352 247.6 56.4-25.1c4.6-2.1 7.6-6.6 7.6-11.7v-102c0-7.1-5.7-12.8-12.8-12.8H384v151.6zM160 144c0-8.8-7.2-16-16-16s-16 7.2-16 16v224c0 8.8 7.2 16 16 16s16-7.2 16-16V144zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v224c0 8.8 7.2 16 16 16s16-7.2 16-16V144zm64 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v224c0 8.8 7.2 16 16 16s16-7.2 16-16V144z"/></symbol><symbol class="aosvg-inline--fa aofa-bell" viewBox="0 0 448 512" id="fas-bell" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M224 0c-17.7 0-32 14.3-32 32v19.2C119 66 64 130.6 64 208v18.8c0 47-17.3 92.4-48.5 127.6l-7.4 8.3c-8.4 9.4-10.4 22.9-5.3 34.4S19.4 416 32 416h384c12.6 0 24-7.4 29.2-18.9s3.1-25-5.3-34.4l-7.4-8.3c-31.2-35.2-48.5-80.5-48.5-127.6V208c0-77.4-55-142-128-156.8V32c0-17.7-14.3-32-32-32zm45.3 493.3c12-12 18.7-28.3 18.7-45.3H160c0 17 6.7 33.3 18.7 45.3S207 512 224 512s33.3-6.7 45.3-18.7z"/></symbol><symbol class="apsvg-inline--fa apfa-person-biking" viewBox="0 0 640 512" id="fas-biking" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M400 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm27.2 64-61.8-48.8c-17.3-13.6-41.7-13.8-59.1-.3l-83.1 64.2c-30.7 23.8-28.5 70.8 4.3 91.6l60.5 38.4V416c0 17.7 14.3 32 32 32s32-14.3 32-32V288c0-10.7-5.3-20.7-14.2-26.6L295 232.9l60.3-48.5L396 217c5.7 4.5 12.7 7 20 7h64c17.7 0 32-14.3 32-32s-14.3-32-32-32h-52.8zM56 384a72 72 0 1 1 144 0 72 72 0 1 1-144 0zm200 0a128 128 0 1 0-256 0 128 128 0 1 0 256 0zm184 0a72 72 0 1 1 144 0 72 72 0 1 1-144 0zm200 0a128 128 0 1 0-256 0 128 128 0 1 0 256 0z"/></symbol><symbol class="aqsvg-inline--fa aqfa-blender" viewBox="0 0 512 512" id="fas-blender" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M0 64C0 28.7 28.7 0 64 0h406.1c21.1 0 36.4 20.1 30.9 40.4L494.5 64H336c-8.8 0-16 7.2-16 16s7.2 16 16 16h149.8l-17.5 64H336c-8.8 0-16 7.2-16 16s7.2 16 16 16h123.6l-17.5 64H336c-8.8 0-16 7.2-16 16s7.2 16 16 16h97.5L416 352H160l-8.7-96H64c-35.3 0-64-28.7-64-64V64zm145.5 128L133.8 64H64v128h81.5zM144 384h288c26.5 0 48 21.5 48 48v32c0 26.5-21.5 48-48 48H144c-26.5 0-48-21.5-48-48v-32c0-26.5 21.5-48 48-48zm144 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"/></symbol><symbol class="arsvg-inline--fa arfa-book" viewBox="0 0 448 512" id="fas-book" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M96 0C43 0 0 43 0 96v320c0 53 43 96 96 96h320c17.7 0 32-14.3 32-32s-14.3-32-32-32v-64c17.7 0 32-14.3 32-32V32c0-17.7-14.3-32-32-32H96zm0 384h256v64H96c-17.7 0-32-14.3-32-32s14.3-32 32-32zm32-240c0-8.8 7.2-16 16-16h192c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16zm16 48h192c8.8 0 16 7.2 16 16s-7.2 16-16 16H144c-8.8 0-16-7.2-16-16s7.2-16 16-16z"/></symbol><symbol class="assvg-inline--fa asfa-border-all" viewBox="0 0 448 512" id="fas-border-all" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M384 96v128H256V96h128zm0 192v128H256V288h128zm-192-64H64V96h128v128zM64 288h128v128H64V288zm0-256C28.7 32 0 60.7 0 96v320c0 35.3 28.7 64 64 64h320c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z"/></symbol><symbol class="atsvg-inline--fa atfa-bowl-rice" viewBox="0 0 512 512" id="fas-bowl-rice" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M176 56c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24h-16c-13.3 0-24-10.7-24-24zm24 48h16c13.3 0 24 10.7 24 24s-10.7 24-24 24h-16c-13.3 0-24-10.7-24-24s10.7-24 24-24zM56 176h16c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24s10.7-24 24-24zM0 283.4C0 268.3 12.3 256 27.4 256h457.2c15.1 0 27.4 12.3 27.4 27.4 0 70.5-44.4 130.7-106.7 154.1l-1.8 14.5c-2 16-15.6 28-31.8 28H140.2c-16.1 0-29.8-12-31.8-28l-1.8-14.4C44.4 414.1 0 353.9 0 283.4zM224 200c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24h-16c-13.3 0-24-10.7-24-24zm-96 0c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24h-16c-13.3 0-24-10.7-24-24zm-24-96h16c13.3 0 24 10.7 24 24s-10.7 24-24 24h-16c-13.3 0-24-10.7-24-24s10.7-24 24-24zm216 96c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24h-16c-13.3 0-24-10.7-24-24zm-24-96h16c13.3 0 24 10.7 24 24s-10.7 24-24 24h-16c-13.3 0-24-10.7-24-24s10.7-24 24-24zm120 96c0-13.3 10.7-24 24-24h16c13.3 0 24 10.7 24 24s-10.7 24-24 24h-16c-13.3 0-24-10.7-24-24zm-24-96h16c13.3 0 24 10.7 24 24s-10.7 24-24 24h-16c-13.3 0-24-10.7-24-24s10.7-24 24-24zm-96-72h16c13.3 0 24 10.7 24 24s-10.7 24-24 24h-16c-13.3 0-24-10.7-24-24s10.7-24 24-24z"/></symbol><symbol class="avsvg-inline--fa avfa-box" viewBox="0 0 448 512" id="fas-box" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M50.7 58.5 0 160h208V32H93.7c-18.2 0-34.8 10.3-43 26.5zM240 160h208L397.3 58.5c-8.2-16.2-24.8-26.5-43-26.5H240v128zm208 32H0v224c0 35.3 28.7 64 64 64h320c35.3 0 64-28.7 64-64V192z"/></symbol><symbol class="ausvg-inline--fa aufa-box-open" viewBox="0 0 640 512" id="fas-box-open" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M58.9 42.1c3-6.1 9.6-9.6 16.3-8.7L320 64l244.8-30.6c6.7-.8 13.3 2.7 16.3 8.7l41.7 83.4c9 17.9-.6 39.6-19.8 45.1l-163.4 46.7c-13.9 4-28.8-1.9-36.2-14.3L320 64l-83.4 139c-7.4 12.4-22.3 18.3-36.2 14.3L37.1 170.6c-19.3-5.5-28.8-27.2-19.8-45.1l41.6-83.4zM321.1 128l54.9 91.4c14.9 24.8 44.6 36.6 72.5 28.6L576 211.6v167c0 22-15 41.2-36.4 46.6l-204.1 51c-10.2 2.6-20.9 2.6-31 0l-204.1-51C79 419.7 64 400.5 64 378.5v-167L191.6 248c27.8 8 57.6-3.8 72.5-28.6l54.8-91.4h2.2z"/></symbol><symbol class="awsvg-inline--fa awfa-building-flag" viewBox="0 0 640 512" id="fas-building-flag" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M48 0C21.5 0 0 21.5 0 48v416c0 26.5 21.5 48 48 48h96v-80c0-26.5 21.5-48 48-48s48 21.5 48 48v80h96c26.5 0 48-21.5 48-48V48c0-26.5-21.5-48-48-48H48zm16 240c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16v-32zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16h-32c-8.8 0-16-7.2-16-16v-32c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16h-32c-8.8 0-16-7.2-16-16v-32zM80 96h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16H80c-8.8 0-16-7.2-16-16v-32c0-8.8 7.2-16 16-16zm80 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16h-32c-8.8 0-16-7.2-16-16v-32zm112-16h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16h-32c-8.8 0-16-7.2-16-16v-32c0-8.8 7.2-16 16-16zM448 0c-17.7 0-32 14.3-32 32v480h64V192h144c8.8 0 16-7.2 16-16V48c0-8.8-7.2-16-16-16H480c0-17.7-14.3-32-32-32z"/></symbol><symbol class="axsvg-inline--fa axfa-bullseye" viewBox="0 0 512 512" id="fas-bullseye" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M448 256a192 192 0 1 0-384 0 192 192 0 1 0 384 0zM0 256a256 256 0 1 1 512 0 256 256 0 1 1-512 0zm256 80a80 80 0 1 0 0-160 80 80 0 1 0 0 160zm0-224a144 144 0 1 1 0 288 144 144 0 1 1 0-288zm-32 144a32 32 0 1 1 64 0 32 32 0 1 1-64 0z"/></symbol><symbol class="aysvg-inline--fa ayfa-fire-flame-simple" viewBox="0 0 384 512" id="fas-burn" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="m372.5 256.5-.7-1.9C337.8 160.8 282 76.5 209.1 8.5l-3.3-3C202.1 2 197.1 0 192 0s-10.1 2-13.8 5.5l-3.3 3C102 76.5 46.2 160.8 12.2 254.6l-.7 1.9C3.9 277.3 0 299.4 0 321.6 0 426.7 86.8 512 192 512s192-85.3 192-190.4c0-22.2-3.9-44.2-11.5-65.1zM281.7 306a73.3 73.3 0 0 1 6.2 29.5c0 53-43 96.5-96 96.5s-96-43.5-96-96.5c0-10.1 2.1-20.3 6.2-29.5l1.9-4.3c15.8-35.4 37.9-67.7 65.3-95.1l8.9-8.9c3.6-3.6 8.5-5.6 13.6-5.6s10 2 13.6 5.6l8.9 8.9c27.4 27.4 49.6 59.7 65.3 95.1l1.9 4.3z"/></symbol><symbol class="azsvg-inline--fa azfa-calendar-days" viewBox="0 0 448 512" id="fas-calendar-alt" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M128 0c17.7 0 32 14.3 32 32v32h128V32c0-17.7 14.3-32 32-32s32 14.3 32 32v32h48c26.5 0 48 21.5 48 48v48H0v-48c0-26.5 21.5-48 48-48h48V32c0-17.7 14.3-32 32-32zM0 192h448v272c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192zm64 80v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm128 0v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-32zM64 400v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-32zm112 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16z"/></symbol><symbol class="basvg-inline--fa bafa-calendar-days" viewBox="0 0 448 512" id="fas-calendar-days" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M128 0c17.7 0 32 14.3 32 32v32h128V32c0-17.7 14.3-32 32-32s32 14.3 32 32v32h48c26.5 0 48 21.5 48 48v48H0v-48c0-26.5 21.5-48 48-48h48V32c0-17.7 14.3-32 32-32zM0 192h448v272c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V192zm64 80v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm128 0v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-32zM64 400v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-32zm112 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16z"/></symbol><symbol class="bbsvg-inline--fa bbfa-camera-retro" viewBox="0 0 512 512" id="fas-camera-retro" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M220.6 121.2 271.1 96H448v96H333.2c-21.9-15.1-48.5-24-77.2-24s-55.2 8.9-77.2 24H64v-64h128c9.9 0 19.7-2.3 28.6-6.8zM0 128v288c0 35.3 28.7 64 64 64h384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H271.1c-9.9 0-19.7 2.3-28.6 6.8L192 64h-32V48c0-8.8-7.2-16-16-16H80c-8.8 0-16 7.2-16 16v16C28.7 64 0 92.7 0 128zm168 176a88 88 0 1 1 176 0 88 88 0 1 1-176 0z"/></symbol><symbol class="bcsvg-inline--fa bcfa-cannabis" viewBox="0 0 512 512" id="fas-cannabis" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M256 0c5.3 0 10.3 2.7 13.3 7.1 15.8 23.5 36.7 63.7 49.2 109 7.2 26.4 11.8 55.2 10.4 84 11.5-8.8 23.7-16.7 35.8-23.6 41-23.3 84.4-36.9 112.2-42.5 5.2-1 10.7.6 14.4 4.4s5.4 9.2 4.4 14.5c-5.6 27.7-19.3 70.9-42.7 111.7-9.1 15.9-19.9 31.7-32.4 46.3 27.8 6.6 52.4 17.3 67.2 25.5 5.1 2.8 8.2 8.2 8.2 14s-3.2 11.2-8.2 14c-15.2 8.4-40.9 19.5-69.8 26.1-20.2 4.6-42.9 7.2-65.2 4.6l8.3 33.1c1.5 6.1-.6 12.4-5.5 16.4s-11.6 4.6-17.2 1.9L280 417.2V488c0 13.3-10.7 24-24 24s-24-10.7-24-24v-70.8l-58.5 29.1c-5.6 2.8-12.3 2.1-17.2-1.9s-7-10.3-5.5-16.4l8.3-33.1c-22.2 2.6-45 0-65.2-4.6-28.9-6.6-54.6-17.6-69.8-26.1-5.1-2.8-8.2-8.2-8.2-14s3.2-11.2 8.2-14c14.8-8.2 39.4-18.8 67.2-25.5-12.4-14.4-23.2-30.2-32.3-46.1-23.4-40.8-37.1-84-42.7-111.7-1.1-5.2.6-10.7 4.4-14.5s9.2-5.4 14.4-4.4c27.9 5.5 71.2 19.2 112.2 42.5 12.1 6.9 24.3 14.7 35.8 23.6-1.4-28.7 3.1-57.6 10.4-84 12.5-45.3 33.4-85.5 49.2-109 3-4.4 8-7.1 13.3-7.1z"/></symbol><symbol class="bdsvg-inline--fa bdfa-car-battery" viewBox="0 0 512 512" id="fas-car-battery" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M80 96c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32h96c0-17.7 14.3-32 32-32h64c17.7 0 32 14.3 32 32h16c35.3 0 64 28.7 64 64v224c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64h16zm304 96c0-8.8-7.2-16-16-16s-16 7.2-16 16v32h-32c-8.8 0-16 7.2-16 16s7.2 16 16 16h32v32c0 8.8 7.2 16 16 16s16-7.2 16-16v-32h32c8.8 0 16-7.2 16-16s-7.2-16-16-16h-32v-32zM80 240c0 8.8 7.2 16 16 16h96c8.8 0 16-7.2 16-16s-7.2-16-16-16H96c-8.8 0-16 7.2-16 16z"/></symbol><symbol class="besvg-inline--fa befa-car-burst" viewBox="0 0 640 512" id="fas-car-crash" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M176 8c-6.6 0-12.4 4-14.9 10.1l-29.4 74-76.1-23.2c-6.3-1.9-13.1.2-17.2 5.3S33.8 86.4 37 92.1l39.5 69.1-65.6 45.2c-5.4 3.7-8 10.3-6.5 16.7s6.7 11.2 13.1 12.2l78.7 12.2-5.6 79.5c-.5 6.5 3.1 12.7 9 15.5s12.9 1.8 17.8-2.6l35.3-32.5 9.5-35.4 10.4-38.6c8-29.9 30.5-52.1 57.9-60.9l41-59.2C282.8 97 297.9 84.4 315 76.1c-.4-.6-.8-1.2-1.3-1.8-4.1-5.1-10.9-7.2-17.2-5.3l-76.2 23.1-29.4-74C188.4 12 182.6 8 176 8zm191.7 153.5 135.6 36.3c6.5 1.8 11.3 7.4 11.8 14.2l4.6 56.5-201.5-54 32.2-46.6c3.8-5.6 10.8-8.1 17.3-6.4zm-69.9-30-47.9 69.3c-21.6 3-40.3 18.6-46.3 41l-10.4 38.6-16.6 61.8-8.3 30.9c-4.6 17.1 5.6 34.6 22.6 39.2l15.5 4.1c17.1 4.6 34.6-5.6 39.2-22.6l8.3-30.9 247.3 66.3-8.3 30.9c-4.6 17.1 5.6 34.6 22.6 39.2l15.5 4.1c17.1 4.6 34.6-5.6 39.2-22.6l8.3-30.9L595 388l10.4-38.6c6-22.4-2.5-45.2-19.6-58.7l-6.8-84c-2.7-33.7-26.4-62-59-70.8L384.2 99.7c-32.7-8.8-67.3 4-86.5 31.8zm-17 131a24 24 0 1 1-12.4 46.4 24 24 0 1 1 12.4-46.4zm217.9 83.2a24 24 0 1 1 46.3 12.4 24 24 0 1 1-46.4-12.4z"/></symbol><symbol class="bfsvg-inline--fa bffa-carrot" viewBox="0 0 512 512" id="fas-carrot" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M346.7 6C337.6 17 320 42.3 320 72c0 40 15.3 55.3 40 80s40 40 80 40c29.7 0 55-17.6 66-26.7 4-3.3 6-8.2 6-13.3s-2-10-6-13.2c-11.4-9.1-38.3-26.8-74-26.8-32 0-40 8-40 8s8-8 8-40c0-35.7-17.7-62.6-26.8-74-3.2-4-8.1-6-13.2-6s-10 2-13.3 6zM244.6 136c-40 0-77.1 18.1-101.7 48.2l60.5 60.5c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L125.5 212v.1L2.2 477.9C-2 487-.1 497.8 7 505s17.9 9 27.1 4.8l134.7-62.4-52.1-52.1c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l60.4 60.3 100.2-46.4c46.4-21.5 76.2-68 76.2-119.2C376 194.8 317.2 136 244.6 136z"/></symbol><symbol class="bgsvg-inline--fa bgfa-cat" viewBox="0 0 576 512" id="fas-cat" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M320 192h17.1c22.1 38.3 63.5 64 110.9 64 11 0 21.8-1.4 32-4v228c0 17.7-14.3 32-32 32s-32-14.3-32-32V339.2L280 448h56c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-53 0-96-43-96-96V192.5c0-16.1-12-29.8-28-31.8l-7.9-1c-17.5-2.2-30-18.2-27.8-35.7S50.5 94 68 96.2l7.9 1c48 6 84.1 46.8 84.1 95.3v85.3c34.4-51.7 93.2-85.8 160-85.8zm160 26.5c-10 3.5-20.8 5.5-32 5.5-28.4 0-54-12.4-71.6-32-3.7-4.1-7-8.5-9.9-13.2C357.3 164 352 146.6 352 128V10.7C352 4.8 356.7.1 362.6 0h.2c3.3 0 6.4 1.6 8.4 4.2v.1l12.8 17 27.2 36.3L416 64h64l4.8-6.4L512 21.3l12.8-17v-.1c2-2.6 5.1-4.2 8.4-4.2h.2c5.9.1 10.6 4.8 10.6 10.7V128c0 17.3-4.6 33.6-12.6 47.6-11.3 19.8-29.6 35.2-51.4 42.9zM432 128a16 16 0 1 0-32 0 16 16 0 1 0 32 0zm48 16a16 16 0 1 0 0-32 16 16 0 1 0 0 32z"/></symbol><symbol class="bhsvg-inline--fa bhfa-charging-station" viewBox="0 0 576 512" id="fas-charging-station" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M96 0C60.7 0 32 28.7 32 64v384c-17.7 0-32 14.3-32 32s14.3 32 32 32h288c17.7 0 32-14.3 32-32s-14.3-32-32-32V304h16c22.1 0 40 17.9 40 40v32c0 39.8 32.2 72 72 72s72-32.2 72-72V252.3c32.5-10.2 56-40.5 56-76.3v-32c0-8.8-7.2-16-16-16h-16V80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48h-32V80c0-8.8-7.2-16-16-16s-16 7.2-16 16v48h-16c-8.8 0-16 7.2-16 16v32c0 35.8 23.5 66.1 56 76.3V376c0 13.3-10.7 24-24 24s-24-10.7-24-24v-32c0-48.6-39.4-88-88-88h-16V64c0-35.3-28.7-64-64-64H96zm120.9 82.7c6 4 8.5 11.5 6.3 18.3l-25 74.9H256c6.7 0 12.7 4.2 15 10.4s.5 13.3-4.6 17.7l-112 96c-5.5 4.7-13.4 5.1-19.3 1.1s-8.5-11.5-6.3-18.3l25-74.9H96c-6.7 0-12.7-4.2-15-10.4s-.5-13.3 4.6-17.7l112-96c5.5-4.7 13.4-5.1 19.3-1.1z"/></symbol><symbol class="bisvg-inline--fa bifa-cheese" viewBox="0 0 512 512" id="fas-cheese" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M512 240.2V256H0c0-20 10-38.7 26.6-49.8L274.9 40.7c8.6-5.7 18.6-8.7 28.9-8.7 115 0 208.2 93.2 208.2 208.2zm0 47.8v128c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V288h512z"/></symbol><symbol class="bjsvg-inline--fa bjfa-chess-bishop" viewBox="0 0 320 512" id="fas-chess-bishop" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M128 0c-17.7 0-32 14.3-32 32 0 16.1 11.9 29.4 27.4 31.7C78.4 106.8 8 190 8 288c0 47.4 30.8 72.3 56 84.7V400h192v-27.3c25.2-12.5 56-37.4 56-84.7 0-37.3-10.2-72.4-25.3-104.1l-99.4 99.4c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6l106.1-106.1c-23.2-38.1-51.8-69.5-74.2-90.9C212.1 61.4 224 48.1 224 32c0-17.7-14.3-32-32-32h-64zM48 432 6.6 473.4c-4.2 4.2-6.6 10-6.6 16C0 501.9 10.1 512 22.6 512h274.8c12.5 0 22.6-10.1 22.6-22.6 0-6-2.4-11.8-6.6-16L272 432H48z"/></symbol><symbol class="bksvg-inline--fa bkfa-chess-knight" viewBox="0 0 448 512" id="fas-chess-knight" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M96 48 82.7 61.3c-12 12-18.7 28.2-18.7 45.2v132.4c0 10.7 5.3 20.7 14.2 26.6l10.6 7c14.3 9.6 32.7 10.7 48.1 3l3.2-1.6c2.6-1.3 5-2.8 7.3-4.5l49.4-37c6.6-5 15.7-5 22.3 0 10.2 7.7 9.9 23.1-.7 30.3L90.4 350C73.9 361.3 64 380 64 400h320l28.9-159c2.1-11.3 3.1-22.8 3.1-34.3V192C416 86 330 0 224 0H83.8C72.9 0 64 8.9 64 19.8c0 7.5 4.2 14.3 10.9 17.7L96 48zm24 68a20 20 0 1 1 40 0 20 20 0 1 1-40 0zM22.6 473.4c-4.2 4.2-6.6 10-6.6 16 0 12.5 10.1 22.6 22.6 22.6h370.8c12.5 0 22.6-10.1 22.6-22.6 0-6-2.4-11.8-6.6-16L384 432H64l-41.4 41.4z"/></symbol><symbol class="blsvg-inline--fa blfa-chess-pawn" viewBox="0 0 320 512" id="fas-chess-pawn" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M215.5 224c29.2-18.4 48.5-50.9 48.5-88 0-57.4-46.6-104-104-104S56 78.6 56 136c0 37.1 19.4 69.6 48.5 88H96c-17.7 0-32 14.3-32 32 0 16.5 12.5 30 28.5 31.8L80 400h160l-12.5-112.2c16-1.8 28.5-15.3 28.5-31.8 0-17.7-14.3-32-32-32h-8.5zM22.6 473.4c-4.2 4.2-6.6 10-6.6 16 0 12.5 10.1 22.6 22.6 22.6h242.8c12.5 0 22.6-10.1 22.6-22.6 0-6-2.4-11.8-6.6-16L256 432H64l-41.4 41.4z"/></symbol><symbol class="bmsvg-inline--fa bmfa-circle-chevron-up" viewBox="0 0 512 512" id="fas-chevron-circle-up" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M256 512a256 256 0 1 0 0-512 256 256 0 1 0 0 512zm121-241c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-87-87-87 87c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9L239 167c9.4-9.4 24.6-9.4 33.9 0L377 271z"/></symbol><symbol class="bnsvg-inline--fa bnfa-child-reaching" viewBox="0 0 384 512" id="fas-child-reaching" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M256 64a64 64 0 1 0-128 0 64 64 0 1 0 128 0zM152.9 169.3c-23.7-8.4-44.5-24.3-58.8-45.8L74.6 94.2C64.8 79.5 45 75.6 30.2 85.4s-18.7 29.7-8.9 44.4L40.9 159c18.1 27.1 42.8 48.4 71.1 62.4V480c0 17.7 14.3 32 32 32s32-14.3 32-32v-96h32v96c0 17.7 14.3 32 32 32s32-14.3 32-32V221.6c29.1-14.2 54.4-36.2 72.7-64.2l18.2-27.9c9.6-14.8 5.4-34.6-9.4-44.3s-34.6-5.5-44.3 9.4L291 122.4c-21.8 33.4-58.9 53.6-98.8 53.6-12.6 0-24.9-2-36.6-5.8-.9-.3-1.8-.7-2.7-.9z"/></symbol><symbol class="bosvg-inline--fa bofa-church" viewBox="0 0 640 512" id="fas-church" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M344 24c0-13.3-10.7-24-24-24s-24 10.7-24 24v24h-32c-13.3 0-24 10.7-24 24s10.7 24 24 24h32v46.4L183.3 210c-14.5 8.7-23.3 24.3-23.3 41.2V512h96v-96c0-35.3 28.7-64 64-64s64 28.7 64 64v96h96V251.2c0-16.9-8.8-32.5-23.3-41.2L344 142.4V96h32c13.3 0 24-10.7 24-24s-10.7-24-24-24h-32V24zM24.9 330.3C9.5 338.8 0 354.9 0 372.4V464c0 26.5 21.5 48 48 48h80V273.6L24.9 330.3zM592 512c26.5 0 48-21.5 48-48v-91.6c0-17.5-9.5-33.6-24.9-42.1L512 273.6V512h80z"/></symbol><symbol class="bpsvg-inline--fa bpfa-martini-glass-citrus" viewBox="0 0 576 512" id="fas-cocktail" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M432 240c53 0 96-43 96-96s-43-96-96-96c-35.5 0-66.6 19.3-83.2 48h-52.6C316 40.1 369.3 0 432 0c79.5 0 144 64.5 144 144s-64.5 144-144 144c-27.7 0-53.5-7.8-75.5-21.3l35.4-35.4c12.2 5.6 25.8 8.7 40.1 8.7zM1.8 142.8c3.7-9 12.5-14.8 22.2-14.8h368c9.7 0 18.5 5.8 22.2 14.8s1.7 19.3-5.2 26.2L232 346v118h64c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24h64V345.9L7 169c-6.9-6.9-8.9-17.2-5.2-26.2z"/></symbol><symbol class="bqsvg-inline--fa bqfa-code" viewBox="0 0 640 512" id="fas-code" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M392.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm80.6 120.1c-12.5 12.5-12.5 32.8 0 45.3l89.3 89.4-89.4 89.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-112-112c-12.5-12.5-32.8-12.5-45.3 0zm-306.7 0c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l112 112c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256l89.4-89.4c12.5-12.5 12.5-32.8 0-45.3z"/></symbol><symbol class="brsvg-inline--fa brfa-coins" viewBox="0 0 512 512" id="fas-coins" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M512 80c0 18-14.3 34.6-38.4 48-29.1 16.1-72.5 27.5-122.3 30.9-3.7-1.8-7.4-3.5-11.3-5-39.4-16.5-91.8-25.9-148-25.9-8.3 0-16.4.2-24.5.6l-1.1-.6C142.3 114.6 128 98 128 80c0-44.2 86-80 192-80s192 35.8 192 80zm-351.3 81.1c10.2-.7 20.7-1.1 31.3-1.1 62.2 0 117.4 12.3 152.5 31.4 24.8 13.5 39.5 30.3 39.5 48.6 0 4-.7 7.9-2.1 11.7-4.6 13.2-17 25.3-35 35.5-.1.1-.3.1-.4.2-.3.2-.6.3-.9.5-35 19.4-90.8 32-153.6 32-59.6 0-112.9-11.3-148.2-29.1-1.9-.9-3.7-1.9-5.5-2.9C14.3 274.6 0 258 0 240c0-34.8 53.4-64.5 128-75.4 10.5-1.5 21.4-2.7 32.7-3.5zM416 240c0-21.9-10.6-39.9-24.1-53.4 28.3-4.4 54.2-11.4 76.2-20.5 16.3-6.8 31.5-15.2 43.9-25.5V176c0 19.3-16.5 37.1-43.8 50.9-14.6 7.4-32.4 13.7-52.4 18.5.1-1.8.2-3.5.2-5.3zm-32 96c0 18-14.3 34.6-38.4 48-1.8 1-3.6 1.9-5.5 2.9C304.9 404.7 251.6 416 192 416c-62.8 0-118.6-12.6-153.6-32C14.3 370.6 0 354 0 336v-35.4c12.5 10.3 27.6 18.7 43.9 25.5C83.4 342.6 135.8 352 192 352s108.6-9.4 148.1-25.9c7.8-3.2 15.3-6.9 22.4-10.9 6.1-3.4 11.8-7.2 17.2-11.2 1.5-1.1 2.9-2.3 4.3-3.4V336zm32 0v-57.9c19-4.2 36.5-9.5 52.1-16 16.3-6.8 31.5-15.2 43.9-25.5V272c0 10.5-5 21-14.9 30.9-16.3 16.3-45 29.7-81.3 38.4.1-1.7.2-3.5.2-5.3zM192 448c56.2 0 108.6-9.4 148.1-25.9 16.3-6.8 31.5-15.2 43.9-25.5V432c0 44.2-86 80-192 80S0 476.2 0 432v-35.4c12.5 10.3 27.6 18.7 43.9 25.5C83.4 438.6 135.8 448 192 448z"/></symbol><symbol class="bssvg-inline--fa bsfa-comment" viewBox="0 0 512 512" id="fas-comment" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M512 240c0 114.9-114.6 208-256 208-37.1 0-72.3-6.4-104.1-17.9-11.9 8.7-31.3 20.6-54.3 30.6C73.6 471.1 44.7 480 16 480c-6.5 0-12.3-3.9-14.8-9.9s-1.1-12.8 3.4-17.4l.3-.3c.3-.3.7-.7 1.3-1.4 1.1-1.2 2.8-3.1 4.9-5.7 4.1-5 9.6-12.4 15.2-21.6 10-16.6 19.5-38.4 21.4-62.9C17.7 326.8 0 285.1 0 240 0 125.1 114.6 32 256 32s256 93.1 256 208z"/></symbol><symbol class="btsvg-inline--fa btfa-comments" viewBox="0 0 640 512" id="fas-comments" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M208 352c114.9 0 208-78.8 208-176S322.9 0 208 0 0 78.8 0 176c0 38.6 14.7 74.3 39.6 103.4-3.5 9.4-8.7 17.7-14.2 24.7-4.8 6.2-9.7 11-13.3 14.3-1.8 1.6-3.3 2.9-4.3 3.7-.5.4-.9.7-1.1.8l-.2.2C1 327.2-1.4 334.4.8 340.9S9.1 352 16 352c21.8 0 43.8-5.6 62.1-12.5 9.2-3.5 17.8-7.4 25.3-11.4C134.1 343.3 169.8 352 208 352zm240-176c0 112.3-99.1 196.9-216.5 207 24.3 74.4 104.9 129 200.5 129 38.2 0 73.9-8.7 104.7-23.9 7.5 4 16 7.9 25.2 11.4 18.3 6.9 40.3 12.5 62.1 12.5 6.9 0 13.1-4.5 15.2-11.1 2.1-6.6-.2-13.8-5.8-17.9l-.2-.2c-.2-.2-.6-.4-1.1-.8-1-.8-2.5-2-4.3-3.7-3.6-3.3-8.5-8.1-13.3-14.3-5.5-7-10.7-15.4-14.2-24.7 24.9-29 39.6-64.7 39.6-103.4 0-92.8-84.9-168.9-192.6-175.5.4 5.1.6 10.3.6 15.5z"/></symbol><symbol class="busvg-inline--fa bufa-compact-disc" viewBox="0 0 512 512" id="fas-compact-disc" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M0 256a256 256 0 1 1 512 0 256 256 0 1 1-512 0zm256 32a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm-96-32a96 96 0 1 0 192 0 96 96 0 1 0-192 0zm-64-16c0-35 17.5-71.1 45.2-98.8S205 96 240 96c8.8 0 16-7.2 16-16s-7.2-16-16-16c-45.4 0-89.2 22.3-121.5 54.5S64 194.6 64 240c0 8.8 7.2 16 16 16s16-7.2 16-16z"/></symbol><symbol class="bvsvg-inline--fa bvfa-minimize" viewBox="0 0 512 512" id="fas-compress-arrows-alt" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M456 224H312c-13.3 0-24-10.7-24-24V56c0-9.7 5.8-18.5 14.8-22.2s19.3-1.7 26.2 5.2l40 40 73.3-73.3C446 2 450.9 0 456 0s10 2 13.7 5.7l36.7 36.7C510 46 512 50.9 512 56s-2 10-5.7 13.7L433 143l40 40c6.9 6.9 8.9 17.2 5.2 26.2S465.7 224 456 224zm0 64c9.7 0 18.5 5.8 22.2 14.8s1.7 19.3-5.2 26.2l-40 40 73.4 73.4c3.6 3.6 5.7 8.5 5.7 13.7s-2 10-5.7 13.7l-36.7 36.7c-3.7 3.5-8.6 5.5-13.7 5.5s-10-2-13.7-5.7L369 433l-40 40c-6.9 6.9-17.2 8.9-26.2 5.2S288 465.7 288 456V312c0-13.3 10.7-24 24-24h144zm-256 0c13.3 0 24 10.7 24 24v144c0 9.7-5.8 18.5-14.8 22.2s-19.3 1.7-26.2-5.2l-40-40-73.3 73.3C66 510 61.1 512 56 512s-10-2-13.7-5.7L5.7 469.7C2 466 0 461.1 0 456s2-10 5.7-13.7L79 369l-40-40c-6.9-6.9-8.9-17.2-5.2-26.2S46.3 288 56 288h144zM56 224c-9.7 0-18.5-5.8-22.2-14.8S32.1 189.9 39 183l40-40L5.7 69.7C2 66 0 61.1 0 56s2-10 5.7-13.7L42.3 5.7C46 2 50.9 0 56 0s10 2 13.7 5.7L143 79l40-40c6.9-6.9 17.2-8.9 26.2-5.2S224 46.3 224 56v144c0 13.3-10.7 24-24 24H56z"/></symbol><symbol class="bwsvg-inline--fa bwfa-bell-concierge" viewBox="0 0 512 512" id="fas-concierge-bell" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M216 64c-13.3 0-24 10.7-24 24s10.7 24 24 24h16v33.3C119.6 157.2 32 252.4 32 368h448c0-115.6-87.6-210.8-200-222.7V112h16c13.3 0 24-10.7 24-24s-10.7-24-24-24h-80zM24 400c-13.3 0-24 10.7-24 24s10.7 24 24 24h464c13.3 0 24-10.7 24-24s-10.7-24-24-24H24z"/></symbol><symbol class="bxsvg-inline--fa bxfa-couch" viewBox="0 0 640 512" id="fas-couch" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M64 160c0-70.7 57.3-128 128-128h256c70.7 0 128 57.3 128 128v33.6c-36.5 7.4-64 39.7-64 78.4v48H128v-48c0-38.7-27.5-71-64-78.4V160zm480 112c0-20.9 13.4-38.7 32-45.3 5-1.8 10.4-2.7 16-2.7 26.5 0 48 21.5 48 48v176c0 17.7-14.3 32-32 32h-32c-17.7 0-32-14.3-32-32H96c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32V272c0-26.5 21.5-48 48-48 5.6 0 11 1 16 2.7 18.6 6.6 32 24.4 32 45.3v80h448v-80z"/></symbol><symbol class="bysvg-inline--fa byfa-crosshairs" viewBox="0 0 512 512" id="fas-crosshairs" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M256 0c17.7 0 32 14.3 32 32v10.4c93.7 13.9 167.7 88 181.6 181.6H480c17.7 0 32 14.3 32 32s-14.3 32-32 32h-10.4c-13.9 93.7-88 167.7-181.6 181.6V480c0 17.7-14.3 32-32 32s-32-14.3-32-32v-10.4C130.3 455.7 56.3 381.7 42.4 288H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h10.4C56.3 130.3 130.3 56.3 224 42.4V32c0-17.7 14.3-32 32-32zM107.4 288c12.5 58.3 58.4 104.1 116.6 116.6V384c0-17.7 14.3-32 32-32s32 14.3 32 32v20.6c58.3-12.5 104.1-58.4 116.6-116.6H384c-17.7 0-32-14.3-32-32s14.3-32 32-32h20.6c-12.5-58.3-58.3-104.1-116.6-116.6V128c0 17.7-14.3 32-32 32s-32-14.3-32-32v-20.6c-58.3 12.5-104.1 58.3-116.6 116.6H128c17.7 0 32 14.3 32 32s-14.3 32-32 32h-20.6zM256 224a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"/></symbol><symbol class="bzsvg-inline--fa bzfa-crown" viewBox="0 0 576 512" id="fas-crown" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M309 106c11.4-7 19-19.7 19-34 0-22.1-17.9-40-40-40s-40 17.9-40 40c0 14.4 7.6 27 19 34l-57.3 114.6c-9.1 18.2-32.7 23.4-48.6 10.7L72 160c5-6.7 8-15 8-24 0-22.1-17.9-40-40-40S0 113.9 0 136s17.9 40 40 40h.7l45.7 251.4c5.5 30.4 32 52.6 63 52.6h277.2c30.9 0 57.4-22.1 63-52.6L535.3 176h.7c22.1 0 40-17.9 40-40s-17.9-40-40-40-40 17.9-40 40c0 9 3 17.3 8 24l-89.1 71.3c-15.9 12.7-39.5 7.5-48.6-10.7L309 106z"/></symbol><symbol class="casvg-inline--fa cafa-crutch" viewBox="0 0 512 512" id="fas-crutch" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M297.4 9.4c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0zm-96 144-34.8 34.8c-12.9 12.9-21.9 29.2-25.8 47.1l-24 107.6c-1.3 5.9-4.3 11.4-8.6 15.7L9.4 457.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l98.8-98.8c4.3-4.3 9.7-7.3 15.7-8.6l107.6-23.9c17.8-4 34.1-12.9 47.1-25.8l34.7-34.7.1-.1.1-.1 74.6-74.6-45.3-45.3-52.1 51.9-66.7-66.7 52.1-52.1-45.3-45.3-74.7 74.7zm22.6 67.9 66.7 66.7-12.2 12.2c-4.3 4.3-9.7 7.3-15.7 8.6l-76.7 17 17-76.7c1.3-5.9 4.3-11.4 8.6-15.7l12.3-12.1z"/></symbol><symbol class="cbsvg-inline--fa cbfa-cube" viewBox="0 0 512 512" id="fas-cube" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M234.5 5.7c13.9-5 29.1-5 43.1 0l192 68.6c25.4 9.1 42.4 33.2 42.4 60.3v242.8c0 27-17 51.2-42.5 60.3l-192 68.6c-13.9 5-29.1 5-43.1 0l-192-68.6C17 428.6 0 404.5 0 377.4V134.6c0-27 17-51.2 42.5-60.3l192-68.6zM256 66 82.3 128 256 190l173.7-62L256 66zm32 368.6 160-57.1v-188l-160 57.1v188z"/></symbol><symbol class="ccsvg-inline--fa ccfa-scissors" viewBox="0 0 512 512" id="fas-cut" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="m256 192-39.5-39.5c4.9-12.6 7.5-26.2 7.5-40.5C224 50.1 173.9 0 112 0S0 50.1 0 112s50.1 112 112 112c14.3 0 27.9-2.7 40.5-7.5L192 256l-39.5 39.5c-12.6-4.9-26.2-7.5-40.5-7.5C50.1 288 0 338.1 0 400s50.1 112 112 112 112-50.1 112-112c0-14.3-2.7-27.9-7.5-40.5L499.2 76.8c7.1-7.1 7.1-18.5 0-25.6-28.3-28.3-74.1-28.3-102.4 0L256 192zm22.6 150.6 118.2 118.2c28.3 28.3 74.1 28.3 102.4 0 7.1-7.1 7.1-18.5 0-25.6L342.6 278.6l-64 64zM64 112a48 48 0 1 1 96 0 48 48 0 1 1-96 0zm48 240a48 48 0 1 1 0 96 48 48 0 1 1 0-96z"/></symbol><symbol class="cdsvg-inline--fa cdfa-dice" viewBox="0 0 640 512" id="fas-dice" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M274.9 34.3c-28.1-28.1-73.7-28.1-101.8 0L34.3 173.1c-28.1 28.1-28.1 73.7 0 101.8l138.8 138.8c28.1 28.1 73.7 28.1 101.8 0l138.8-138.8c28.1-28.1 28.1-73.7 0-101.8L274.9 34.3zM200 224a24 24 0 1 1 48 0 24 24 0 1 1-48 0zM96 200a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm128 176a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm128-176a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm-128-80a24 24 0 1 1 0-48 24 24 0 1 1 0 48zm96 328c0 35.3 28.7 64 64 64h192c35.3 0 64-28.7 64-64V256c0-35.3-28.7-64-64-64H461.7c11.6 36 3.1 77-25.4 105.5L320 413.8V448zm160-120a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"/></symbol><symbol class="cesvg-inline--fa cefa-diamond-turn-right" viewBox="0 0 512 512" id="fas-directions" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M227.7 11.7c15.6-15.6 40.9-15.6 56.6 0l216 216c15.6 15.6 15.6 40.9 0 56.6l-216 216c-15.6 15.6-40.9 15.6-56.6 0l-216-216c-15.6-15.6-15.6-40.9 0-56.6l216-216zm87.6 137c-4.6-4.6-11.5-5.9-17.4-3.5s-9.9 8.3-9.9 14.8v56h-64c-35.3 0-64 28.7-64 64v48c0 13.3 10.7 24 24 24s24-10.7 24-24v-48c0-8.8 7.2-16 16-16h64v56c0 6.5 3.9 12.3 9.9 14.8s12.9 1.1 17.4-3.5l80-80c6.2-6.2 6.2-16.4 0-22.6l-80-80z"/></symbol><symbol class="cfsvg-inline--fa cffa-dolly" viewBox="0 0 576 512" id="fas-dolly" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M0 32C0 14.3 14.3 0 32 0h72.9c27.5 0 52 17.6 60.7 43.8L257.7 320c30.1.5 56.8 14.9 74 37l202.1-67.4c16.8-5.6 34.9 3.5 40.5 20.2s-3.5 34.9-20.2 40.5L352 417.7c-.9 52.2-43.5 94.3-96 94.3-53 0-96-43-96-96 0-30.8 14.5-58.2 37-75.8L104.9 64H32C14.3 64 0 49.7 0 32zm244.8 102.5c-5.5-16.8 3.7-34.9 20.5-40.3L311 79.4l19.8 60.9 60.9-19.8-19.9-60.9 45.7-14.8c16.8-5.5 34.9 3.7 40.3 20.5l49.4 152.2c5.5 16.8-3.7 34.9-20.5 40.3l-152.2 49.4c-16.8 5.5-34.9-3.7-40.3-20.5l-49.4-152.2z"/></symbol><symbol class="cgsvg-inline--fa cgfa-door-closed" viewBox="0 0 576 512" id="fas-door-closed" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M96 64c0-35.3 28.7-64 64-64h256c35.3 0 64 28.7 64 64v384h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h64V64zm288 224a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"/></symbol><symbol class="chsvg-inline--fa chfa-door-open" viewBox="0 0 576 512" id="fas-door-open" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M320 32c0-9.9-4.5-19.2-12.3-25.2S289.8-1.4 280.2 1L100.3 46C79 51.3 64 70.5 64 92.5V448H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h288V32zm-64 224c0 17.7-10.7 32-24 32s-24-14.3-24-32 10.7-32 24-32 24 14.3 24 32zm96-128h96v352c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32s-14.3-32-32-32h-32V128c0-35.3-28.7-64-64-64h-96v64z"/></symbol><symbol class="cisvg-inline--fa cifa-dove" viewBox="0 0 512 512" id="fas-dove" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M160.8 96.5c14 17 31 30.9 49.5 42.2 25.9 15.8 53.7 25.9 77.7 31.6v-31.5c-22.2-30.3-38-67.3-39.4-110.8-.4-11.3-7.5-21.5-18.4-24.4-7.6-2-15.8-.2-21 5.8-13.3 15.4-32.7 44.6-48.4 87.2zM320 144v64c-60.8-5.1-185-43.8-219.3-157.2C97.4 40 87.9 32 76.6 32c-7.9 0-15.3 3.9-18.8 11C46.8 65.9 32 112.1 32 176c0 116.9 80.1 180.5 118.4 202.8L11.8 416.6C6.7 418 2.6 421.8.9 426.8s-.8 10.6 2.3 14.8C21.7 466.2 77.3 512 160 512c3.6 0 7.2-1.2 10-3.5l75.6-60.5H320c88.4 0 160-71.6 160-160V128l29.9-44.9c1.3-2 2.1-4.4 2.1-6.8 0-6.8-5.5-12.3-12.3-12.3H400c-44.2 0-80 35.8-80 80zm80-16a16 16 0 1 1 0 32 16 16 0 1 1 0-32z"/></symbol><symbol class="cjsvg-inline--fa cjfa-compass-drafting" viewBox="0 0 512 512" id="fas-drafting-compass" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M352 96c0 14.3-3.1 27.9-8.8 40.2l52.8 91.2c-23.7 25.3-54.2 44.1-88.5 53.6L256 192l-68 117.5c21.5 6.8 44.3 10.5 68.1 10.5 70.7 0 133.8-32.7 174.9-84 11.1-13.8 31.2-16 45-5s16 31.2 5 45c-52.9 65.8-134 108-225 108-35.4 0-69.4-6.4-100.7-18.1l-56.6 97.8c-4.7 8.1-11.7 14.7-20.1 18.9l-55.4 27.7c-5 2.5-10.9 2.2-15.6-.7S0 501.5 0 496v-55.4c0-8.4 2.2-16.7 6.5-24.1l60-103.7c-12.8-11.2-24.7-23.5-35.3-36.8-11.1-13.8-8.8-33.9 5-45s33.9-8.8 45 5c5.7 7.1 11.8 13.8 18.2 20.1l69.4-119.9C163.2 124 160 110.4 160 96c0-53 43-96 96-96s96 43 96 96zm21 297.9c32.6-12.8 62.5-30.8 88.9-52.9l43.7 75.5c4.2 7.3 6.5 15.6 6.5 24.1V496c0 5.5-2.9 10.7-7.6 13.6s-10.6 3.2-15.6.7l-55.4-27.7c-8.4-4.2-15.4-10.8-20.1-18.9L373 393.9zM256 128a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"/></symbol><symbol class="cksvg-inline--fa ckfa-dragon" viewBox="0 0 640 512" id="fas-dragon" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="m352 124.5-51.9-13c-6.5-1.6-11.3-7.1-12-13.8s2.8-13.1 8.7-16.1l40.8-20.4-43.2-32.4c-5.5-4.1-7.8-11.3-5.6-17.9S297.1 0 304 0h160c30.2 0 58.7 14.2 76.8 38.4l57.6 76.8c6.2 8.3 9.6 18.4 9.6 28.8 0 26.5-21.5 48-48 48h-21.5c-17 0-33.3-6.7-45.3-18.7L480 160h-32v21.5c0 24.8 12.8 47.9 33.8 61.1l106.6 66.6c32.1 20.1 51.6 55.2 51.6 93.1 0 60.6-49.1 109.7-109.8 109.7H32.3c-3.3 0-6.6-.4-9.6-1.4-9.2-2.8-16.7-9.6-20.3-18.5C1 488.7.2 485.2 0 481.4c-.2-3.7.3-7.3 1.3-10.7 2.8-9.2 9.6-16.7 18.6-20.4 3-1.2 6.2-2 9.5-2.2L433.3 412c8.3-.7 14.7-7.7 14.7-16.1 0-4.3-1.7-8.4-4.7-11.4l-44.4-44.4c-30-30-46.9-70.7-46.9-113.1V124.5zm160-52.2v-.6.6zm-1.3 7.4-46.4-11.6c-.2 1.3-.3 2.6-.3 3.9 0 13.3 10.7 24 24 24 10.6 0 19.5-6.8 22.7-16.3zm-379.8 36.8c16.3-14.5 40.4-16.2 58.5-4.1l130.6 87V227c0 32.8 8.4 64.8 24 93H112c-6.7 0-12.7-4.2-15-10.4s-.5-13.3 4.6-17.7l69.4-59.6-152.6 23.5c-7 1.1-13.9-2.6-16.9-9S0 232.7 5.3 228l125.6-111.5z"/></symbol><symbol class="clsvg-inline--fa clfa-drumstick-bite" viewBox="0 0 512 512" id="fas-drumstick-bite" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M160 265.2c0 8.5-3.4 16.6-9.4 22.6l-26.8 26.8c-12.3 12.3-32.5 11.4-49.4 7.2-4.6-1.2-9.4-1.8-14.4-1.8-33.1 0-60 26.9-60 60s26.9 60 60 60c6.3 0 12 5.7 12 12 0 33.1 26.9 60 60 60s60-26.9 60-60c0-5-.6-9.8-1.8-14.5-4.2-16.9-5.2-37.1 7.2-49.4l26.8-26.8c6-6 14.1-9.4 22.6-9.4H336c6.3 0 12.4-.3 18.5-1 11.9-1.2 16.4-15.5 10.8-26-8.5-15.8-13.3-33.8-13.3-53 0-61.9 50.1-112 112-112 8 0 15.7.8 23.2 2.4 11.7 2.5 24.1-5.9 22-17.6C494.5 62.5 422.5 0 336 0c-97.2 0-176 78.8-176 176v89.2z"/></symbol><symbol class="cmsvg-inline--fa cmfa-dumbbell" viewBox="0 0 640 512" id="fas-dumbbell" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M96 64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32v384c0 17.7-14.3 32-32 32h-32c-17.7 0-32-14.3-32-32v-64H64c-17.7 0-32-14.3-32-32v-64c-17.7 0-32-14.3-32-32s14.3-32 32-32v-64c0-17.7 14.3-32 32-32h32V64zm448 0v64h32c17.7 0 32 14.3 32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32v64c0 17.7-14.3 32-32 32h-32v64c0 17.7-14.3 32-32 32h-32c-17.7 0-32-14.3-32-32V64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32zM416 224v64H224v-64h192z"/></symbol><symbol class="cosvg-inline--fa cofa-dumpster" viewBox="0 0 576 512" id="fas-dumpster" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M49.7 32c-10.5 0-19.8 6.9-22.9 16.9L.9 133c-.6 2-.9 4.1-.9 6.1C0 150.7 9.3 160 20.9 160h94l25.6-128H49.7zM272 160V32h-98.9l-25.6 128H272zm32 0h124.5L402.9 32H304v128zm157.1 0h94c11.5 0 20.9-9.3 20.9-20.9 0-2.1-.3-4.1-.9-6.1l-25.9-84.1c-3.1-10-12.4-16.9-22.9-16.9h-90.8l25.6 128zM32 192l4 32h-4c-17.7 0-32 14.3-32 32s14.3 32 32 32h12l20 160c0 17.7 14.3 32 32 32s32-14.3 32-32h320c0 17.7 14.3 32 32 32s32-14.3 32-32l20-160h12c17.7 0 32-14.3 32-32s-14.3-32-32-32h-4l4-32H32z"/></symbol><symbol class="cnsvg-inline--fa cnfa-dumpster-fire" viewBox="0 0 640 512" id="fas-dumpster-fire" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M49.7 32c-10.5 0-19.8 6.9-22.9 16.9L.9 133c-.6 2-.9 4.1-.9 6.1C0 150.7 9.3 160 20.9 160h94l25.6-128H49.7zM272 160V32h-98.9l-25.6 128H272zm32 0h58c15.1-18.1 32.1-35.7 50.5-52.1 1.5-1.4 3.2-2.6 4.8-3.8L402.9 32H304v128zm209.9-23.7c17.4-15.8 43.9-16.2 61.7-1.2-.1-.7-.3-1.4-.5-2.1l-25.9-84.1c-3.1-10-12.4-16.9-22.9-16.9h-90.8l12.8 64.2c9.6 1 19 4.9 26.6 11.8 11.7 10.6 23 21.6 33.9 33.1 1.6-1.6 3.3-3.2 5-4.8zm-188.7 74.4c3.8-6.2 7.9-12.5 12.3-18.7H32l4 32h-4c-17.7 0-32 14.3-32 32s14.3 32 32 32h12l20 160c0 17.7 14.3 32 32 32s32-14.3 32-32h209.6c-31-34.7-49.6-80.6-49.6-129.9 0-35.2 16.3-73.6 37.2-107.4zm128.4-78.9c-2.8-2.5-6.3-3.7-9.8-3.8-3.6 0-7.2 1.2-10 3.7-33.2 29.7-61.4 63.4-81.4 95.8-19.7 31.9-32.4 66.2-32.4 92.6 0 87.8 70.3 159.9 160 159.9 88.7 0 160-72 160-159.8 0-20.2-9.6-50.9-24.2-79-14.8-28.5-35.7-58.5-60.4-81.1-5.6-5.1-14.4-5.2-20 0-9.6 8.8-18.6 19.6-26.5 29.5-17.3-20.7-35.8-39.9-55.5-57.7zM530 401c-15 10-31 15-49 15-45 0-81-29-81-78 0-24 15-45 45-82 4 5 62 79 62 79l36-42c3 4 5 8 7 12 18 33 10 75-20 96z"/></symbol><symbol class="cpsvg-inline--fa cpfa-dungeon" viewBox="0 0 512 512" id="fas-dungeon" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M336.6 156.5c1.3 1.1 2.7 2.2 3.9 3.3 9.3 8.2 23 10.5 33.4 3.6l67.6-45.1c11.4-7.6 14.2-23.2 5.1-33.4-16.6-18.3-35.7-34.3-56.9-47.3-11.9-7.3-26.9-1.4-32.1 11.6l-30.5 76.2c-4.5 11.1.2 23.6 9.5 31.2zM328 36.8c5.1-12.8-1.6-27.4-15-30.5C294.7 2.2 275.6 0 256 0s-38.7 2.2-57 6.4c-13.5 3-20.2 17.6-15 30.4l30.3 75.8c4.5 11.3 16.8 17.2 29 16 4.2-.4 8.4-.6 12.7-.6s8.6.2 12.7.6c12.1 1.2 24.4-4.7 29-16L328 36.8zM65.5 85c-9.1 10.2-6.3 25.8 5.1 33.4l67.6 45.1c10.3 6.9 24.1 4.6 33.4-3.6 1.3-1.1 2.6-2.3 4-3.3 9.3-7.5 13.9-20.1 9.5-31.2l-30.7-76.2c-5.2-12.9-20.3-18.8-32.1-11.6-21.2 13-40.3 29-56.8 47.4zm314 137.1c.9 3.3 1.7 6.6 2.3 10 2.5 13 13 23.9 26.2 23.9h80c13.3 0 24.1-10.8 22.9-24-2.5-27.2-9.3-53.2-19.7-77.3-5.5-12.9-21.4-16.6-33.1-8.9l-68.6 45.7c-9.8 6.5-13.2 19.2-10 30.5zM53.9 145.8c-11.6-7.8-27.6-4-33.1 8.9C10.4 178.8 3.6 204.8 1.1 232c-1.2 13.2 9.6 24 22.9 24h80c13.3 0 23.8-10.8 26.2-23.9.6-3.4 1.4-6.7 2.3-10 3.1-11.4-.2-24-10-30.5l-68.6-45.8zM104 288H24c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24v-48c0-13.3-10.7-24-24-24zm304 0c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24v-48c0-13.3-10.7-24-24-24h-80zM24 416c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24v-48c0-13.3-10.7-24-24-24H24zm384 0c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24v-48c0-13.3-10.7-24-24-24h-80zM272 192c0-8.8-7.2-16-16-16s-16 7.2-16 16v272c0 8.8 7.2 16 16 16s16-7.2 16-16V192zm-64 32c0-8.8-7.2-16-16-16s-16 7.2-16 16v240c0 8.8 7.2 16 16 16s16-7.2 16-16V224zm128 0c0-8.8-7.2-16-16-16s-16 7.2-16 16v240c0 8.8 7.2 16 16 16s16-7.2 16-16V224z"/></symbol><symbol class="cqsvg-inline--fa cqfa-eye" viewBox="0 0 576 512" id="fas-eye" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M288 32c-80.8 0-145.5 36.8-192.6 80.6C48.6 156 17.3 208 2.5 243.7c-3.3 7.9-3.3 16.7 0 24.6C17.3 304 48.6 356 95.4 399.4 142.5 443.2 207.2 480 288 480s145.5-36.8 192.6-80.6c46.8-43.5 78.1-95.4 93-131.1 3.3-7.9 3.3-16.7 0-24.6-14.9-35.7-46.2-87.7-93-131.1C433.5 68.8 368.8 32 288 32zM144 256a144 144 0 1 1 288 0 144 144 0 1 1-288 0zm144-64c0 35.3-28.7 64-64 64-7.1 0-13.9-1.2-20.3-3.3-5.5-1.8-11.9 1.6-11.7 7.4.3 6.9 1.3 13.8 3.2 20.7 13.7 51.2 66.4 81.6 117.6 67.9s81.6-66.4 67.9-117.6c-11.1-41.5-47.8-69.4-88.6-71.1-5.8-.2-9.2 6.1-7.4 11.7 2.1 6.4 3.3 13.2 3.3 20.3z"/></symbol><symbol class="crsvg-inline--fa crfa-film" viewBox="0 0 512 512" id="fas-film" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M0 96c0-35.3 28.7-64 64-64h384c35.3 0 64 28.7 64 64v320c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm48 272v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zm368-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-32zM48 240v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zm368-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-32zM48 112v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16H64c-8.8 0-16 7.2-16 16zm368-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-32zm-256 32v64c0 17.7 14.3 32 32 32h128c17.7 0 32-14.3 32-32v-64c0-17.7-14.3-32-32-32H192c-17.7 0-32 14.3-32 32zm32 160c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h128c17.7 0 32-14.3 32-32v-64c0-17.7-14.3-32-32-32H192z"/></symbol><symbol class="cssvg-inline--fa csfa-fire-extinguisher" viewBox="0 0 512 512" id="fas-fire-extinguisher" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M500.3 7.3c7.4 6 11.7 15.1 11.7 24.7v96c0 9.6-4.3 18.7-11.7 24.7s-17.2 8.5-26.6 6.6l-160-32c-12.2-2.4-21.7-11.6-24.7-23.3h-65v34.8c37.8 18 64 56.5 64 101.2v144H64V240c0-44.7 26.2-83.2 64-101.2V110c-36.2 11.1-66 36.9-82.3 70.5-5.8 11.9-20.2 16.9-32.1 11.1s-16.9-20.2-11.1-32.1C26.7 109.8 72.7 72.6 128 60.4V32c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32v24h65c3-11.7 12.5-20.9 24.7-23.4l160-32c9.4-1.9 19.1.6 26.6 6.6zM288 416v32c0 35.3-28.7 64-64 64h-96c-35.3 0-64-28.7-64-64v-32h224zM176 96a16 16 0 1 0 0-32 16 16 0 1 0 0 32z"/></symbol><symbol class="ctsvg-inline--fa ctfa-fish" viewBox="0 0 576 512" id="fas-fish" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M180.5 141.5C219.7 108.5 272.6 80 336 80s116.3 28.5 155.5 61.5c39.1 33 66.9 72.4 81 99.8 4.7 9.2 4.7 20.1 0 29.3-14.1 27.4-41.9 66.8-81 99.8C452.3 403.5 399.4 432 336 432s-116.3-28.5-155.5-61.5c-16.2-13.7-30.5-28.5-42.7-43.1l-89.7 52.2c-12.5 7.3-28.4 5.3-38.7-4.9s-12.4-26-5.2-38.6L50 256 4.2 175.9c-7.2-12.6-5-28.4 5.3-38.6s26.1-12.2 38.7-4.9l89.7 52.3c12.2-14.6 26.5-29.4 42.7-43.1zM448 256a32 32 0 1 0-64 0 32 32 0 1 0 64 0z"/></symbol><symbol class="cusvg-inline--fa cufa-flask" viewBox="0 0 448 512" id="fas-flask" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M288 0H128c-17.7 0-32 14.3-32 32s14.3 32 32 32v132.8c0 11.8-3.3 23.5-9.5 33.5L10.3 406.2C3.6 417.2 0 429.7 0 442.6 0 480.9 31.1 512 69.4 512h309.2c38.3 0 69.4-31.1 69.4-69.4 0-12.8-3.6-25.4-10.3-36.4L329.5 230.4c-6.2-10.1-9.5-21.7-9.5-33.5V64c17.7 0 32-14.3 32-32S337.7 0 320 0h-32zm-96 196.8V64h64v132.8c0 23.7 6.6 46.9 19 67.1l34.5 56.1h-171l34.5-56.1c12.4-20.2 19-43.4 19-67.1z"/></symbol><symbol class="cvsvg-inline--fa cvfa-frog" viewBox="0 0 576 512" id="fas-frog" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M368 32c41.7 0 75.9 31.8 79.7 72.5l85.6 26.3c25.4 7.8 42.8 31.3 42.8 57.9 0 21.8-11.7 41.9-30.7 52.7l-144.6 82.1 92.5 92.5H544c17.7 0 32 14.3 32 32s-14.3 32-32 32h-64c-8.5 0-16.6-3.4-22.6-9.4L346.9 360.2c11.7-36 3.2-77.1-25.4-105.7-40.6-40.6-106.3-40.6-146.9-.1l-73.6 70c-6.4 6.1-6.7 16.2-.6 22.6s16.2 6.6 22.6.6l73.8-70.2.1-.1.1-.1c3.5-3.5 7.3-6.6 11.3-9.2 27.9-18.5 65.9-15.4 90.5 9.2 24.7 24.7 27.7 62.9 9 90.9-2.6 3.8-5.6 7.5-9 10.9l-37 37H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H64c-35.3 0-64-28.7-64-64C0 249.6 127 112.9 289.3 97.5 296.2 60.2 328.8 32 368 32zm0 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48z"/></symbol><symbol class="cwsvg-inline--fa cwfa-futbol" viewBox="0 0 512 512" id="fas-futbol" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="m417.3 360.1-71.6-4.8c-5.2-.3-10.3 1.1-14.5 4.2s-7.2 7.4-8.4 12.5l-17.6 69.6c-15.7 4.2-32.2 6.4-49.2 6.4s-33.5-2.2-49.2-6.4L189.2 372c-1.3-5-4.3-9.4-8.4-12.5s-9.3-4.5-14.5-4.2l-71.6 4.8c-17.6-27.2-28.5-59.2-30.4-93.6l60.7-38.2c4.4-2.8 7.6-7 9.2-11.9s1.4-10.2-.5-15L107 134.8c21-25.6 48.3-45.8 79.7-57.9l55.2 46c4 3.3 9 5.1 14.1 5.1s10.2-1.8 14.1-5.1l55.2-46c31.3 12.1 58.7 32.3 79.6 57.9l-26.7 66.6c-1.9 4.8-2.1 10.1-.5 15s4.9 9.1 9.2 11.9l60.7 38.2c-1.9 34.4-12.8 66.4-30.4 93.6zM256 512a256 256 0 1 0 0-512 256 256 0 1 0 0 512zm14.1-325.7c-8.4-6.1-19.8-6.1-28.2 0L194 221c-8.4 6.1-11.9 16.9-8.7 26.8l18.3 56.3c3.2 9.9 12.4 16.6 22.8 16.6h59.2c10.4 0 19.6-6.7 22.8-16.6l18.3-56.3c3.2-9.9-.3-20.7-8.7-26.8l-47.9-34.8z"/></symbol><symbol class="cxsvg-inline--fa cxfa-gavel" viewBox="0 0 512 512" id="fas-gavel" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M318.6 9.4c-12.5-12.5-32.8-12.5-45.3 0l-120 120c-12.5 12.5-12.5 32.8 0 45.3l16 16c12.5 12.5 32.8 12.5 45.3 0l4-4 106.8 106.7-4 4c-12.5 12.5-12.5 32.8 0 45.3l16 16c12.5 12.5 32.8 12.5 45.3 0l120-120c12.5-12.5 12.5-32.8 0-45.3l-16-16c-12.5-12.5-32.8-12.5-45.3 0l-4 4L330.6 74.6l4-4c12.5-12.5 12.5-32.8 0-45.3l-16-16zm-152 288c-12.5-12.5-32.8-12.5-45.3 0l-112 112c-12.5 12.5-12.5 32.8 0 45.3l48 48c12.5 12.5 32.8 12.5 45.3 0l112-112c12.5-12.5 12.5-32.8 0-45.3l-1.4-1.4 58.8-58.7-45.3-45.3-58.7 58.7-1.4-1.4z"/></symbol><symbol class="cysvg-inline--fa cyfa-guitar" viewBox="0 0 512 512" id="fas-guitar" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M465 7c-9.4-9.4-24.6-9.4-33.9 0L383 55c-2.4 2.4-4.3 5.3-5.5 8.5l-15.4 41-77.5 77.6c-45.1-29.4-99.3-30.2-131 1.6-11 11-18 24.6-21.4 39.6-3.7 16.6-19.1 30.7-36.1 31.6-25.6 1.3-49.3 10.7-67.3 28.6-44.8 44.9-36.4 125.9 18.7 181s136.1 63.5 180.9 18.7c17.9-17.9 27.4-41.7 28.6-67.3.9-17 15-32.3 31.6-36.1 15-3.4 28.6-10.5 39.6-21.4 31.8-31.8 31-85.9 1.6-131l77.6-77.6 41-15.4c3.2-1.2 6.1-3.1 8.5-5.5l48-48c9.4-9.4 9.4-24.6 0-33.9L465 7zM208 256a48 48 0 1 1 0 96 48 48 0 1 1 0-96z"/></symbol><symbol class="czsvg-inline--fa czfa-hammer" viewBox="0 0 576 512" id="fas-hammer" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M413.5 237.5c-28.2 4.8-58.2-3.6-80-25.4L295.4 174c-15-15-23.4-35.2-23.4-56.4v-12.1L192.3 62c-5.3-2.9-8.6-8.6-8.3-14.7s3.9-11.5 9.5-14l47.2-21C259.1 4.2 279 0 299.2 0h18.1c36.7 0 72 14 98.7 39.1l44.6 42c24.2 22.8 33.2 55.7 26.6 86L503 183l8-8c9.4-9.4 24.6-9.4 33.9 0l24 24c9.4 9.4 9.4 24.6 0 33.9l-88 88c-9.4 9.4-24.6 9.4-33.9 0l-24-24c-9.4-9.4-9.4-24.6 0-33.9l8-8-17.5-17.5zM27.4 377.1l233.5-194.5c3.5 4.9 7.5 9.6 11.8 14l38.1 38.1c6 6 12.4 11.2 19.2 15.7L134.9 484.6C120.4 502 98.9 512 76.3 512 34.1 512 0 477.8 0 435.7c0-22.6 10.1-44.1 27.4-58.6z"/></symbol><symbol class="dasvg-inline--fa dafa-handshake" viewBox="0 0 640 512" id="fas-handshake" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="m323.4 85.2-96.8 78.4c-16.1 13-19.2 36.4-7 53.1 12.9 17.8 38 21.3 55.3 7.8l99.3-77.2c7-5.4 17-4.2 22.5 2.8s4.2 17-2.8 22.5L373 188.8l139 128V128h-.7l-3.9-2.5L434.8 79c-15.3-9.8-33.2-15-51.4-15-21.8 0-43 7.5-60 21.2zm22.8 124.4-51.7 40.2c-31.5 24.6-77.2 18.2-100.8-14.2-22.2-30.5-16.6-73.1 12.7-96.8l83.2-67.3c-11.6-4.9-24.1-7.4-36.8-7.4C234 64 215.7 69.6 200 80l-72 48v224h28.2l91.4 83.4c19.6 17.9 49.9 16.5 67.8-3.1 5.5-6.1 9.2-13.2 11.1-20.6l17 15.6c19.5 17.9 49.9 16.6 67.8-2.9 4.5-4.9 7.8-10.6 9.9-16.5 19.4 13 45.8 10.3 62.1-7.5 17.9-19.5 16.6-49.9-2.9-67.8l-134.2-123zM16 128c-8.8 0-16 7.2-16 16v208c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V128H16zm32 192a16 16 0 1 1 0 32 16 16 0 1 1 0-32zm496-192v224c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V144c0-8.8-7.2-16-16-16h-80zm32 208a16 16 0 1 1 32 0 16 16 0 1 1-32 0z"/></symbol><symbol class="dbsvg-inline--fa dbfa-hashtag" viewBox="0 0 448 512" id="fas-hashtag" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M181.3 32.4c17.4 2.9 29.2 19.4 26.3 36.8l-9.8 58.8h95.1l11.5-69.3c2.9-17.4 19.4-29.2 36.8-26.3s29.2 19.4 26.3 36.8l-9.7 58.8H416c17.7 0 32 14.3 32 32s-14.3 32-32 32h-68.9l-21.3 128H384c17.7 0 32 14.3 32 32s-14.3 32-32 32h-68.9l-11.5 69.3c-2.9 17.4-19.4 29.2-36.8 26.3s-29.2-19.4-26.3-36.8l9.8-58.7h-95.2l-11.5 69.3c-2.9 17.4-19.4 29.2-36.8 26.3s-29.2-19.4-26.3-36.8l9.7-58.9H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h68.9l21.3-128H64c-17.7 0-32-14.3-32-32s14.3-32 32-32h68.9l11.5-69.3c2.9-17.4 19.4-29.2 36.8-26.3zm5.8 159.6-21.3 128h95.1l21.3-128h-95.1z"/></symbol><symbol class="dcsvg-inline--fa dcfa-hat-cowboy-side" viewBox="0 0 640 512" id="fas-hat-cowboy-side" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="m152.7 135.9-10.4 57.2c6.8-.7 13.6-1.1 20.5-1.1h10.7c39.4 0 77.8 12.1 110.1 34.7l278.8 195.1 35.1 24.6c24.4-6 42.5-28.1 42.5-54.4 0-75.8-94.7-126.6-134.6-144.7L474 83.9C468.2 53.8 441.8 32 411.1 32h-2.7c-5.6 0-11.1.7-16.5 2.2L199.2 85.5c-23.9 6.4-42 26-46.5 50.4zM0 384c0 35.3 28.7 64 64 64h480L265.3 252.9c-26.9-18.8-58.9-28.9-91.8-28.9h-10.6c-60.6 0-116 34.2-143.1 88.4L13.5 325C4.6 342.7 0 362.3 0 382.2v1.8z"/></symbol><symbol class="ddsvg-inline--fa ddfa-person-hiking" viewBox="0 0 384 512" id="fas-hiking" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M192 48a48 48 0 1 1 96 0 48 48 0 1 1-96 0zm51.3 182.7L224.2 307l49.7 49.7c9 9 14.1 21.2 14.1 33.9V480c0 17.7-14.3 32-32 32s-32-14.3-32-32v-82.7l-73.9-73.9c-15.8-15.8-22.2-38.6-16.9-60.3l20.4-84c8.3-34.1 42.7-54.9 76.7-46.4 19 4.8 35.6 16.4 46.4 32.7l28.4 42.6H336v-24c0-13.3 10.7-24 24-24s24 10.7 24 24v304c0 13.3-10.7 24-24 24s-24-10.7-24-24V272h-39.4c-16 0-31-8-39.9-21.4l-13.3-20zM81.1 471.9 117.3 334c3 4.2 6.4 8.2 10.1 11.9l41.9 41.9-26.4 100.3c-4.5 17.1-22 27.3-39.1 22.8s-27.3-22-22.8-39.1zm55.5-346-35.2 140.6c-3 12.1-14.9 19.9-27.2 17.9l-47.9-8c-14-2.3-22.9-16.3-19.2-30L31.9 155c9.5-34.8 41.1-59 77.2-59h4.2c15.6 0 27.1 14.7 23.3 29.8z"/></symbol><symbol class="desvg-inline--fa defa-horse" viewBox="0 0 576 512" id="fas-horse" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M448 238.1V160h16l9.8 19.6c12.5 25.1 42.2 36.4 68.3 26 20.5-8.2 33.9-28 33.9-50.1V80c0-19.1-8.4-36.3-21.7-48h5.7c8.8 0 16-7.2 16-16s-7.2-16-16-16H448c-70.7 0-128 57.3-128 128H148.8c-30.7 0-57.6 16.3-72.5 40.8C33.2 174.5 0 211.4 0 256v56c0 13.3 10.7 24 24 24s24-10.7 24-24v-56c0-13.4 6.6-25.2 16.7-32.5 1.6 13 6.3 25.4 13.6 36.4l28.2 42.4c8.3 12.4 6.4 28.7-1.2 41.6-16.5 28-20.6 62.2-10 93.9l17.5 52.4c4.4 13.1 16.6 21.9 30.4 21.9h33.7c21.8 0 37.3-21.4 30.4-42.1l-20.8-62.5c-2.1-6.4-.5-13.4 4.3-18.2l12.7-12.7c13.2-13.2 20.6-31.1 20.6-49.7 0-2.3-.1-4.6-.3-6.9l84 24c4.1 1.2 8.2 2.1 12.3 2.8V480c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V315.7c19.2-19.2 31.5-45.7 32-75.7v-1.9zM496 64a16 16 0 1 1 0 32 16 16 0 1 1 0-32z"/></symbol><symbol class="dfsvg-inline--fa dffa-hospital" viewBox="0 0 640 512" id="fas-hospital-alt" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M192 48c0-26.5 21.5-48 48-48h160c26.5 0 48 21.5 48 48v464h-80v-80c0-26.5-21.5-48-48-48s-48 21.5-48 48v80h-80V48zM48 96h112v416H48c-26.5 0-48-21.5-48-48V320h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H0v-64h80c8.8 0 16-7.2 16-16s-7.2-16-16-16H0v-48c0-26.5 21.5-48 48-48zm544 0c26.5 0 48 21.5 48 48v48h-80c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v64h-80c-8.8 0-16 7.2-16 16s7.2 16 16 16h80v144c0 26.5-21.5 48-48 48H480V96h112zM312 64c-8.8 0-16 7.2-16 16v24h-24c-8.8 0-16 7.2-16 16v16c0 8.8 7.2 16 16 16h24v24c0 8.8 7.2 16 16 16h16c8.8 0 16-7.2 16-16v-24h24c8.8 0 16-7.2 16-16v-16c0-8.8-7.2-16-16-16h-24V80c0-8.8-7.2-16-16-16h-16z"/></symbol><symbol class="dgsvg-inline--fa dgfa-hotdog" viewBox="0 0 512 512" id="fas-hotdog" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M488.6 23.4c31.2 31.2 31.2 81.9 0 113.1l-352 352c-31.2 31.2-81.9 31.2-113.1 0s-31.2-81.9 0-113.1l352-352c31.2-31.2 81.9-31.2 113.1 0zm-45.3 69.3c-6.2-6.2-16.4-6.2-22.6 0-12.5 12.5-23.8 15.1-37.5 17.6l-2.5.4c-13.8 2.5-31.6 5.6-48 22-16.7 16.7-20.9 36-24.1 50.9l-.2 1c-3.4 15.6-6 26.4-15.7 36.1s-20.5 12.3-36.1 15.7l-1 .2c-14.9 3.2-34.2 7.4-50.9 24.1s-20.9 36-24.1 50.9l-.2 1c-3.4 15.6-6 26.4-15.7 36.1-9.2 9.2-18 10.8-32.7 13.4l-.9.2c-15.6 2.8-34.9 6.9-54.4 26.4-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0c12.5-12.5 23.8-15.1 37.5-17.6l2.5-.4c13.8-2.5 31.6-5.6 48-22 16.7-16.7 20.9-36 24.1-50.9l.2-1c3.4-15.6 6-26.4 15.7-36.1s20.5-12.3 36.1-15.7l1-.2c14.9-3.2 34.2-7.4 50.9-24.1s20.9-36 24.1-50.9l.2-1c3.4-15.6 6-26.4 15.7-36.1 9.2-9.2 18-10.8 32.7-13.4l.9-.2c15.6-2.8 34.9-6.9 54.4-26.4 6.2-6.2 6.2-16.4 0-22.6zM191.2 479.2l288-288L495 207c10.9 10.9 17 25.6 17 41s-6.1 30.1-17 41L289 495c-10.9 10.9-25.6 17-41 17s-30.1-6.1-41-17l-15.8-15.8zM17 305C6.1 294.1 0 279.4 0 264s6.1-30.1 17-41L223 17c10.9-10.9 25.6-17 41-17s30.1 6.1 41 17l15.8 15.8-288 288L17 305z"/></symbol><symbol class="dhsvg-inline--fa dhfa-hotel" viewBox="0 0 512 512" id="fas-hotel" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M0 32C0 14.3 14.3 0 32 0h448c17.7 0 32 14.3 32 32s-14.3 32-32 32v384c17.7 0 32 14.3 32 32s-14.3 32-32 32H304v-48c0-26.5-21.5-48-48-48s-48 21.5-48 48v48H32c-17.7 0-32-14.3-32-32s14.3-32 32-32V64C14.3 64 0 49.7 0 32zm96 80v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-32zm112 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16zm-240 80c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-32zm112 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-32c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16v-32c0-8.8-7.2-16-16-16h-32zm-40 192c13.3 0 24.3-10.9 21-23.8-10.6-41.5-48.2-72.2-93-72.2s-82.5 30.7-93 72.2c-3.3 12.8 7.8 23.8 21 23.8h144z"/></symbol><symbol class="disvg-inline--fa difa-house-chimney-crack" viewBox="0 0 576 512" id="fas-house-damage" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M575.8 255.5c0 18-15 32.1-32 32.1h-32l.7 160.2c.2 35.5-28.5 64.3-64 64.3H326.4L288 448l80.8-67.3c7.8-6.5 7.6-18.6-.4-24.9l-117.8-92.6c-14.6-11.5-33.8 7-22.8 22L288 368l-85.5 71.2c-6.1 5-7.5 13.8-3.5 20.5l31.4 52.3H128.1c-35.3 0-64-28.7-64-64V287.6H32c-18 0-32-14-32-32.1 0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L416 100.7V64c0-17.7 14.3-32 32-32h32c17.7 0 32 14.3 32 32v121l52.8 46.4c8 7 12 15 11 24z"/></symbol><symbol class="djsvg-inline--fa djfa-house-fire" viewBox="0 0 640 512" id="fas-house-fire" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M288 350.1v1.9h-32c-17.7 0-32 14.3-32 32v88c0 22.1-17.9 40-40 40h-55.9c-1.5 0-3-.1-4.5-.2-1.2.1-2.4.2-3.6.2h-16c-22.1 0-40-17.9-40-40V360c0-.9 0-1.9.1-2.8v-69.6H32c-18 0-32-14-32-32.1 0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7l137.9 121.1c-12.3-1-25 3-34.8 11.7-35.4 31.6-65.6 67.7-87.3 102.8-20.9 33.9-37.2 72.3-37.2 107.5zm165.5-186.3c19.7 17.8 38.2 37 55.5 57.7 7.9-9.9 16.8-20.7 26.5-29.5 5.6-5.1 14.4-5.1 20 0 24.7 22.7 45.6 52.7 60.4 81.1 14.5 28 24.2 58.8 24.2 79C640 440 568.7 512 480 512c-89.7 0-160-72.1-160-159.8 0-26.4 12.7-60.7 32.4-92.6 20-32.4 48.1-66.1 81.4-95.8 2.8-2.5 6.4-3.8 10-3.7 3.5 0 7 1.3 9.8 3.8zM530 433c30-21 38-63 20-96-2-4-4-8-7-12l-36 42s-58-74-62-79c-30 37-45 58-45 82 0 49 36 78 81 78 18 0 34-5 49-15z"/></symbol><symbol class="dksvg-inline--fa dkfa-i-cursor" viewBox="0 0 256 512" id="fas-i-cursor" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M.1 29.3C-1.4 47 11.7 62.4 29.3 63.9l8 .7C70.5 67.3 96 95 96 128.3V224H64c-17.7 0-32 14.3-32 32s14.3 32 32 32h32v95.7c0 33.3-25.5 61-58.7 63.8l-8 .7C11.7 449.6-1.4 465 .1 482.7s16.9 30.7 34.5 29.2l8-.7c34.1-2.8 64.2-18.9 85.4-42.9 21.2 24 51.2 40.1 85.4 42.9l8 .7c17.6 1.5 33.1-11.6 34.5-29.2s-11.6-33.1-29.2-34.5l-8-.7c-33.2-2.8-58.7-30.5-58.7-63.8V288h32c17.7 0 32-14.3 32-32s-14.3-32-32-32h-32v-95.7c0-33.3 25.5-61 58.7-63.8l8-.7c17.6-1.5 30.7-16.9 29.2-34.5S239-1.4 221.3.1l-8 .7c-34.1 2.8-64.1 18.9-85.3 42.9-21.2-24-51.2-40-85.4-42.9l-8-.7C17-1.4 1.6 11.7.1 29.3z"/></symbol><symbol class="dlsvg-inline--fa dlfa-ice-cream" viewBox="0 0 448 512" id="fas-ice-cream" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M367.1 160c.6-5.3.9-10.6.9-16C368 64.5 303.5 0 224 0S80 64.5 80 144c0 5.4.3 10.7.9 16H80c-26.5 0-48 21.5-48 48s21.5 48 48 48h288c26.5 0 48-21.5 48-48s-21.5-48-48-48h-.9zM96 288l104.8 209.7c4.4 8.8 13.3 14.3 23.2 14.3s18.8-5.5 23.2-14.3L352 288H96z"/></symbol><symbol class="dmsvg-inline--fa dmfa-jar" viewBox="0 0 320 512" id="fas-jar" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M32 32C32 14.3 46.3 0 64 0h192c17.7 0 32 14.3 32 32s-14.3 32-32 32H64c-17.7 0-32-14.3-32-32zM0 160c0-35.3 28.7-64 64-64h192c35.3 0 64 28.7 64 64v288c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V160zm96 64c-17.7 0-32 14.3-32 32v96c0 17.7 14.3 32 32 32h128c17.7 0 32-14.3 32-32v-96c0-17.7-14.3-32-32-32H96z"/></symbol><symbol class="dnsvg-inline--fa dnfa-key" viewBox="0 0 512 512" id="fas-key" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M336 352c97.2 0 176-78.8 176-176S433.2 0 336 0 160 78.8 160 176c0 18.7 2.9 36.8 8.3 53.7L7 391c-4.5 4.5-7 10.6-7 17v80c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24v-40h40c13.3 0 24-10.7 24-24v-40h40c6.4 0 12.5-2.5 17-7l33.3-33.3c16.9 5.4 35 8.3 53.7 8.3zm40-256a40 40 0 1 1 0 80 40 40 0 1 1 0-80z"/></symbol><symbol class="dosvg-inline--fa dofa-laptop" viewBox="0 0 640 512" id="fas-laptop" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M128 32c-35.3 0-64 28.7-64 64v256h64V96h384v256h64V96c0-35.3-28.7-64-64-64H128zM19.2 384C8.6 384 0 392.6 0 403.2 0 445.6 34.4 480 76.8 480h486.4c42.4 0 76.8-34.4 76.8-76.8 0-10.6-8.6-19.2-19.2-19.2H19.2z"/></symbol><symbol class="dpsvg-inline--fa dpfa-leaf" viewBox="0 0 512 512" id="fas-leaf" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M272 96c-78.6 0-145.1 51.5-167.7 122.5 33.6-17 71.5-26.5 111.7-26.5h88c8.8 0 16 7.2 16 16s-7.2 16-16 16h-88c-16.6 0-32.7 1.9-48.2 5.4-25.9 5.9-50 16.4-71.4 30.7C38.3 298.8 0 364.9 0 440v16c0 13.3 10.7 24 24 24s24-10.7 24-24v-16c0-48.7 20.7-92.5 53.8-123.2C121.6 392.3 190.3 448 272 448h1c132.1-.7 239-130.9 239-291.4 0-42.6-7.5-83.1-21.1-119.6-2.6-6.9-12.7-6.6-16.2-.1C455.9 72.1 418.7 96 376 96H272z"/></symbol><symbol class="dqsvg-inline--fa dqfa-life-ring" viewBox="0 0 512 512" id="fas-life-ring" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M367.2 412.5C335.9 434.9 297.5 448 256 448s-79.9-13.1-111.2-35.5l58-58c15.8 8.6 34 13.5 53.3 13.5s37.4-4.9 53.3-13.5l58 58zm90.7.8c33.8-43.4 54-98 54-157.3s-20.2-113.9-54-157.3c9-12.5 7.9-30.1-3.4-41.3S425.8 45 413.3 54C369.9 20.2 315.3 0 256 0S142.1 20.2 98.7 54c-12.5-9-30.1-7.9-41.3 3.4S45 86.2 54 98.7C20.2 142.1 0 196.7 0 256s20.2 113.9 54 157.3c-9 12.5-7.9 30.1 3.4 41.3S86.2 467 98.7 458c43.4 33.8 98 54 157.3 54s113.9-20.2 157.3-54c12.5 9 30.1 7.9 41.3-3.4s12.4-28.8 3.4-41.3zm-45.5-46.1-58-58c8.6-15.8 13.5-34 13.5-53.3s-4.9-37.4-13.5-53.3l58-58C434.9 176.1 448 214.5 448 256s-13.1 79.9-35.5 111.2zM367.2 99.5l-58 58c-15.8-8.6-34-13.5-53.3-13.5s-37.4 4.9-53.3 13.5l-58-58C176.1 77.1 214.5 64 256 64s79.9 13.1 111.2 35.5zM157.5 309.3l-58 58C77.1 335.9 64 297.5 64 256s13.1-79.9 35.5-111.2l58 58c-8.6 15.8-13.5 34-13.5 53.3s4.9 37.4 13.5 53.3zM208 256a48 48 0 1 1 96 0 48 48 0 1 1-96 0z"/></symbol><symbol class="drsvg-inline--fa drfa-lock" viewBox="0 0 448 512" id="fas-lock" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M144 144v48h160v-48c0-44.2-35.8-80-80-80s-80 35.8-80 80zm-64 48v-48C80 64.5 144.5 0 224 0s144 64.5 144 144v48h16c35.3 0 64 28.7 64 64v192c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V256c0-35.3 28.7-64 64-64h16z"/></symbol><symbol class="dssvg-inline--fa dsfa-right-long" viewBox="0 0 512 512" id="fas-long-arrow-alt-right" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M334.5 414c8.8 3.8 19 2 26-4.6l144-136c4.8-4.5 7.5-10.8 7.5-17.4s-2.7-12.9-7.5-17.4l-144-136c-7-6.6-17.2-8.4-26-4.6S320 110.5 320 120v72H32c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h288v72c0 9.6 5.7 18.2 14.5 22z"/></symbol><symbol class="dtsvg-inline--fa dtfa-envelopes-bulk" viewBox="0 0 640 512" id="fas-mail-bulk" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M128 0c-17.7 0-32 14.3-32 32v192h96v-32c0-35.3 28.7-64 64-64h224V32c0-17.7-14.3-32-32-32H128zm128 160c-17.7 0-32 14.3-32 32v32h96c35.3 0 64 28.7 64 64v128h192c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32H256zm240 64h32c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16h-32c-8.8 0-16-7.2-16-16v-32c0-8.8 7.2-16 16-16zM64 256c-17.7 0-32 14.3-32 32v13l155.1 114.9c1.4 1 3.1 1.6 4.9 1.6s3.5-.6 4.9-1.6L352 301v-13c0-17.7-14.3-32-32-32H64zm288 84.8L216 441.6c-6.9 5.1-15.3 7.9-24 7.9s-17-2.8-24-7.9L32 340.8V480c0 17.7 14.3 32 32 32h256c17.7 0 32-14.3 32-32V340.8z"/></symbol><symbol class="dvsvg-inline--fa dvfa-map" viewBox="0 0 576 512" id="fas-map" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="m384 476.1-192-54.9V35.9l192 54.9v385.3zm32-1.2V88.4l127.1-50.9c15.8-6.3 32.9 5.3 32.9 22.3v334.8c0 9.8-6 18.6-15.1 22.3L416 474.8zM15.1 95.1 160 37.2v386.4L32.9 474.5C17.1 480.8 0 469.2 0 452.2V117.4c0-9.8 6-18.6 15.1-22.3z"/></symbol><symbol class="dusvg-inline--fa dufa-signs-post" viewBox="0 0 512 512" id="fas-map-signs" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M224 32H64c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h377.4c4.2 0 8.3-1.7 11.3-4.7l48-48c6.2-6.2 6.2-16.4 0-22.6l-48-48c-3-3-7.1-4.7-11.3-4.7H288c0-17.7-14.3-32-32-32s-32 14.3-32 32zm256 224c0-17.7-14.3-32-32-32H288v-32h-64v32H70.6c-4.2 0-8.3 1.7-11.3 4.7l-48 48c-6.2 6.2-6.2 16.4 0 22.6l48 48c3 3 7.1 4.7 11.3 4.7H448c17.7 0 32-14.3 32-32v-64zM288 480v-96h-64v96c0 17.7 14.3 32 32 32s32-14.3 32-32z"/></symbol><symbol class="dwsvg-inline--fa dwfa-suitcase-medical" viewBox="0 0 512 512" id="fas-medkit" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M184 48h144c4.4 0 8 3.6 8 8v40H176V56c0-4.4 3.6-8 8-8zm-56 8v424h256V56c0-30.9-25.1-56-56-56H184c-30.9 0-56 25.1-56 56zM96 96H64c-35.3 0-64 28.7-64 64v256c0 35.3 28.7 64 64 64h32V96zm320 384h32c35.3 0 64-28.7 64-64V160c0-35.3-28.7-64-64-64h-32v384zM224 208c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v48h48c8.8 0 16 7.2 16 16v32c0 8.8-7.2 16-16 16h-48v48c0 8.8-7.2 16-16 16h-32c-8.8 0-16-7.2-16-16v-48h-48c-8.8 0-16-7.2-16-16v-32c0-8.8 7.2-16 16-16h48v-48z"/></symbol><symbol class="dxsvg-inline--fa dxfa-microchip" viewBox="0 0 512 512" id="fas-microchip" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M176 24c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c-35.3 0-64 28.7-64 64H24c-13.3 0-24 10.7-24 24s10.7 24 24 24h40v56H24c-13.3 0-24 10.7-24 24s10.7 24 24 24h40v56H24c-13.3 0-24 10.7-24 24s10.7 24 24 24h40c0 35.3 28.7 64 64 64v40c0 13.3 10.7 24 24 24s24-10.7 24-24v-40h56v40c0 13.3 10.7 24 24 24s24-10.7 24-24v-40h56v40c0 13.3 10.7 24 24 24s24-10.7 24-24v-40c35.3 0 64-28.7 64-64h40c13.3 0 24-10.7 24-24s-10.7-24-24-24h-40v-56h40c13.3 0 24-10.7 24-24s-10.7-24-24-24h-40v-56h40c13.3 0 24-10.7 24-24s-10.7-24-24-24h-40c0-35.3-28.7-64-64-64V24c0-13.3-10.7-24-24-24s-24 10.7-24 24v40h-56V24c0-13.3-10.7-24-24-24s-24 10.7-24 24v40h-56V24zm-16 104h192c17.7 0 32 14.3 32 32v192c0 17.7-14.3 32-32 32H160c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32zm192 32H160v192h192V160z"/></symbol><symbol class="dysvg-inline--fa dyfa-microphone" viewBox="0 0 384 512" id="fas-microphone" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M192 0c-53 0-96 43-96 96v160c0 53 43 96 96 96s96-43 96-96V96c0-53-43-96-96-96zM64 216c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 89.1 66.2 162.7 152 174.4V464h-48c-13.3 0-24 10.7-24 24s10.7 24 24 24h144c13.3 0 24-10.7 24-24s-10.7-24-24-24h-48v-33.6c85.8-11.7 152-85.3 152-174.4v-40c0-13.3-10.7-24-24-24s-24 10.7-24 24v40c0 70.7-57.3 128-128 128S64 326.7 64 256v-40z"/></symbol><symbol class="dzsvg-inline--fa dzfa-mobile-screen-button" viewBox="0 0 384 512" id="fas-mobile-alt" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M16 64C16 28.7 44.7 0 80 0h224c35.3 0 64 28.7 64 64v384c0 35.3-28.7 64-64 64H80c-35.3 0-64-28.7-64-64V64zm208 384a32 32 0 1 0-64 0 32 32 0 1 0 64 0zm80-384H80v320h224V64z"/></symbol><symbol class="easvg-inline--fa eafa-mosque" viewBox="0 0 640 512" id="fas-mosque" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M400 0c5 0 9.8 2.4 12.8 6.4 34.7 46.3 78.1 74.9 133.5 111.5 5.2 3.4 10.5 7 16 10.6 28.9 19.2 45.7 51.7 45.7 86.1 0 28.6-11.3 54.5-29.8 73.4H221.8c-18.4-19-29.8-44.9-29.8-73.4 0-34.4 16.7-66.9 45.7-86.1 5.4-3.6 10.8-7.1 16-10.6 55.4-36.6 98.8-65.2 133.5-111.5 3-4 7.8-6.4 12.8-6.4zM288 512v-72c0-13.3-10.7-24-24-24s-24 10.7-24 24v72h-48c-17.7 0-32-14.3-32-32V352c0-17.7 14.3-32 32-32h416c17.7 0 32 14.3 32 32v128c0 17.7-14.3 32-32 32h-48v-72c0-13.3-10.7-24-24-24s-24 10.7-24 24v72h-64v-58c0-19-8.4-37-23-49.2L400 384l-25 20.8C360.4 417 352 435 352 454v58h-64zM70.4 5.2a15.9 15.9 0 0 1 19.2 0l16 12C139.8 42.9 160 83.2 160 126v2H0v-2C0 83.2 20.2 42.9 54.4 17.2l16-12zM0 160h160v136.6c-19.1 11.1-32 31.7-32 55.4v128c0 9.6 2.1 18.6 5.8 26.8-6.6 3.4-14 5.2-21.8 5.2H48c-26.5 0-48-21.5-48-48V160z"/></symbol><symbol class="ebsvg-inline--fa ebfa-motorcycle" viewBox="0 0 640 512" id="fas-motorcycle" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M280 32c-13.3 0-24 10.7-24 24s10.7 24 24 24h57.7l16.4 30.3L256 192l-45.3-45.3c-12-12-28.3-18.7-45.3-18.7H64c-17.7 0-32 14.3-32 32v32h96c88.4 0 160 71.6 160 160 0 11-1.1 21.7-3.2 32h70.4c-2.1-10.3-3.2-21-3.2-32 0-52.2 25-98.6 63.7-127.8l15.4 28.6C402.4 276.3 384 312 384 352c0 70.7 57.3 128 128 128s128-57.3 128-128-57.3-128-128-128c-13.5 0-26.5 2.1-38.7 6l-55.1-102H480c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32h-20.4c-7.5 0-14.7 2.6-20.5 7.4l-47.4 39.5-14-26c-7-12.9-20.5-21-35.2-21H280zm182.7 279.2 28.2 52.2c6.3 11.7 20.9 16 32.5 9.7s16-20.9 9.7-32.5l-28.2-52.2c2.3-.3 4.7-.4 7.1-.4 35.3 0 64 28.7 64 64s-28.7 64-64 64-64-28.7-64-64c0-15.5 5.5-29.7 14.7-40.8zM187.3 376c-9.5 23.5-32.5 40-59.3 40-35.3 0-64-28.7-64-64s28.7-64 64-64c26.9 0 49.9 16.5 59.3 40h66.4c-11.2-59.2-63.2-104-125.7-104C57.3 224 0 281.3 0 352s57.3 128 128 128c62.5 0 114.5-44.8 125.8-104h-66.5zm-59.3 8a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"/></symbol><symbol class="ecsvg-inline--fa ecfa-music" viewBox="0 0 512 512" id="fas-music" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M499.1 6.3c8.1 6 12.9 15.6 12.9 25.7v336c0 44.2-43 80-96 80s-96-35.8-96-80 43-80 96-80c11.2 0 22 1.6 32 4.6V147l-256 76.8V432c0 44.2-43 80-96 80S0 476.2 0 432s43-80 96-80c11.2 0 22 1.6 32 4.6V128c0-14.1 9.3-26.6 22.8-30.7l320-96c9.7-2.9 20.2-1.1 28.3 5z"/></symbol><symbol class="edsvg-inline--fa edfa-newspaper" viewBox="0 0 512 512" id="fas-newspaper" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M96 96c0-35.3 28.7-64 64-64h288c35.3 0 64 28.7 64 64v320c0 35.3-28.7 64-64 64H80c-44.2 0-80-35.8-80-80V128c0-17.7 14.3-32 32-32s32 14.3 32 32v272c0 8.8 7.2 16 16 16s16-7.2 16-16V96zm64 24v80c0 13.3 10.7 24 24 24h112c13.3 0 24-10.7 24-24v-80c0-13.3-10.7-24-24-24H184c-13.3 0-24 10.7-24 24zm208-8c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16h-48c-8.8 0-16 7.2-16 16zm0 96c0 8.8 7.2 16 16 16h48c8.8 0 16-7.2 16-16s-7.2-16-16-16h-48c-8.8 0-16 7.2-16 16zm-208 96c0 8.8 7.2 16 16 16h256c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16zm0 96c0 8.8 7.2 16 16 16h256c8.8 0 16-7.2 16-16s-7.2-16-16-16H176c-8.8 0-16 7.2-16 16z"/></symbol><symbol class="eesvg-inline--fa eefa-paint-roller" viewBox="0 0 512 512" id="fas-paint-roller" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M0 64C0 28.7 28.7 0 64 0h288c35.3 0 64 28.7 64 64v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm160 288c0-17.7 14.3-32 32-32v-16c0-44.2 35.8-80 80-80h144c17.7 0 32-14.3 32-32V69.5c37.3 13.2 64 48.7 64 90.5v32c0 53-43 96-96 96H272c-8.8 0-16 7.2-16 16v16c17.7 0 32 14.3 32 32v128c0 17.7-14.3 32-32 32h-64c-17.7 0-32-14.3-32-32V352z"/></symbol><symbol class="efsvg-inline--fa effa-paperclip" viewBox="0 0 448 512" id="fas-paperclip" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M364.2 83.8c-24.4-24.4-64-24.4-88.4 0l-184 184c-42.1 42.1-42.1 110.3 0 152.4s110.3 42.1 152.4 0l152-152c10.9-10.9 28.7-10.9 39.6 0s10.9 28.7 0 39.6l-152 152c-64 64-167.6 64-231.6 0s-64-167.6 0-231.6l184-184c46.3-46.3 121.3-46.3 167.6 0s46.3 121.3 0 167.6l-176 176c-28.6 28.6-75 28.6-103.6 0s-28.6-75 0-103.6l144-144c10.9-10.9 28.7-10.9 39.6 0s10.9 28.7 0 39.6l-144 144c-6.7 6.7-6.7 17.7 0 24.4s17.7 6.7 24.4 0l176-176c24.4-24.4 24.4-64 0-88.4z"/></symbol><symbol class="egsvg-inline--fa egfa-pen-ruler" viewBox="0 0 512 512" id="fas-pen-ruler" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="m469.3 19.3 23.4 23.4c25 25 25 65.5 0 90.5l-56.4 56.4-114-113.9 56.4-56.4c25-25 65.5-25 90.5 0zM44.9 353.2 299.7 98.3l114 114-254.9 254.8c-6.7 6.7-15.1 11.6-24.2 14.2L30.6 511c-8.4 2.4-17.4.1-23.6-6.1s-8.5-15.2-6.1-23.6l29.7-104c2.6-9.2 7.5-17.5 14.2-24.2zm204.5-249.8-146 146L16 161.9C-2.7 143.2-2.7 112.8 16 94l78.1-78c18.7-18.7 49.1-18.7 67.9 0l19.8 19.8c-.3.3-.7.6-1 .9l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64c.3-.3.6-.7.9-1l45.1 45.1zm159.2 159.2 45.1 45.1c-.3.3-.7.6-1 .9l-64 64c-6.2 6.2-6.2 16.4 0 22.6s16.4 6.2 22.6 0l64-64c.3-.3.6-.7.9-1l19.8 19.9c18.7 18.7 18.7 49.1 0 67.9l-78.1 78c-18.7 18.7-49.1 18.7-67.9 0l-87.4-87.4 146-146z"/></symbol><symbol class="ehsvg-inline--fa ehfa-people-carry-box" viewBox="0 0 640 512" id="fas-people-carry" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M80 48a48 48 0 1 1 96 0 48 48 0 1 1-96 0zm64 193.7v65.1l51 51c7.1 7.1 11.8 16.2 13.4 26.1l15.2 90.9c2.9 17.4-8.9 33.9-26.3 36.8s-33.9-8.9-36.8-26.3l-14.3-85.9L66.8 320c-12-12-18.8-28.3-18.8-45.3v-88.1c0-32.4 26.2-58.6 58.6-58.6 24.1 0 46.5 12 59.9 32l47.4 71.1 10.1 5V160c0-17.7 14.3-32 32-32h128c17.7 0 32 14.3 32 32v76.2l10.1-5 47.4-71.2c13.3-20 35.8-32 59.9-32 32.4 0 58.6 26.2 58.6 58.6v88.1c0 17-6.7 33.3-18.7 45.3l-79.4 79.4-14.3 85.9c-2.9 17.4-19.4 29.2-36.8 26.3s-29.2-19.4-26.3-36.8l15.2-90.9c1.6-9.9 6.3-19 13.4-26.1l51-51v-65.1l-19 28.5c-4.6 7-11 12.6-18.5 16.3L399 316.3c-2.4 1.3-4.9 2.2-7.6 2.8-2.6.6-5.3.9-7.9.8H256.7c-2.5.1-5-.2-7.5-.7-2.9-.6-5.6-1.6-8.1-3l-59.5-29.8c-7.5-3.7-13.8-9.4-18.5-16.3l-19-28.5zM2.3 468.1l47.8-119.5 49.2 49.2-37.6 94c-6.6 16.4-25.2 24.4-41.6 17.8s-24.4-25.1-17.8-41.5zM512 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm77.9 348.6 47.8 119.5c6.6 16.4-1.4 35-17.8 41.6s-35-1.4-41.6-17.8l-37.6-94 49.2-49.2z"/></symbol><symbol class="eisvg-inline--fa eifa-pepper-hot" viewBox="0 0 512 512" id="fas-pepper-hot" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M428.3 3c11.6-6.4 26.2-2.3 32.6 9.3l4.8 8.7c19.3 34.7 19.8 75.7 3.4 110 26.7 28.6 42.9 66.9 42.9 109 0 18.5-3.1 36.3-8.9 52.8-6.1 17.3-28.5 16.3-36.8-.1l-11.7-23.4c-4.1-8.1-12.4-13.3-21.5-13.3H360c-13.3 0-24-10.7-24-24v-80c0-13.3-10.7-24-24-24h-17.1c-21.3 0-30-23.9-10.8-32.9C304.7 85.4 327.7 80 352 80c28.3 0 54.8 7.3 77.8 20.2 5.5-18.2 3.7-38.4-6-55.8l-4.8-8.7c-6.4-11.6-2.3-26.2 9.3-32.6zM171.2 345.5 264 160h40v80c0 26.5 21.5 48 48 48h76.2l23.9 47.8C372.3 443.9 244.3 512 103.2 512H44.4C19.9 512 0 492.1 0 467.6c0-20.8 14.5-38.8 34.8-43.3l49.8-11.1c37.6-8.4 69.5-33.2 86.7-67.7z"/></symbol><symbol class="ejsvg-inline--fa ejfa-person-arrow-up-from-line" viewBox="0 0 640 512" id="fas-person-arrow-up-from-line" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M192 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-8 352v-96h16v96h-16zm-64 0H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h576c17.7 0 32-14.3 32-32s-14.3-32-32-32H264V256.9l28.6 47.5c9.1 15.1 28.8 20 43.9 10.9s20-28.8 10.9-43.9l-58.3-97c-17.4-28.9-48.6-46.6-82.3-46.6h-29.7c-33.7 0-64.9 17.7-82.3 46.6l-58.3 97c-9.1 15.1-4.2 34.8 10.9 43.9s34.8 4.2 43.9-10.9l28.7-47.5V448zm478.6-326.6-80-80c-12.5-12.5-32.8-12.5-45.3 0l-80 80c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l25.4-25.4V384c0 17.7 14.3 32 32 32s32-14.3 32-32V141.3l25.4 25.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3z"/></symbol><symbol class="eksvg-inline--fa ekfa-person-booth" viewBox="0 0 576 512" id="fas-person-booth" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M256 32c0-17.7-14.3-32-32-32s-32 14.3-32 32v160h64V32zm320 0c0-17.7-14.3-32-32-32s-32 14.3-32 32v448c0 17.7 14.3 32 32 32s32-14.3 32-32V32zM224 512c17.7 0 32-14.3 32-32V320h-64v160c0 17.7 14.3 32 32 32zM320 0c-9.3 0-18.1 4-24.2 11s-8.8 16.3-7.5 25.5l31.2 218.6-30.9 154.6c-3.5 17.3 7.8 34.2 25.1 37.7s34.2-7.8 37.7-25.1l.7-3.6c1.3 16.4 15.1 29.4 31.9 29.4 17.7 0 32-14.3 32-32 0 17.7 14.3 32 32 32s32-14.3 32-32V32c0-17.7-14.3-32-32-32H320zM112 80a48 48 0 1 0-96 0 48 48 0 1 0 96 0zm0 261.3v-72l4.7 4.7c9 9 21.2 14.1 33.9 14.1H224c17.7 0 32-14.3 32-32s-14.3-32-32-32h-66.7l-41.6-41.6c-14.3-14.3-33.8-22.4-54-22.4C27.6 160 0 187.6 0 221.6V480c0 17.7 14.3 32 32 32s32-14.3 32-32v-96l32 42.7V480c0 17.7 14.3 32 32 32s32-14.3 32-32v-58.7c0-10.4-3.4-20.5-9.6-28.8L112 341.3z"/></symbol><symbol class="elsvg-inline--fa elfa-phone-flip" viewBox="0 0 512 512" id="fas-phone-alt" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M347.1 24.6c7.7-18.6 28-28.5 47.4-23.2l88 24C499.9 30.2 512 46 512 64c0 247.4-200.6 448-448 448-18 0-33.8-12.1-38.6-29.5l-24-88c-5.3-19.4 4.6-39.7 23.2-47.4l96-40c16.3-6.8 35.2-2.1 46.3 11.6l40.4 49.3c70.4-33.3 127.4-90.3 160.7-160.7L318.7 167c-13.7-11.2-18.4-30-11.6-46.3l40-96z"/></symbol><symbol class="emsvg-inline--fa emfa-pills" viewBox="0 0 576 512" id="fas-pills" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M112 96c-26.5 0-48 21.5-48 48v112h96V144c0-26.5-21.5-48-48-48zM0 144C0 82.1 50.1 32 112 32s112 50.1 112 112v224c0 61.9-50.1 112-112 112S0 429.9 0 368V144zm554.9 255.4c-7.1 12.3-23.7 13.1-33.8 3.1L333.5 214.9c-10-10-9.3-26.7 3.1-33.8C360 167.7 387.1 160 416 160c88.4 0 160 71.6 160 160 0 28.9-7.7 56-21.1 79.4zm-59.5 59.5C472 472.3 444.9 480 416 480c-88.4 0-160-71.6-160-160 0-28.9 7.7-56 21.1-79.4 7.1-12.3 23.7-13.1 33.8-3.1l187.6 187.6c10 10 9.3 26.7-3.1 33.8z"/></symbol><symbol class="eosvg-inline--fa eofa-plane" viewBox="0 0 576 512" id="fas-plane" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M482.3 192c34.2 0 93.7 29 93.7 64 0 36-59.5 64-93.7 64H365.7L265.2 495.9c-5.7 10-16.3 16.1-27.8 16.1h-56.2c-10.6 0-18.3-10.2-15.4-20.4l49-171.6H112l-43.2 57.6c-3 4-7.8 6.4-12.8 6.4H14c-7.8 0-14-6.3-14-14 0-1.3.2-2.6.5-3.9L32 256 .5 145.9c-.4-1.3-.5-2.6-.5-3.9 0-7.8 6.3-14 14-14h42c5 0 9.8 2.4 12.8 6.4L112 192h102.9l-49-171.6c-3-10.2 4.7-20.4 15.3-20.4h56.2c11.5 0 22.1 6.2 27.8 16.1L365.7 192h116.6z"/></symbol><symbol class="ensvg-inline--fa enfa-plane-departure" viewBox="0 0 640 512" id="fas-plane-departure" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M381 114.9 186.1 41.8c-16.7-6.2-35.2-5.3-51.1 2.7L89.1 67.4C78 73 77.2 88.5 87.6 95.2l146.9 94.5L136 240l-58.2-25.9c-8.7-3.9-18.8-3.7-27.3.6l-32.2 16.1c-9.3 4.7-11.8 16.8-5 24.7l73.1 85.3c6.1 7.1 15 11.2 24.3 11.2h137.7c5 0 9.9-1.2 14.3-3.4l272.9-136.4c46.5-23.3 82.5-63.3 100.8-112C645.9 75 627.2 48 600.2 48h-57.4c-20.2 0-40.2 4.8-58.2 14L381 114.9zM0 480c0 17.7 14.3 32 32 32h576c17.7 0 32-14.3 32-32s-14.3-32-32-32H32c-17.7 0-32 14.3-32 32z"/></symbol><symbol class="epsvg-inline--fa epfa-plate-wheat" viewBox="0 0 512 512" id="fas-plate-wheat" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M176 32c44.2 0 80 35.8 80 80v16c0 8.8-7.2 16-16 16-44.2 0-80-35.8-80-80V48c0-8.8 7.2-16 16-16zM56 64h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24s10.7-24 24-24zm-32 72h112c13.3 0 24 10.7 24 24s-10.7 24-24 24H24c-13.3 0-24-10.7-24-24s10.7-24 24-24zm8 96c0-13.3 10.7-24 24-24h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H56c-13.3 0-24-10.7-24-24zM272 48c0-8.8 7.2-16 16-16 44.2 0 80 35.8 80 80v16c0 8.8-7.2 16-16 16-44.2 0-80-35.8-80-80V48zm128-16c44.2 0 80 35.8 80 80v16c0 8.8-7.2 16-16 16-44.2 0-80-35.8-80-80V48c0-8.8 7.2-16 16-16zm80 160v16c0 44.2-35.8 80-80 80-8.8 0-16-7.2-16-16v-16c0-44.2 35.8-80 80-80 8.8 0 16 7.2 16 16zm-128-16c8.8 0 16 7.2 16 16v16c0 44.2-35.8 80-80 80-8.8 0-16-7.2-16-16v-16c0-44.2 35.8-80 80-80zm-96 16v16c0 44.2-35.8 80-80 80-8.8 0-16-7.2-16-16v-16c0-44.2 35.8-80 80-80 8.8 0 16 7.2 16 16zM3.5 347.6C1.6 332.9 13 320 27.8 320h456.4c14.8 0 26.2 12.9 24.4 27.6-6.3 50.2-44.4 89.4-92.6 98.4v2c0 17.7-14.3 32-32 32H128c-17.7 0-32-14.3-32-32v-2c-48.2-9-86.3-48.2-92.5-98.4z"/></symbol><symbol class="ersvg-inline--fa erfa-plug" viewBox="0 0 384 512" id="fas-plug" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M96 0C78.3 0 64 14.3 64 32v96h64V32c0-17.7-14.3-32-32-32zm192 0c-17.7 0-32 14.3-32 32v96h64V32c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32v32c0 77.4 55 142 128 156.8V480c0 17.7 14.3 32 32 32s32-14.3 32-32v-67.2C297 398 352 333.4 352 256v-32c17.7 0 32-14.3 32-32s-14.3-32-32-32H32z"/></symbol><symbol class="eqsvg-inline--fa eqfa-plug-circle-bolt" viewBox="0 0 576 512" id="fas-plug-circle-bolt" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M96 0C78.3 0 64 14.3 64 32v96h64V32c0-17.7-14.3-32-32-32zm192 0c-17.7 0-32 14.3-32 32v96h64V32c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32v32c0 77.4 55 142 128 156.8V480c0 17.7 14.3 32 32 32s32-14.3 32-32v-67.2c12.3-2.5 24.1-6.4 35.1-11.5-2.1-10.8-3.1-21.9-3.1-33.3 0-80.3 53.8-148 127.3-169.2.5-2.2.7-4.5.7-6.8 0-17.7-14.3-32-32-32H32zm400 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm47.9-225c4.3 3.7 5.4 9.9 2.6 14.9L452.4 356H488c5.2 0 9.8 3.3 11.4 8.2s-.1 10.3-4.2 13.4l-96 72c-4.5 3.4-10.8 3.2-15.1-.6s-5.4-9.9-2.6-14.9l30.1-54.1H376c-5.2 0-9.8-3.3-11.4-8.2s.1-10.3 4.2-13.4l96-72c4.5-3.4 10.8-3.2 15.1.6z"/></symbol><symbol class="essvg-inline--fa esfa-plus" viewBox="0 0 448 512" id="fas-plus" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M256 80c0-17.7-14.3-32-32-32s-32 14.3-32 32v144H48c-17.7 0-32 14.3-32 32s14.3 32 32 32h144v144c0 17.7 14.3 32 32 32s32-14.3 32-32V288h144c17.7 0 32-14.3 32-32s-14.3-32-32-32H256V80z"/></symbol><symbol class="etsvg-inline--fa etfa-print" viewBox="0 0 512 512" id="fas-print" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M128 0C92.7 0 64 28.7 64 64v96h64V64h226.7L384 93.3V160h64V93.3c0-17-6.7-33.3-18.7-45.3L400 18.7C388 6.7 371.7 0 354.7 0H128zm256 352v96H128v-96h256zm64 32h32c17.7 0 32-14.3 32-32v-96c0-35.3-28.7-64-64-64H64c-35.3 0-64 28.7-64 64v96c0 17.7 14.3 32 32 32h32v64c0 35.3 28.7 64 64 64h256c35.3 0 64-28.7 64-64v-64zm-16-136a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"/></symbol><symbol class="eusvg-inline--fa eufa-bed-pulse" viewBox="0 0 640 512" id="fas-procedures" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M483.2 9.6 524 64h92c13.3 0 24 10.7 24 24s-10.7 24-24 24H512c-7.6 0-14.7-3.6-19.2-9.6l-24.1-32.1-47 99.9c-3.7 7.8-11.3 13.1-19.9 13.7s-16.9-3.4-21.7-10.6L339.2 112H216c-13.3 0-24-10.7-24-24s10.7-24 24-24h136c8 0 15.5 4 20 10.7l24.4 36.6 45.9-97.5C445.9 6.2 453.2 1 461.6.1s16.6 2.7 21.6 9.5zM320 160h12.7l20.7 31.1c11.2 16.8 30.6 26.3 50.7 24.8s37.9-13.7 46.5-32l11.3-23.9H544c53 0 96 43 96 96v224c0 17.7-14.3 32-32 32s-32-14.3-32-32v-32H64v32c0 17.7-14.3 32-32 32S0 497.7 0 480V96c0-17.7 14.3-32 32-32s32 14.3 32 32v256h224V192c0-17.7 14.3-32 32-32zm-144 0a80 80 0 1 1 0 160 80 80 0 1 1 0-160z"/></symbol><symbol class="evsvg-inline--fa evfa-puzzle-piece" viewBox="0 0 512 512" id="fas-puzzle-piece" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M192 104.8c0-9.2-5.8-17.3-13.2-22.8-11.6-8.7-18.8-20.7-18.8-34 0-26.5 28.7-48 64-48s64 21.5 64 48c0 13.3-7.2 25.3-18.8 34-7.4 5.5-13.2 13.6-13.2 22.8 0 12.8 10.4 23.2 23.2 23.2H336c26.5 0 48 21.5 48 48v56.8c0 12.8 10.4 23.2 23.2 23.2 9.2 0 17.3-5.8 22.8-13.2 8.7-11.6 20.7-18.8 34-18.8 26.5 0 48 28.7 48 64s-21.5 64-48 64c-13.3 0-25.3-7.2-34-18.8-5.5-7.4-13.6-13.2-22.8-13.2-12.8 0-23.2 10.4-23.2 23.2V464c0 26.5-21.5 48-48 48h-56.8c-12.8 0-23.2-10.4-23.2-23.2 0-9.2 5.8-17.3 13.2-22.8 11.6-8.7 18.8-20.7 18.8-34 0-26.5-28.7-48-64-48s-64 21.5-64 48c0 13.3 7.2 25.3 18.8 34 7.4 5.5 13.2 13.6 13.2 22.8 0 12.8-10.4 23.2-23.2 23.2H48c-26.5 0-48-21.5-48-48V343.2C0 330.4 10.4 320 23.2 320c9.2 0 17.3 5.8 22.8 13.2 8.7 11.6 20.7 18.8 34 18.8 26.5 0 48-28.7 48-64s-21.5-64-48-64c-13.3 0-25.3 7.2-34 18.8-5.5 7.4-13.6 13.2-22.8 13.2C10.4 256 0 245.6 0 232.8V176c0-26.5 21.5-48 48-48h120.8c12.8 0 23.2-10.4 23.2-23.2z"/></symbol><symbol class="ewsvg-inline--fa ewfa-question" viewBox="0 0 320 512" id="fas-question" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M80 160c0-35.3 28.7-64 64-64h32c35.3 0 64 28.7 64 64v3.6c0 21.8-11.1 42.1-29.4 53.8l-42.2 27.1a87.983 87.983 0 0 0-40.4 74v1.5c0 17.7 14.3 32 32 32s32-14.3 32-32v-1.4c0-8.2 4.2-15.8 11-20.2l42.2-27.1c36.6-23.6 58.8-64.1 58.8-107.7V160c0-70.7-57.3-128-128-128h-32C73.3 32 16 89.3 16 160c0 17.7 14.3 32 32 32s32-14.3 32-32zm80 320a40 40 0 1 0 0-80 40 40 0 1 0 0 80z"/></symbol><symbol class="exsvg-inline--fa exfa-rocket" viewBox="0 0 512 512" id="fas-rocket" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M156.6 384.9 125.7 354c-8.5-8.5-11.5-20.8-7.7-32.2 3-8.9 7-20.5 11.8-33.8H24c-8.6 0-16.6-4.6-20.9-12.1s-4.2-16.7.2-24.1l52.5-88.5c13-21.9 36.5-35.3 61.9-35.3H200c2.4-4 4.8-7.7 7.2-11.3C289.1-4.1 411.1-8.1 483.9 5.3c11.6 2.1 20.6 11.2 22.8 22.8 13.4 72.9 9.3 194.8-111.4 276.7-3.5 2.4-7.3 4.8-11.3 7.2v82.3c0 25.4-13.4 49-35.3 61.9l-88.5 52.5c-7.4 4.4-16.6 4.5-24.1.2S224 496.7 224 488V380.8c-14.1 4.9-26.4 8.9-35.7 11.9-11.2 3.6-23.4.5-31.8-7.8zM384 168a40 40 0 1 0 0-80 40 40 0 1 0 0 80z"/></symbol><symbol class="eysvg-inline--fa eyfa-rotate" viewBox="0 0 512 512" id="fas-rotate" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M142.9 142.9c62.2-62.2 162.7-62.5 225.3-1L327 183c-6.9 6.9-8.9 17.2-5.2 26.2S334.3 224 344 224h128c13.3 0 24-10.7 24-24V72c0-9.7-5.8-18.5-14.8-22.2S461.9 48.1 455 55l-41.6 41.6c-87.6-86.5-228.7-86.2-315.8 1-24.4 24.4-42 53.1-52.8 83.8-5.9 16.7 2.9 34.9 19.5 40.8s34.9-2.9 40.8-19.5c7.7-21.8 20.2-42.3 37.8-59.8zM16 312v128c0 9.7 5.8 18.5 14.8 22.2s19.3 1.7 26.2-5.2l41.6-41.6c87.6 86.5 228.7 86.2 315.8-1 24.4-24.4 42.1-53.1 52.9-83.7 5.9-16.7-2.9-34.9-19.5-40.8s-34.9 2.9-40.8 19.5c-7.7 21.8-20.2 42.3-37.8 59.8-62.2 62.2-162.7 62.5-225.3 1L185 329c6.9-6.9 8.9-17.2 5.2-26.2S177.7 288 168 288H40c-13.3 0-24 10.7-24 24z"/></symbol><symbol class="ezsvg-inline--fa ezfa-person-running" viewBox="0 0 448 512" id="fas-running" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M320 48a48 48 0 1 0-96 0 48 48 0 1 0 96 0zM125.7 175.5c9.9-9.9 23.4-15.5 37.5-15.5 1.9 0 3.8.1 5.6.3L137.6 254c-9.3 28 1.7 58.8 26.8 74.5l86.2 53.9-25.4 88.8c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l28.7-100.4c5.9-20.6-2.6-42.6-20.7-53.9L238 299l30.9-82.4 5.1 12.3c15 35.8 49.9 59.1 88.7 59.1H384c17.7 0 32-14.3 32-32s-14.3-32-32-32h-21.3c-12.9 0-24.6-7.8-29.5-19.7l-6.3-15c-14.6-35.1-44.1-61.9-80.5-73.1l-48.7-15C186.6 97.8 175 96 163.3 96c-31 0-60.8 12.3-82.7 34.3l-23.2 23.1c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l23.1-23.1zM91.2 352H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h69.6c19 0 36.2-11.2 43.9-28.5l11.5-25.9-9.5-6a95.394 95.394 0 0 1-37.9-44.9L91.2 352z"/></symbol><symbol class="fasvg-inline--fa fafa-school" viewBox="0 0 640 512" id="fas-school" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M337.8 5.4c-10.8-7.2-24.8-7.2-35.6 0L166.3 96H48c-26.5 0-48 21.5-48 48v320c0 26.5 21.5 48 48 48h544c26.5 0 48-21.5 48-48V144c0-26.5-21.5-48-48-48H473.7L337.8 5.4zM256 416c0-35.3 28.7-64 64-64s64 28.7 64 64v96H256v-96zM96 192h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16v-64c0-8.8 7.2-16 16-16zm400 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16h-32c-8.8 0-16-7.2-16-16v-64zM96 320h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16H96c-8.8 0-16-7.2-16-16v-64c0-8.8 7.2-16 16-16zm400 16c0-8.8 7.2-16 16-16h32c8.8 0 16 7.2 16 16v64c0 8.8-7.2 16-16 16h-32c-8.8 0-16-7.2-16-16v-64zM232 176a88 88 0 1 1 176 0 88 88 0 1 1-176 0zm88-48c-8.8 0-16 7.2-16 16v32c0 8.8 7.2 16 16 16h32c8.8 0 16-7.2 16-16s-7.2-16-16-16h-16v-16c0-8.8-7.2-16-16-16z"/></symbol><symbol class="fbsvg-inline--fa fbfa-screwdriver" viewBox="0 0 512 512" id="fas-screwdriver" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M465 7c-8.5-8.5-22-9.4-31.6-2.1l-104 80c-5.9 4.5-9.4 11.6-9.4 19V158l-85.6 85.6c6.7 4.2 13 9.3 18.8 15.1s10.9 12.2 15.1 18.8l85.6-85.5H408c7.5 0 14.5-3.5 19-9.4l80-104c7.4-9.6 6.5-23.1-2.1-31.6L465 7zM121.4 281.4l-112 112c-12.5 12.5-12.5 32.8 0 45.3l64 64c12.5 12.5 32.8 12.5 45.3 0l112-112c30.2-30.2 30.2-79.1 0-109.3s-79.1-30.2-109.3 0z"/></symbol><symbol class="fcsvg-inline--fa fcfa-seedling" viewBox="0 0 512 512" id="fas-seedling" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M512 32c0 113.6-84.6 207.5-194.2 222-7.1-53.4-30.6-101.6-65.3-139.3C290.8 46.3 364 0 448 0h32c17.7 0 32 14.3 32 32zM0 96c0-17.7 14.3-32 32-32h32c123.7 0 224 100.3 224 224v192c0 17.7-14.3 32-32 32s-32-14.3-32-32V320C100.3 320 0 219.7 0 96z"/></symbol><symbol class="fdsvg-inline--fa fdfa-server" viewBox="0 0 512 512" id="fas-server" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M64 32C28.7 32 0 60.7 0 96v64c0 35.3 28.7 64 64 64h384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm280 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm48 24a24 24 0 1 1 48 0 24 24 0 1 1-48 0zM64 288c-35.3 0-64 28.7-64 64v64c0 35.3 28.7 64 64 64h384c35.3 0 64-28.7 64-64v-64c0-35.3-28.7-64-64-64H64zm280 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1-48 0z"/></symbol><symbol class="fesvg-inline--fa fefa-shapes" viewBox="0 0 512 512" id="fas-shapes" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M315.4 15.5C309.7 5.9 299.2 0 288 0s-21.7 5.9-27.4 15.5l-96 160c-5.9 9.9-6.1 22.2-.4 32.2s16.3 16.2 27.8 16.2h192c11.5 0 22.2-6.2 27.8-16.2s5.5-22.3-.4-32.2l-96-160zM288 312v144c0 22.1 17.9 40 40 40h144c22.1 0 40-17.9 40-40V312c0-22.1-17.9-40-40-40H328c-22.1 0-40 17.9-40 40zM128 512a128 128 0 1 0 0-256 128 128 0 1 0 0 256z"/></symbol><symbol class="ffsvg-inline--fa fffa-share-nodes" viewBox="0 0 448 512" id="fas-share-alt" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M352 224c53 0 96-43 96-96s-43-96-96-96-96 43-96 96c0 4 .2 8 .7 11.9l-94.1 47C145.4 170.2 121.9 160 96 160c-53 0-96 43-96 96s43 96 96 96c25.9 0 49.4-10.2 66.6-26.9l94.1 47c-.5 3.9-.7 7.8-.7 11.9 0 53 43 96 96 96s96-43 96-96-43-96-96-96c-25.9 0-49.4 10.2-66.6 26.9l-94.1-47c.5-3.9.7-7.8.7-11.9s-.2-8-.7-11.9l94.1-47c17.2 16.7 40.7 26.9 66.6 26.9z"/></symbol><symbol class="fgsvg-inline--fa fgfa-shoe-prints" viewBox="0 0 640 512" id="fas-shoe-prints" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M416 0c-63.7 0-160 32-160 32v128c48 0 76 16 104 32s56 32 104 32c56.4 0 176-16 176-96S512 0 416 0zM128 96c0 35.3 28.7 64 64 64h32V32h-32c-35.3 0-64 28.7-64 64zm160 416c96 0 224-48 224-128s-119.6-96-176-96c-48 0-76 16-104 32s-56 32-104 32v128s96.3 32 160 32zM0 416c0 35.3 28.7 64 64 64h32V352H64c-35.3 0-64 28.7-64 64z"/></symbol><symbol class="fhsvg-inline--fa fhfa-basket-shopping" viewBox="0 0 576 512" id="fas-shopping-basket" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M253.3 35.1c6.1-11.8 1.5-26.3-10.2-32.4s-26.3-1.5-32.4 10.2L117.6 192H32c-17.7 0-32 14.3-32 32s14.3 32 32 32l51.9 207.5C91 492 116.6 512 146 512h284c29.4 0 55-20 62.1-48.5L544 256c17.7 0 32-14.3 32-32s-14.3-32-32-32h-85.6L365.3 12.9c-6.1-11.7-20.6-16.3-32.4-10.2s-16.3 20.6-10.2 32.4L404.3 192H171.7l81.6-156.9zM192 304v96c0 8.8-7.2 16-16 16s-16-7.2-16-16v-96c0-8.8 7.2-16 16-16s16 7.2 16 16zm96-16c8.8 0 16 7.2 16 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16v-96c0-8.8 7.2-16 16-16zm128 16v96c0 8.8-7.2 16-16 16s-16-7.2-16-16v-96c0-8.8 7.2-16 16-16s16 7.2 16 16z"/></symbol><symbol class="fisvg-inline--fa fifa-cart-shopping" viewBox="0 0 576 512" id="fas-shopping-cart" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M0 24C0 10.7 10.7 0 24 0h45.5c22 0 41.5 12.8 50.6 32h411c26.3 0 45.5 25 38.6 50.4l-41 152.3c-8.5 31.4-37 53.3-69.5 53.3H170.7l5.4 28.5c2.2 11.3 12.1 19.5 23.6 19.5H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H199.7c-34.6 0-64.3-24.6-70.7-58.5l-51.6-271c-.7-3.8-4-6.5-7.9-6.5H24C10.7 48 0 37.3 0 24zm128 440a48 48 0 1 1 96 0 48 48 0 1 1-96 0zm336-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z"/></symbol><symbol class="fjsvg-inline--fa fjfa-sign-hanging" viewBox="0 0 512 512" id="fas-sign-hanging" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M96 0c17.7 0 32 14.3 32 32v32h352c17.7 0 32 14.3 32 32s-14.3 32-32 32H128v352c0 17.7-14.3 32-32 32s-32-14.3-32-32V128H32c-17.7 0-32-14.3-32-32s14.3-32 32-32h32V32C64 14.3 78.3 0 96 0zm96 160h256c17.7 0 32 14.3 32 32v160c0 17.7-14.3 32-32 32H192c-17.7 0-32-14.3-32-32V192c0-17.7 14.3-32 32-32z"/></symbol><symbol class="fksvg-inline--fa fkfa-person-skating" viewBox="0 0 448 512" id="fas-skating" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M352 48a48 48 0 1 1 96 0 48 48 0 1 1-96 0zm-224 80c0-17.7 14.3-32 32-32h159.4c43.6 0 64.6 53.4 32.8 83.1l-74.4 69.4 60.2 60.2c9 9 14.1 21.2 14.1 33.9V416c0 17.7-14.3 32-32 32s-32-14.3-32-32v-66.7l-77.9-77.8c-26.6-26.6-24.6-70.3 4.3-94.4l20.4-17H160c-17.7 0-32-14.3-32-32zM81.4 353.4l86.9-86.9c4.6 10 11 19.3 19.3 27.5l21.8 21.8-82.7 82.7c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3zm322.5 95.1c8.6 2.1 13.8 10.8 11.6 19.4l-.4 1.7c-6.2 24.9-28.6 42.4-54.3 42.4H272c-8.8 0-16-7.2-16-16s7.2-16 16-16h88.8c11 0 20.6-7.5 23.3-18.2l.4-1.7c2.1-8.6 10.8-13.8 19.4-11.6zm-268.7 29.8-6.2 3.1c-21.6 10.8-47.6 6.6-64.6-10.5L4.7 411.3c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0l59.6 59.6c7.3 7.3 18.5 9.1 27.7 4.5l6.2-3.1c7.9-4 17.5-.7 21.5 7.2s.7 17.5-7.2 21.5z"/></symbol><symbol class="fmsvg-inline--fa fmfa-person-skiing" viewBox="0 0 512 512" id="fas-skiing" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M380.7 48a48 48 0 1 1 96 0 48 48 0 1 1-96 0zM2.7 268.9c6.1-11.8 20.6-16.3 32.4-10.2l197.6 102.6 46.2-69.2-75.1-75.1c-14.6-14.6-20.4-33.9-18.4-52.1l108.8 52 39.3 39.3c16.2 16.2 18.7 41.5 6 60.6L289.8 391l128.7 66.8c13.6 7.1 29.8 7.2 43.6.3l15.2-7.6c11.9-5.9 26.3-1.1 32.2 10.7s1.1 26.3-10.7 32.2l-15.2 7.6c-27.5 13.7-59.9 13.5-87.2-.7l-383.5-199c-11.7-6.1-16.3-20.6-10.2-32.4zM118.9 65.6l18.1 8.6 8.7-17.4c4-7.9 13.6-11.1 21.5-7.2s11.1 13.6 7.2 21.5L165.9 88l54.7 26.2c1.5-.7 3.1-1.4 4.7-2.1l83.4-33.4c34.2-13.7 72.8 4.2 84.5 39.2l17.1 51.2 52.1 26.1c15.8 7.9 22.2 27.1 14.3 42.9s-27.1 22.2-42.9 14.3l-58.1-29c-11.4-5.7-20-15.7-24.1-27.8l-5.8-17.3-27.3 12.1-6.8 3-6.7-3.2-153.5-73.5-9.2 18.4c-4 7.9-13.6 11.1-21.5 7.2s-11.1-13.6-7.2-21.5l9-18-17.6-8.4c-8-3.8-11.3-13.4-7.5-21.3s13.4-11.3 21.3-7.5z"/></symbol><symbol class="flsvg-inline--fa flfa-person-skiing-nordic" viewBox="0 0 576 512" id="fas-skiing-nordic" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M336 96a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm-108.8 64c1.9 0 3.8.1 5.6.3L201.6 254c-9.3 28 1.7 58.8 26.8 74.5l86.2 53.9-23.3 81.6h-88.5l41.1-88.1-32.4-20.3c-7.8-4.9-14.7-10.7-20.6-17.3L132.2 464H99.7l54.2-257.6c4.6-1.5 9-4.1 12.7-7.8l23.1-23.1c9.9-9.9 23.4-15.5 37.5-15.5zm-105.8 38.6c.4.4.8.8 1.3 1.2L67 464H24c-13.3 0-24 10.7-24 24s10.7 24 24 24h480c39.8 0 72-32.2 72-72v-8c0-13.3-10.7-24-24-24s-24 10.7-24 24v8c0 13.3-10.7 24-24 24h-69.4l27.6-179.3c10.5-5.2 17.8-16.1 17.8-28.7 0-17.7-14.3-32-32-32h-21.3c-12.9 0-24.6-7.8-29.5-19.7l-6.3-15c-14.6-35.1-44.1-61.9-80.5-73.1l-48.7-15C250.6 97.8 239 96 227.3 96c-31 0-60.8 12.3-82.7 34.3l-23.1 23.1c-12.5 12.5-12.5 32.8 0 45.3zm308 89.4-27.1 176h-44.5l21.6-75.6c5.9-20.6-2.6-42.6-20.7-53.9L302 299l30.9-82.4 5.1 12.3c15 35.8 49.9 59.1 88.7 59.1h2.7z"/></symbol><symbol class="fnsvg-inline--fa fnfa-sleigh" viewBox="0 0 640 512" id="fas-sleigh" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M32 32C14.3 32 0 46.3 0 64s14.3 32 32 32v160c0 53 43 96 96 96v32h64v-32h192v32h64v-32c53 0 96-43 96-96v-96c17.7 0 32-14.3 32-32s-14.3-32-32-32h-64c-17.7 0-32 14.3-32 32v41.3c0 30.2-24.5 54.7-54.7 54.7-75.5 0-145.6-38.9-185.6-102.9l-4.3-6.9C174.2 67.6 125 37.6 70.7 32.7c-2.2-.5-4.4-.7-6.7-.7H32zm608 352c0-17.7-14.3-32-32-32s-32 14.3-32 32v8c0 13.3-10.7 24-24 24H64c-17.7 0-32 14.3-32 32s14.3 32 32 32h488c48.6 0 88-39.4 88-88v-8z"/></symbol><symbol class="fosvg-inline--fa fofa-smoking" viewBox="0 0 640 512" id="fas-smoking" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M448 32v11c0 38.2 15.2 74.8 42.2 101.8l21 21c21 21 32.8 49.5 32.8 79.2v11c0 17.7-14.3 32-32 32s-32-14.3-32-32v-11c0-12.7-5.1-24.9-14.1-33.9l-21-21c-39-39-60.9-92-60.9-147.1V32c0-17.7 14.3-32 32-32s32 14.3 32 32zm128 224v-11c0-38.2-15.2-74.8-42.2-101.8l-21-21c-21-21-32.8-49.5-32.8-79.2V32c0-17.7 14.3-32 32-32s32 14.3 32 32v11c0 12.7 5.1 24.9 14.1 33.9l21 21c39 39 60.9 91.9 60.9 147.1v11c0 17.7-14.3 32-32 32s-32-14.3-32-32zM0 416c0-35.3 28.7-64 64-64h352c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32H64c-35.3 0-64-28.7-64-64v-32zm224 0v32h160v-32H224zm288-64c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32v-96c0-17.7 14.3-32 32-32zm96 0c17.7 0 32 14.3 32 32v96c0 17.7-14.3 32-32 32s-32-14.3-32-32v-96c0-17.7 14.3-32 32-32z"/></symbol><symbol class="fpsvg-inline--fa fpfa-person-snowboarding" viewBox="0 0 512 512" id="fas-snowboarding" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M209.7 3.4c15.8-7.9 35-1.5 42.9 14.3l25 50 42.4 8.5c19.5 3.9 37.8 12.3 53.5 24.5l126.1 98.1c14 10.9 16.5 31 5.6 44.9s-31 16.5-44.9 5.6l-72.1-56.1-71.5 31.8 33.1 27.6c23.2 19.3 33.5 50 26.7 79.4l-17.4 75.2c-2.2 9.4-8.2 16.8-16.1 21l86.5 33.1c4.6 1.8 9.4 2.6 14.3 2.6H472c13.3 0 24 10.7 24 24s-10.7 24-24 24h-28.2c-10.8 0-21.4-2-31.5-5.8L60.1 371.3c-11.5-4.4-22-11.2-30.8-20L7 329c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l22.4 22.4c4 4 8.7 7.1 14 9.1l22.4 8.6c-.8-1.6-1.5-3.2-2.1-4.9-5.6-16.8 3.5-34.9 20.2-40.5l74.2-24.9v-53.2c0-24.2 13.7-46.4 35.4-57.2l45.2-22.6-7.5-1.5c-19.4-3.9-35.9-16.5-44.7-34.1l-25-50c-7.9-15.8-1.5-35 14.3-42.9zM139 350.1 298 411c-2.1-5.6-2.6-11.9-1.1-18.2l17.4-75.2c1.4-5.9-.7-12-5.3-15.9l-52.8-44v18.8c0 20.7-13.2 39-32.8 45.5L139 350.1zM432 0a48 48 0 1 1 0 96 48 48 0 1 1 0-96z"/></symbol><symbol class="fqsvg-inline--fa fqfa-solar-panel" viewBox="0 0 640 512" id="fas-solar-panel" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M122.2 0C91.7 0 65.5 21.5 59.5 51.4l-51.2 256C.4 347 30.6 384 71 384h217v64h-64c-17.7 0-32 14.3-32 32s14.3 32 32 32h192c17.7 0 32-14.3 32-32s-14.3-32-32-32h-64v-64h217c40.4 0 70.7-36.9 62.8-76.6l-51.2-256C574.5 21.5 548.3 0 517.8 0H122.2zm138.7 64h118.2l10.4 104h-139l10.4-104zm-58.6 104H101.4l20.8-104h90.4l-10.3 104zM91.8 216h105.7l-10.4 104H71l20.8-104zm153.9 0h148.6l10.4 104H235.3l10.4-104zm196.8 0h105.7L569 320H453l-10.5-104zm96-48H437.7L427.3 64h90.4l31.4-6.3-31.3 6.3 20.8 104z"/></symbol><symbol class="frsvg-inline--fa frfa-arrow-up-a-z" viewBox="0 0 576 512" id="fas-sort-alpha-up" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M183.6 42.4C177.5 35.8 169 32 160 32s-17.5 3.8-23.6 10.4l-88 96c-11.9 13-11.1 33.3 2 45.2s33.3 11.1 45.2-2l32.4-35.3V448c0 17.7 14.3 32 32 32s32-14.3 32-32V146.3l32.4 35.4c11.9 13 32.2 13.9 45.2 2s13.9-32.2 2-45.2l-88-96zM320 320c0 17.7 14.3 32 32 32h50.7l-73.4 73.4c-9.2 9.2-11.9 22.9-6.9 34.9s16.6 19.8 29.6 19.8h128c17.7 0 32-14.3 32-32s-14.3-32-32-32h-50.7l73.4-73.4c9.2-9.2 11.9-22.9 6.9-34.9S493 288 480 288H352c-17.7 0-32 14.3-32 32zm96-288c-12.1 0-23.2 6.8-28.6 17.7l-64 128-16 32c-7.9 15.8-1.5 35 14.3 42.9s35 1.5 42.9-14.3l7.2-14.3h88.4l7.2 14.3c7.9 15.8 27.1 22.2 42.9 14.3s22.2-27.1 14.3-42.9l-16-32-64-128C439.2 38.8 428.1 32 416 32zm-20.2 144 20.2-40.4 20.2 40.4h-40.4z"/></symbol><symbol class="fssvg-inline--fa fsfa-spa" viewBox="0 0 576 512" id="fas-spa" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M183.1 235.3c33.7 20.7 62.9 48.1 85.8 80.5 7 9.9 13.4 20.3 19.1 31 5.7-10.8 12.1-21.1 19.1-31 22.9-32.4 52.1-59.8 85.8-80.5C437.6 207.8 490.1 192 546 192h9.9c11.1 0 20.1 9 20.1 20.1 0 148-119.9 267.9-267.9 267.9h-40.2C119.9 480 0 360.1 0 212.1 0 201 9 192 20.1 192H30c55.9 0 108.4 15.8 153.1 43.3zM301.5 37.6c15.7 16.9 61.1 71.8 84.4 164.6-38 21.6-71.4 50.8-97.9 85.6-26.5-34.8-59.9-63.9-97.9-85.6 23.2-92.8 68.6-147.7 84.4-164.6 3.5-3.7 8.4-5.6 13.5-5.6s10 1.9 13.5 5.6z"/></symbol><symbol class="ftsvg-inline--fa ftfa-shuttle-space" viewBox="0 0 640 512" id="fas-space-shuttle" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M130 480c40.6 0 80.4-11 115.2-31.9L352 384H128v96h2zm222-352L245.2 63.9C210.4 43 170.6 32 130 32h-2v96h224zm-256 0V32H80c-26.5 0-48 21.5-48 48v48h8c-22.1 0-40 17.9-40 40v176c0 22.1 17.9 40 40 40h-8v48c0 26.5 21.5 48 48 48h16v-96h8c26.2 0 49.4-12.6 64-32h288c69.3 0 135-22.7 179.2-81.6 6.4-8.5 6.4-20.3 0-28.8C591 182.7 525.3 160 456 160H168c-14.6-19.4-37.8-32-64-32h-8zm416 115.6v24.9c0 19.6-15.9 35.6-35.6 35.6-2.5 0-4.4-2-4.4-4.4v-87.3c0-2.5 2-4.4 4.4-4.4 19.6 0 35.6 15.9 35.6 35.6z"/></symbol><symbol class="fusvg-inline--fa fufa-stamp" viewBox="0 0 512 512" id="fas-stamp" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M312 201.8c0-17.4 9.2-33.2 19.9-47C344.5 138.5 352 118.1 352 96c0-53-43-96-96-96s-96 43-96 96c0 22.1 7.5 42.5 20.1 58.8 10.7 13.8 19.9 29.6 19.9 47 0 29.9-24.3 54.2-54.2 54.2H112C50.1 256 0 306.1 0 368c0 20.9 13.4 38.7 32 45.3V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-50.7c18.6-6.6 32-24.4 32-45.3 0-61.9-50.1-112-112-112h-33.8c-29.9 0-54.2-24.3-54.2-54.2zM416 416v32H96v-32h320z"/></symbol><symbol class="fwsvg-inline--fa fwfa-store" viewBox="0 0 576 512" id="fas-store" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="m547.6 103.8-57.3-90.7C485.2 5 476.1 0 466.4 0H109.6c-9.7 0-18.8 5-23.9 13.1l-57.4 90.7c-29.6 46.8-3.4 111.9 51.9 119.4 4 .5 8.1.8 12.1.8 26.1 0 49.3-11.4 65.2-29 15.9 17.6 39.1 29 65.2 29s49.3-11.4 65.2-29c15.9 17.6 39.1 29 65.2 29 26.2 0 49.3-11.4 65.2-29 16 17.6 39.1 29 65.2 29 4.1 0 8.1-.3 12.1-.8 55.5-7.4 81.8-72.5 52.1-119.4zm-47.9 151.1h-.1c-5.3.7-10.7 1.1-16.2 1.1-12.4 0-24.3-1.9-35.4-5.3V384H128V250.6c-11.2 3.5-23.2 5.4-35.6 5.4-5.5 0-11-.4-16.3-1.1H76c-4.1-.6-8.1-1.3-12-2.3V448c0 35.3 28.7 64 64 64h320c35.3 0 64-28.7 64-64V252.6c-4 1-8 1.8-12.3 2.3z"/></symbol><symbol class="fvsvg-inline--fa fvfa-shop-slash" viewBox="0 0 640 512" id="fas-store-alt-slash" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2s-6.3 25.5 4.1 33.7l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-54.8-43V224h-64v152L384 275.7V224h-64v1.5L277.2 192h326c20.3 0 36.8-16.5 36.8-36.8 0-7.3-2.2-14.4-6.2-20.4L558.2 21.4C549.3 8 534.4 0 518.3 0H121.7c-16 0-31 8-39.9 21.4l-7.7 11.4L38.8 5.1zm-2 186.9h85L21 112.5 6.2 134.7c-4 6.1-6.2 13.2-6.2 20.4C0 175.5 16.5 192 36.8 192zM320 384H128V224H64v240c0 26.5 21.5 48 48 48h224c26.5 0 48-21.5 48-48v-65.5l-64-50.4V384z"/></symbol><symbol class="fysvg-inline--fa fyfa-suitcase" viewBox="0 0 512 512" id="fas-suitcase" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M176 56v40h160V56c0-4.4-3.6-8-8-8H184c-4.4 0-8 3.6-8 8zm-48 40V56c0-30.9 25.1-56 56-56h144c30.9 0 56 25.1 56 56v424H128V96zm-64 0h32v384H64c-35.3 0-64-28.7-64-64V160c0-35.3 28.7-64 64-64zm384 384h-32V96h32c35.3 0 64 28.7 64 64v256c0 35.3-28.7 64-64 64z"/></symbol><symbol class="fxsvg-inline--fa fxfa-suitcase-rolling" viewBox="0 0 384 512" id="fas-suitcase-rolling" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M144 56c0-4.4 3.6-8 8-8h80c4.4 0 8 3.6 8 8v72h-96V56zm176 72h-32V56c0-30.9-25.1-56-56-56h-80c-30.9 0-56 25.1-56 56v72H64c-35.3 0-64 28.7-64 64v224c0 35.3 28.7 64 64 64 0 17.7 14.3 32 32 32s32-14.3 32-32h128c0 17.7 14.3 32 32 32s32-14.3 32-32c35.3 0 64-28.7 64-64V192c0-35.3-28.7-64-64-64zm-208 96h160c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16zm0 128h160c8.8 0 16 7.2 16 16s-7.2 16-16 16H112c-8.8 0-16-7.2-16-16s7.2-16 16-16z"/></symbol><symbol class="fzsvg-inline--fa fzfa-person-swimming" viewBox="0 0 576 512" id="fas-swimmer" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="m309.5 178.4 138.4 118.7c-1.6.9-3.2 2-4.8 3-18 12.4-40.1 20.3-59.2 20.3-19.6 0-40.8-7.7-59.2-20.3-22.1-15.5-51.6-15.5-73.7 0-17.1 11.8-38 20.3-59.2 20.3-10.1 0-21.1-2.2-31.9-6.2C163.1 193.2 262.2 96 384 96h64c17.7 0 32 14.3 32 32s-14.3 32-32 32h-64c-26.9 0-52.3 6.6-74.5 18.4zM160 160a64 64 0 1 1-128 0 64 64 0 1 1 128 0zm146.5 165.9c22.5 15.5 50 26.1 77.5 26.1 26.9 0 55.4-10.8 77.4-26.1 11.9-8.5 28.1-7.8 39.2 1.7 14.4 11.9 32.5 21 50.6 25.2 17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25-29 15.6-61.5 25.9-94.5 25.9-31.9 0-60.6-9.9-80.4-18.9-5.8-2.7-11.1-5.3-15.6-7.7-4.5 2.4-9.7 5.1-15.6 7.7-19.8 9-48.5 18.9-80.4 18.9-33 0-65.5-10.3-94.5-25.8-13.4 8.4-33.7 19.3-58.2 25-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2 11.1-9.4 27.3-10.1 39.2-1.7 22.1 15.2 50.5 26 77.4 26 27.5 0 55-10.6 77.5-26.1 11.1-7.9 25.9-7.9 37 0z"/></symbol><symbol class="gasvg-inline--fa gafa-water-ladder" viewBox="0 0 576 512" id="fas-swimming-pool" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M128 127.7c0-52.8 42.9-95.7 95.7-95.7 48.3 0 89 36 95 83.9l1 8.2c2.2 17.5-10.2 33.5-27.8 35.7s-33.5-10.2-35.7-27.8l-1-8.2c-2-15.9-15.5-27.8-31.5-27.8-17.5 0-31.7 14.2-31.7 31.7V224h192v-96.3c0-52.8 42.9-95.7 95.7-95.7 48.3 0 89 36 95 83.9l1 8.2c2.2 17.5-10.2 33.5-27.8 35.7s-33.5-10.2-35.7-27.8l-1-8.2c-2-15.9-15.5-27.8-31.5-27.8-17.5 0-31.7 14.2-31.7 31.7V361c-1.6 1-3.3 2-4.8 3.1-18 12.4-40.1 20.3-59.2 20.3V288H192v96.5c-19 0-41.2-7.9-59.1-20.3-1.6-1.1-3.2-2.2-4.9-3.1V127.7zm178.5 262.2c22.5 15.5 50 26.1 77.5 26.1 26.9 0 55.4-10.8 77.4-26.1 11.9-8.5 28.1-7.8 39.2 1.7 14.4 11.9 32.5 21 50.6 25.2 17.2 4 27.9 21.2 23.9 38.4s-21.2 27.9-38.4 23.9c-24.5-5.7-44.9-16.5-58.2-25-29 15.6-61.5 25.9-94.5 25.9-31.9 0-60.6-9.9-80.4-18.9-5.8-2.7-11.1-5.3-15.6-7.7-4.5 2.4-9.7 5.1-15.6 7.7-19.8 9-48.5 18.9-80.4 18.9-33 0-65.5-10.3-94.5-25.8-13.4 8.4-33.7 19.3-58.2 25-17.2 4-34.4-6.7-38.4-23.9s6.7-34.4 23.9-38.4c18.1-4.2 36.2-13.3 50.6-25.2 11.1-9.4 27.3-10.1 39.2-1.7 22.1 15.2 50.5 26 77.4 26 27.5 0 55-10.6 77.5-26.1 11.1-7.9 25.9-7.9 37 0z"/></symbol><symbol class="gbsvg-inline--fa gbfa-synagogue" viewBox="0 0 640 512" id="fas-synagogue" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M309.8 3.7c5.9-4.9 14.6-4.9 20.5 0l121 100.8c18.2 15.2 28.7 37.7 28.7 61.5v346H352v-96c0-17.7-14.3-32-32-32s-32 14.3-32 32v96H160V166c0-23.7 10.5-46.3 28.8-61.5l121-100.8zM512 512V244.5l28.1-31.2c3-3.4 7.4-5.3 11.9-5.3s8.9 1.9 11.9 5.3l63.8 70.9c7.9 8.8 12.3 20.3 12.3 32.1V448c0 35.3-28.7 64-64 64h-64zM128 244.5V512H64c-35.3 0-64-28.7-64-64V316.3c0-11.9 4.4-23.3 12.3-32.1l63.8-70.9c3-3.4 7.4-5.3 11.9-5.3s8.9 1.9 11.9 5.3l28.1 31.2zm199-120.2c-3.1-5.4-10.9-5.4-13.9 0l-15.9 28.1-32.3-.3c-6.2-.1-10.1 6.7-7 12.1l16.4 27.8-16.4 27.8c-3.2 5.4.7 12.1 7 12.1l32.3-.3 15.8 28.1c3.1 5.4 10.9 5.4 13.9 0l15.9-28.1 32.3.3c6.2.1 10.1-6.7 7-12.1L365.7 192l16.4-27.8c3.2-5.4-.7-12.1-7-12.1l-32.3.3-15.8-28.1z"/></symbol><symbol class="gcsvg-inline--fa gcfa-table-tennis-paddle-ball" viewBox="0 0 640 512" id="fas-table-tennis" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M480 288c-50.1 0-93.6 28.8-114.6 70.8L132.9 126.3l.6-.6 60.1-60.1c87.5-87.5 229.3-87.5 316.8 0 67.1 67.1 82.7 166.3 46.8 248.3C535.8 297.6 509 288 480 288zM113.3 151.9l240.8 240.8c-1.4 7.5-2.1 15.3-2.1 23.3 0 23.2 6.2 44.9 16.9 63.7-3 .2-6.1.3-9.2.3H357c-33.9 0-66.5-13.5-90.5-37.5l-9.8-9.8c-13.1-13.1-34.6-12.4-46.8 1.7L152.2 501c-5.8 6.7-14.2 10.7-23 11s-17.5-3.1-23.8-9.4l-32-32c-6.3-6.3-9.7-14.9-9.4-23.8s4.3-17.2 11-23l66.6-57.7c14-12.2 14.8-33.7 1.7-46.8l-9.8-9.8c-24-24-37.5-56.6-37.5-90.5v-2.7c0-22.8 6.1-44.9 17.3-64.3zM480 320a96 96 0 1 1 0 192 96 96 0 1 1 0-192z"/></symbol><symbol class="gdsvg-inline--fa gdfa-gauge-high" viewBox="0 0 512 512" id="fas-tachometer-alt" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M0 256a256 256 0 1 1 512 0 256 256 0 1 1-512 0zM288 96a32 32 0 1 0-64 0 32 32 0 1 0 64 0zm-32 320c35.3 0 64-28.7 64-64 0-17.4-6.9-33.1-18.1-44.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3.2-31.6 12.3L257.9 288H256c-35.3 0-64 28.7-64 64s28.7 64 64 64zm-80-272a32 32 0 1 0-64 0 32 32 0 1 0 64 0zM96 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm352-32a32 32 0 1 0-64 0 32 32 0 1 0 64 0z"/></symbol><symbol class="gesvg-inline--fa gefa-tags" viewBox="0 0 512 512" id="fas-tags" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="m345 39.1 127.8 129.3c52.4 53 52.4 138.2 0 191.2l-112 113.3c-9.3 9.4-24.5 9.5-33.9.2s-9.5-24.5-.2-33.9l111.9-113.3c33.9-34.3 33.9-89.4 0-123.7L310.9 72.9c-9.3-9.4-9.2-24.6.2-33.9s24.6-9.2 33.9.2zM0 229.5V80c0-26.5 21.5-48 48-48h149.5c17 0 33.3 6.7 45.3 18.7l168 168c25 25 25 65.5 0 90.5L277.3 442.7c-25 25-65.5 25-90.5 0l-168-168C6.7 262.7 0 246.5 0 229.5zM144 144a32 32 0 1 0-64 0 32 32 0 1 0 64 0z"/></symbol><symbol class="gfsvg-inline--fa gffa-tape" viewBox="0 0 576 512" id="fas-tape" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M380.8 416c41.5-40.7 67.2-97.3 67.2-160 0-123.7-100.3-224-224-224S0 132.3 0 256s100.3 224 224 224h320c17.7 0 32-14.3 32-32s-14.3-32-32-32H380.8zM224 160a96 96 0 1 1 0 192 96 96 0 1 1 0-192zm64 96a64 64 0 1 0-128 0 64 64 0 1 0 128 0z"/></symbol><symbol class="ggsvg-inline--fa ggfa-taxi" viewBox="0 0 512 512" id="fas-taxi" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M192 0c-17.7 0-32 14.3-32 32v32.2c-38.6 2.2-72.3 27.3-85.2 64.1L39.6 228.8C16.4 238.4 0 261.3 0 288v192c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32v-48h320v48c0 17.7 14.3 32 32 32h32c17.7 0 32-14.3 32-32V288c0-26.7-16.4-49.6-39.6-59.2l-35.2-100.5c-12.9-36.8-46.6-62-85.2-64.1V32c0-17.7-14.3-32-32-32H192zm-26.6 128h181.2c13.6 0 25.7 8.6 30.2 21.4l26.1 74.6H109.1l26.1-74.6c4.5-12.8 16.6-21.4 30.2-21.4zM96 288a32 32 0 1 1 0 64 32 32 0 1 1 0-64zm288 32a32 32 0 1 1 64 0 32 32 0 1 1-64 0z"/></symbol><symbol class="ghsvg-inline--fa ghfa-teeth" viewBox="0 0 576 512" id="fas-teeth" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M0 128c0-53 43-96 96-96h384c53 0 96 43 96 96v256c0 53-43 96-96 96H96c-53 0-96-43-96-96V128zm176 48v56c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24v-56c0-26.5-21.5-48-48-48s-48 21.5-48 48zm176-48c-26.5 0-48 21.5-48 48v56c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24v-56c0-26.5-21.5-48-48-48zM48 208v24c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24v-24c0-26.5-21.5-48-48-48s-48 21.5-48 48zm48 176c26.5 0 48-21.5 48-48v-24c0-13.3-10.7-24-24-24H72c-13.3 0-24 10.7-24 24v24c0 26.5 21.5 48 48 48zm80-48c0 26.5 21.5 48 48 48s48-21.5 48-48v-24c0-13.3-10.7-24-24-24h-48c-13.3 0-24 10.7-24 24v24zm176 48c26.5 0 48-21.5 48-48v-24c0-13.3-10.7-24-24-24h-48c-13.3 0-24 10.7-24 24v24c0 26.5 21.5 48 48 48zm80-176v24c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24v-24c0-26.5-21.5-48-48-48s-48 21.5-48 48zm48 176c26.5 0 48-21.5 48-48v-24c0-13.3-10.7-24-24-24h-48c-13.3 0-24 10.7-24 24v24c0 26.5 21.5 48 48 48z"/></symbol><symbol class="gjsvg-inline--fa gjfa-table-cells" viewBox="0 0 512 512" id="fas-th" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M64 32C28.7 32 0 60.7 0 96v320c0 35.3 28.7 64 64 64h384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zm88 64v64H64V96h88zm56 0h88v64h-88V96zm240 0v64h-88V96h88zM64 224h88v64H64v-64zm232 0v64h-88v-64h88zm64 0h88v64h-88v-64zM152 352v64H64v-64h88zm56 0h88v64h-88v-64zm240 0v64h-88v-64h88z"/></symbol><symbol class="gisvg-inline--fa gifa-table-list" viewBox="0 0 512 512" id="fas-th-list" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M0 96c0-35.3 28.7-64 64-64h384c35.3 0 64 28.7 64 64v320c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm64 0v64h64V96H64zm384 0H192v64h256V96zM64 224v64h64v-64H64zm384 0H192v64h256v-64zM64 352v64h64v-64H64zm384 0H192v64h256v-64z"/></symbol><symbol class="gksvg-inline--fa gkfa-temperature-three-quarters" viewBox="0 0 320 512" id="fas-thermometer-three-quarters" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M160 64c-26.5 0-48 21.5-48 48v164.5c0 17.3-7.1 31.9-15.3 42.5C86.2 332.6 80 349.5 80 368c0 44.2 35.8 80 80 80s80-35.8 80-80c0-18.5-6.2-35.4-16.7-48.9-8.2-10.6-15.3-25.2-15.3-42.5V112c0-26.5-21.5-48-48-48zM48 112C48 50.2 98.1 0 160 0s112 50.1 112 112v164.5c0 .1.1.3.2.6.2.6.8 1.6 1.7 2.8 18.9 24.4 30.1 55 30.1 88.1 0 79.5-64.5 144-144 144S16 447.5 16 368c0-33.2 11.2-63.8 30.1-88.1.9-1.2 1.5-2.2 1.7-2.8.1-.3.2-.5.2-.6V112zm160 256c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-20.9 13.4-38.7 32-45.3V144c0-8.8 7.2-16 16-16s16 7.2 16 16v178.7c18.6 6.6 32 24.4 32 45.3z"/></symbol><symbol class="glsvg-inline--fa glfa-ticket-simple" viewBox="0 0 576 512" id="fas-ticket-alt" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M0 128c0-35.3 28.7-64 64-64h448c35.3 0 64 28.7 64 64v64c0 8.8-7.4 15.7-15.7 18.6C541.5 217.1 528 235 528 256s13.5 38.9 32.3 45.4c8.3 2.9 15.7 9.8 15.7 18.6v64c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64v-64c0-8.8 7.4-15.7 15.7-18.6C34.5 294.9 48 277 48 256s-13.5-38.9-32.3-45.4C7.4 207.7 0 200.8 0 192v-64z"/></symbol><symbol class="gnsvg-inline--fa gnfa-droplet" viewBox="0 0 384 512" id="fas-tint" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M192 512C86 512 0 426 0 320 0 228.8 130.2 57.7 166.6 11.7c6-7.5 14.9-11.7 24.5-11.7h1.8c9.6 0 18.5 4.2 24.5 11.7C253.8 57.7 384 228.8 384 320c0 106-86 192-192 192zM96 336c0-8.8-7.2-16-16-16s-16 7.2-16 16c0 61.9 50.1 112 112 112 8.8 0 16-7.2 16-16s-7.2-16-16-16c-44.2 0-80-35.8-80-80z"/></symbol><symbol class="gmsvg-inline--fa gmfa-droplet-slash" viewBox="0 0 640 512" id="fas-tint-slash" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M320 512c53.2 0 101.4-21.6 136.1-56.6l-298.3-235C140 257.1 128 292.3 128 320c0 106 86 192 192 192zm185.2-141.3c4.4-16.1 6.8-33.1 6.8-50.7 0-91.2-130.2-262.3-166.6-308.3-6-7.5-14.9-11.7-24.5-11.7h-1.8c-9.6 0-18.5 4.2-24.5 11.7C277.8 33 240.7 81.3 205.8 136L38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2s-6.3 25.5 4.1 33.7l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7l-125.6-98.4zM224 336c0 44.2 35.8 80 80 80 8.8 0 16 7.2 16 16s-7.2 16-16 16c-61.9 0-112-50.1-112-112 0-8.8 7.2-16 16-16s16 7.2 16 16z"/></symbol><symbol class="gosvg-inline--fa gofa-toilet" viewBox="0 0 448 512" id="fas-toilet" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M24 0C10.7 0 0 10.7 0 24s10.7 24 24 24h8v148.9c-1.9 1.4-3.8 2.9-5.6 4.4C10.9 214.5 0 232.9 0 256c0 46.9 14.3 84.1 37 112.5 14.2 17.7 31.1 31.3 48.5 41.8l-19.9 59.6c-3.3 9.8-1.6 20.5 4.4 28.8S85.7 512 96 512h256c10.3 0 19.9-4.9 26-13.3s7.7-19.1 4.4-28.8l-19.8-59.5c17.4-10.5 34.3-24.1 48.5-41.8 22.7-28.4 37-65.5 37-112.5 0-23.1-10.9-41.5-26.4-54.6-1.8-1.5-3.7-3-5.6-4.4V48h8c13.3 0 24-10.7 24-24s-10.7-24-24-24H24zm360 256.3c0 1-.3 2.6-3.8 5.6-4.8 4.1-14 9-29.3 13.4C320.5 284 276.1 288 224 288s-96.5-4-126.9-12.8c-15.3-4.4-24.5-9.3-29.3-13.4-3.5-3-3.8-4.6-3.8-5.6v-.4c0-1 0-2.5 3.8-5.8 4.8-4.1 14-9 29.3-13.4C127.5 228 171.9 224 224 224s96.5 4 126.9 12.8c15.3 4.4 24.5 9.3 29.3 13.4 3.8 3.2 3.8 4.8 3.8 5.8v.4zM328.2 384l-.2.5v-.5h.2zM112 64h32c8.8 0 16 7.2 16 16s-7.2 16-16 16h-32c-8.8 0-16-7.2-16-16s7.2-16 16-16z"/></symbol><symbol class="gpsvg-inline--fa gpfa-screwdriver-wrench" viewBox="0 0 512 512" id="fas-tools" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M78.6 5c-9.5-7.4-23-6.5-31.6 2L7 47c-8.5 8.5-9.4 22-2.1 31.6l80 104c4.5 5.9 11.6 9.4 19 9.4H158l109 109c-14.7 29-10 65.4 14.3 89.6l112 112c12.5 12.5 32.8 12.5 45.3 0l64-64c12.5-12.5 12.5-32.8 0-45.3l-112-112c-24.2-24.2-60.6-29-89.6-14.3L192 158v-54c0-7.5-3.5-14.5-9.4-19L78.6 5zM19.9 396.1C7.2 408.8 0 426.1 0 444.1 0 481.6 30.4 512 67.9 512c18 0 35.3-7.2 48-19.9l117.8-117.8c-7.8-20.9-9-43.6-3.6-65.1l-61.7-61.7L19.9 396.1zM512 144c0-10.5-1.1-20.7-3.2-30.5-2.4-11.2-16.1-14.1-24.2-6l-63.9 63.9c-3 3-7.1 4.7-11.3 4.7H352c-8.8 0-16-7.2-16-16v-57.5c0-4.2 1.7-8.3 4.7-11.3l63.9-63.9c8.1-8.1 5.2-21.8-6-24.2C388.7 1.1 378.5 0 368 0c-79.5 0-144 64.5-144 144v.8l85.3 85.3c36-9.1 75.8.5 104 28.7l15.7 15.7c49-23 83-72.8 83-130.5zM56 432a24 24 0 1 1 48 0 24 24 0 1 1-48 0z"/></symbol><symbol class="gqsvg-inline--fa gqfa-tractor" viewBox="0 0 640 512" id="fas-tractor" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M96 64c0-35.3 28.7-64 64-64h106.3c26.2 0 49.7 15.9 59.4 40.2l48 119.8H480v-33.8c0-24.8 5.8-49.3 16.9-71.6l2.5-5c7.9-15.8 27.1-22.2 42.9-14.3s22.2 27.1 14.3 42.9l-2.5 5c-6.7 13.3-10.1 28-10.1 42.9V160h56c22.1 0 40 17.9 40 40v45.4c0 16.5-8.5 31.9-22.6 40.7l-43.3 27.1c-14.2-5.9-29.8-9.2-46.1-9.2-39.3 0-74.1 18.9-96 48h-80c0 17.7-14.3 32-32 32h-8.2c-1.7 4.8-3.7 9.5-5.8 14.1l5.8 5.8c12.5 12.5 12.5 32.8 0 45.3l-22.6 22.6c-12.5 12.5-32.8 12.5-45.3 0l-5.8-5.8c-4.6 2.2-9.3 4.1-14.1 5.8v8.2c0 17.7-14.3 32-32 32h-32c-17.7 0-32-14.3-32-32v-8.2c-4.8-1.7-9.5-3.7-14.1-5.8l-5.8 5.8c-12.5 12.5-32.8 12.5-45.3 0l-22.6-22.7c-12.5-12.5-12.5-32.8 0-45.3L46 398c-2.2-4.6-4.1-9.3-5.8-14.1H32c-17.7 0-32-14.3-32-32V320c0-17.7 14.3-32 32-32h8.2c1.7-4.8 3.7-9.5 5.8-14.1l-5.8-5.8c-12.5-12.5-12.5-32.8 0-45.3l22.6-22.6c9-9 21.9-11.5 33.1-7.6V64zm170.3 0H160v96h144.7l-38.4-96zM176 256a80 80 0 1 0 0 160 80 80 0 1 0 0-160zm352 192a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm0 64c-48.6 0-88-39.4-88-88 0-29.8 14.8-56.1 37.4-72 14.3-10.1 31.8-16 50.6-16 2.7 0 5.3.1 7.9.3 44.9 4 80.1 41.7 80.1 87.7 0 48.6-39.4 88-88 88z"/></symbol><symbol class="grsvg-inline--fa grfa-cable-car" viewBox="0 0 512 512" id="fas-tram" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M288 0a32 32 0 1 1 0 64 32 32 0 1 1 0-64zM160 56a32 32 0 1 1 64 0 32 32 0 1 1-64 0zM32 288c0-35.3 28.7-64 64-64h136v-66.5l-203.1 42c-13 2.7-25.7-5.7-28.4-18.6s5.7-25.7 18.6-28.4l232-48 232-48c13-2.7 25.7 5.7 28.4 18.6s-5.7 25.7-18.6 28.4l-212.9 44V224h136c35.3 0 64 28.7 64 64v160c0 35.3-28.7 64-64 64H96c-35.3 0-64-28.7-64-64V288zm64 0c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-64c0-8.8-7.2-16-16-16H96zm112 16v64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-64c0-8.8-7.2-16-16-16h-64c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16v64c0 8.8 7.2 16 16 16h64c8.8 0 16-7.2 16-16v-64c0-8.8-7.2-16-16-16h-64z"/></symbol><symbol class="gssvg-inline--fa gsfa-trash-arrow-up" viewBox="0 0 448 512" id="fas-trash-restore" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M163.8 0h120.4c12.1 0 23.2 6.8 28.6 17.7L320 32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64s14.3-32 32-32h96l7.2-14.3C140.6 6.8 151.7 0 163.8 0zM32 128h384l-21.2 339c-1.6 25.3-22.6 45-47.9 45H101.1c-25.3 0-46.3-19.7-47.9-45L32 128zm192 64c-6.4 0-12.5 2.5-17 7l-80 80c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l39-39V408c0 13.3 10.7 24 24 24s24-10.7 24-24V273.9l39 39c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-80-80c-4.5-4.5-10.6-7-17-7z"/></symbol><symbol class="gtsvg-inline--fa gtfa-triangle-exclamation" viewBox="0 0 512 512" id="fas-triangle-exclamation" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7.2 40.1S486.3 480 472 480H40c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8.2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24v112c0 13.3 10.7 24 24 24s24-10.7 24-24V184c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0-64 0 32 32 0 1 0 64 0z"/></symbol><symbol class="gusvg-inline--fa gufa-trophy" viewBox="0 0 576 512" id="fas-trophy" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M400 0H176c-26.5 0-48.1 21.8-47.1 48.2.2 5.3.4 10.6.7 15.8H24C10.7 64 0 74.7 0 88c0 92.6 33.5 157 78.5 200.7 44.3 43.1 98.3 64.8 138.1 75.8 23.4 6.5 39.4 26 39.4 45.6 0 20.9-17 37.9-37.9 37.9H192c-17.7 0-32 14.3-32 32s14.3 32 32 32h192c17.7 0 32-14.3 32-32s-14.3-32-32-32h-26.1c-20.9 0-37.9-17-37.9-37.9 0-19.6 15.9-39.2 39.4-45.6 39.9-11 93.9-32.7 138.2-75.8C542.5 245 576 180.6 576 88c0-13.3-10.7-24-24-24H446.4c.3-5.2.5-10.4.7-15.8C448.1 21.8 426.5 0 400 0zM48.9 112h84.4c9.1 90.1 29.2 150.3 51.9 190.6-24.9-11-50.8-26.5-73.2-48.3-32-31.1-58-76-63-142.3zm415.2 142.3c-22.4 21.8-48.3 37.3-73.2 48.3 22.7-40.3 42.8-100.5 51.9-190.6h84.4c-5.1 66.3-31.1 111.2-63 142.3z"/></symbol><symbol class="gvsvg-inline--fa gvfa-truck-fast" viewBox="0 0 640 512" id="fas-truck-fast" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M112 0C85.5 0 64 21.5 64 48v48H16c-8.8 0-16 7.2-16 16s7.2 16 16 16h256c8.8 0 16 7.2 16 16s-7.2 16-16 16H48c-8.8 0-16 7.2-16 16s7.2 16 16 16h192c8.8 0 16 7.2 16 16s-7.2 16-16 16H16c-8.8 0-16 7.2-16 16s7.2 16 16 16h192c8.8 0 16 7.2 16 16s-7.2 16-16 16H64v128c0 53 43 96 96 96s96-43 96-96h128c0 53 43 96 96 96s96-43 96-96h32c17.7 0 32-14.3 32-32s-14.3-32-32-32V237.3c0-17-6.7-33.3-18.7-45.3L512 114.7c-12-12-28.3-18.7-45.3-18.7H416V48c0-26.5-21.5-48-48-48H112zm432 237.3V256H416v-96h50.7l77.3 77.3zM160 368a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm272 48a48 48 0 1 1 96 0 48 48 0 1 1-96 0z"/></symbol><symbol class="gwsvg-inline--fa gwfa-truck-ramp-box" viewBox="0 0 640 512" id="fas-truck-loading" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M640 0v400c0 61.9-50.1 112-112 112-61 0-110.5-48.7-112-109.3L48.4 502.9c-17.1 4.6-34.6-5.4-39.3-22.5s5.4-34.6 22.5-39.3L352 353.8V64c0-35.3 28.7-64 64-64h224zm-64 400a48 48 0 1 0-96 0 48 48 0 1 0 96 0zM23.1 207.7c-4.6-17.1 5.6-34.6 22.6-39.2l46.4-12.4 20.7 77.3c2.3 8.5 11.1 13.6 19.6 11.3l30.9-8.3c8.5-2.3 13.6-11.1 11.3-19.6l-20.7-77.3 46.4-12.4c17.1-4.6 34.6 5.6 39.2 22.6l41.4 154.5c4.6 17.1-5.6 34.6-22.6 39.2l-154.6 41.5c-17.1 4.6-34.6-5.6-39.2-22.6L23.1 207.7z"/></symbol><symbol class="gxsvg-inline--fa gxfa-truck-monster" viewBox="0 0 640 512" id="fas-truck-monster" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M288 64v64h128l-48-64h-80zm131.2-38.4L496 128h80c17.7 0 32 14.3 32 32v64c17.7 0 32 14.3 32 32s-14.3 32-32 32c-29.2-38.9-75.7-64-128-64s-98.8 25.1-128 64h-64c-29.2-38.9-75.7-64-128-64s-98.8 25.1-128 64c-17.7 0-32-14.3-32-32s14.3-32 32-32v-64c0-17.7 14.3-32 32-32h160V48c0-26.5 21.5-48 48-48h96c20.1 0 39.1 9.5 51.2 25.6zM152 256h16c12.1 0 22.1 8.9 23.8 20.6 7.6 2.2 14.9 5.3 21.7 9 9.4-7 22.8-6.3 31.3 2.3l11.3 11.3c8.6 8.6 9.3 21.9 2.3 31.3 3.7 6.8 6.8 14.1 9 21.7C279 353.9 288 363.9 288 376v16c0 12.1-8.9 22.1-20.6 23.8-2.2 7.6-5.3 14.9-9 21.7 7 9.4 6.3 22.8-2.3 31.3l-11.3 11.3c-8.6 8.6-21.9 9.3-31.3 2.2-6.8 3.7-14.1 6.8-21.7 9-1.7 11.8-11.7 20.7-23.8 20.7h-16c-12.1 0-22.1-8.9-23.8-20.6-7.6-2.2-14.9-5.3-21.7-9-9.4 7.1-22.8 6.3-31.3-2.2l-11.4-11.3c-8.6-8.6-9.3-21.9-2.3-31.3-3.7-6.9-6.8-14.1-9-21.8C40.9 414.1 32 404.1 32 392v-16c0-12.1 8.9-22.1 20.6-23.8 2.2-7.6 5.3-14.9 9-21.8-7-9.4-6.3-22.8 2.3-31.3l11.3-11.3c8.6-8.6 21.9-9.3 31.3-2.3 6.8-3.7 14.1-6.8 21.7-9 1.7-11.6 11.7-20.6 23.8-20.6zm8 176a48 48 0 1 0 0-96 48 48 0 1 0 0 96zm288.2-155.4C449.9 265 459.9 256 472 256h16c12.1 0 22.1 8.9 23.8 20.6 7.6 2.2 14.9 5.3 21.8 9 9.4-7 22.8-6.3 31.3 2.3l11.3 11.3c8.6 8.6 9.3 21.9 2.2 31.3 3.7 6.8 6.8 14.1 9 21.7C599 353.9 608 363.9 608 376v16c0 12.1-8.9 22.1-20.6 23.8-2.2 7.6-5.3 14.9-9 21.7 7 9.4 6.3 22.8-2.2 31.3l-11.3 11.3c-8.6 8.6-21.9 9.3-31.3 2.2-6.9 3.7-14.1 6.8-21.8 9-1.7 11.8-11.7 20.7-23.8 20.7h-16c-12.1 0-22.1-8.9-23.8-20.6-7.6-2.2-14.9-5.3-21.7-9-9.4 7.1-22.8 6.3-31.3-2.2l-11.3-11.3c-8.6-8.6-9.3-21.9-2.2-31.3-3.7-6.9-6.8-14.1-9-21.8-11.8-1.7-20.7-11.7-20.7-23.8v-16c0-12.1 8.9-22.1 20.6-23.8 2.2-7.6 5.3-14.9 9-21.8-7-9.4-6.3-22.8 2.2-31.3l11.3-11.3c8.6-8.6 21.9-9.3 31.3-2.3 6.8-3.7 14.1-6.8 21.7-9zM528 384a48 48 0 1 0-96 0 48 48 0 1 0 96 0z"/></symbol><symbol class="gysvg-inline--fa gyfa-shirt" viewBox="0 0 640 512" id="fas-tshirt" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M211.8 0c7.8 0 14.3 5.7 16.7 13.2C240.8 51.9 277.1 80 320 80s79.2-28.1 91.5-66.8C413.9 5.7 420.4 0 428.2 0h12.6c22.5 0 44.2 7.9 61.5 22.3l126.2 105.1c6.6 5.5 10.7 13.5 11.4 22.1s-2.1 17.1-7.8 23.6l-56 64c-11.4 13.1-31.2 14.6-44.6 3.5L480 197.7V448c0 35.3-28.7 64-64 64H224c-35.3 0-64-28.7-64-64V197.7l-51.5 42.9c-13.3 11.1-33.1 9.6-44.6-3.5l-56-64c-5.7-6.5-8.5-15-7.8-23.6s4.8-16.6 11.4-22.1L137.7 22.3C155 7.9 176.7 0 199.2 0h12.6z"/></symbol><symbol class="gzsvg-inline--fa gzfa-umbrella-beach" viewBox="0 0 576 512" id="fas-umbrella-beach" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="m346.3 271.8-60.1-21.9L214 448H32c-17.7 0-32 14.3-32 32s14.3 32 32 32h512c17.7 0 32-14.3 32-32s-14.3-32-32-32H282.1l64.1-176.2zm121.1-.2-3.3 9.1 67.7 24.6c18.1 6.6 38-4.2 39.6-23.4 6.5-78.5-23.9-155.5-80.8-208.5 2 8 3.2 16.3 3.4 24.8l.2 6c1.8 57-7.3 113.8-26.8 167.4zM462 99.1c-1.1-34.4-22.5-64.8-54.4-77.4-.9-.4-1.9-.7-2.8-1.1-33-11.7-69.8-2.4-93.1 23.8l-4 4.5C272.4 88.3 245 134.2 226.8 184l-3.3 9.1L434 269.7l3.3-9.1c18.1-49.8 26.6-102.5 24.9-155.5l-.2-6zm-354.8 13.8c-11.1 15.7-2.8 36.8 15.3 43.4l71 25.8 3.3-9.1c19.5-53.6 49.1-103 87.1-145.5l4-4.5c6.2-6.9 13.1-13 20.5-18.2-79.6 2.5-154.7 42.2-201.2 108z"/></symbol><symbol class="hasvg-inline--fa hafa-user-large" viewBox="0 0 512 512" id="fas-user-alt" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M256 288a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm-94.7 32C72.2 320 0 392.2 0 481.3c0 17 13.8 30.7 30.7 30.7h450.6c17 0 30.7-13.8 30.7-30.7 0-89.1-72.2-161.3-161.3-161.3H161.3z"/></symbol><symbol class="hbsvg-inline--fa hbfa-user-gear" viewBox="0 0 640 512" id="fas-user-cog" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M224 0a128 128 0 1 1 0 256 128 128 0 1 1 0-256zm-45.7 304h91.4c11.8 0 23.4 1.2 34.5 3.3-2.1 18.5 7.4 35.6 21.8 44.8-16.6 10.6-26.7 31.6-20 53.3 4 12.9 9.4 25.5 16.4 37.6s15.2 23.1 24.4 33c15.7 16.9 39.6 18.4 57.2 8.7v.9c0 9.2 2.7 18.5 7.9 26.3H29.7C13.3 512 0 498.7 0 482.3 0 383.8 79.8 304 178.3 304zM436 218.2c0-7 4.5-13.3 11.3-14.8 10.5-2.4 21.5-3.7 32.7-3.7s22.2 1.3 32.7 3.7c6.8 1.5 11.3 7.8 11.3 14.8v30.6c7.9 3.4 15.4 7.7 22.3 12.8l24.9-14.3c6.1-3.5 13.7-2.7 18.5 2.4 7.6 8.1 14.3 17.2 20.1 27.2s10.3 20.4 13.5 31c2.1 6.7-1.1 13.7-7.2 17.2l-25 14.4c.4 4 .7 8.1.7 12.3s-.2 8.2-.7 12.3l25 14.4c6.1 3.5 9.2 10.5 7.2 17.2-3.3 10.6-7.8 21-13.5 31s-12.5 19.1-20.1 27.2c-4.8 5.1-12.5 5.9-18.5 2.4L546.3 442c-6.9 5.1-14.3 9.4-22.3 12.8v30.6c0 7-4.5 13.3-11.3 14.8-10.5 2.4-21.5 3.7-32.7 3.7s-22.2-1.3-32.7-3.7c-6.8-1.5-11.3-7.8-11.3-14.8v-30.6c-8-3.4-15.6-7.7-22.5-12.9l-24.7 14.3c-6.1 3.5-13.7 2.7-18.5-2.4-7.6-8.1-14.3-17.2-20.1-27.2s-10.3-20.4-13.5-31c-2.1-6.7 1.1-13.7 7.2-17.2l24.8-14.3c-.4-4.1-.7-8.2-.7-12.4s.2-8.3.7-12.4L343.8 325c-6.1-3.5-9.2-10.5-7.2-17.2 3.3-10.6 7.7-21 13.5-31s12.5-19.1 20.1-27.2c4.8-5.1 12.4-5.9 18.5-2.4l24.8 14.3c6.9-5.1 14.5-9.4 22.5-12.9v-30.4zm92.1 133.5a48.1 48.1 0 1 0-96.1 0 48.1 48.1 0 1 0 96.1 0z"/></symbol><symbol class="hcsvg-inline--fa hcfa-user-secret" viewBox="0 0 448 512" id="fas-user-secret" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M224 16c-6.7 0-10.8-2.8-15.5-6.1C201.9 5.4 194 0 176 0c-30.5 0-52 43.7-66 89.4-47.3 8.7-78 22.8-78 38.6 0 14.3 25 27.1 64.6 35.9-.4 4-.6 8-.6 12.1 0 17 3.3 33.2 9.3 48H45.4C38 224 32 230 32 237.4c0 1.7.3 3.4 1 5l38.8 96.9C28.2 371.8 0 423.8 0 482.3 0 498.7 13.3 512 29.7 512h388.6c16.4 0 29.7-13.3 29.7-29.7 0-58.5-28.2-110.4-71.7-143l38.7-96.9c.6-1.6 1-3.3 1-5 0-7.4-6-13.4-13.4-13.4h-59.9c6-14.8 9.3-31 9.3-48 0-4.1-.2-8.1-.6-12.1C391 155.1 416 142.3 416 128c0-15.8-30.7-29.9-78-38.6C324 43.7 302.5 0 272 0c-18 0-25.9 5.4-32.5 9.9-4.8 3.3-8.8 6.1-15.5 6.1zm56 208h-12.4c-16.5 0-31.1-10.6-36.3-26.2-2.3-7-12.2-7-14.5 0-5.2 15.6-19.9 26.2-36.3 26.2H168c-22.1 0-40-17.9-40-40v-14.4c28.2 4.1 61 6.4 96 6.4s67.8-2.3 96-6.4V184c0 22.1-17.9 40-40 40zm-88 96 16 32-32 128-48-192 64 32zm128-32-48 192-32-128 16-32 64-32z"/></symbol><symbol class="hdsvg-inline--fa hdfa-user-tie" viewBox="0 0 448 512" id="fas-user-tie" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M224 256a128 128 0 1 1 0-256 128 128 0 1 1 0 256zm-14.9 103.2-18.6-31c-6.4-10.7 1.3-24.2 13.7-24.2h39.5c12.4 0 20.1 13.6 13.7 24.2l-18.6 31 33.4 123.9 36-146.9c2-8.1 9.8-13.4 17.9-11.3 70.1 17.6 121.9 81 121.9 156.4 0 17-13.8 30.7-30.7 30.7H285.5c-2.1 0-4-.4-5.8-1.1l.3 1.1H168l.3-1.1c-1.8.7-3.8 1.1-5.8 1.1H30.7C13.8 512 0 498.2 0 481.3c0-75.5 51.9-138.9 121.9-156.4 8.1-2 15.9 3.3 17.9 11.3l36 146.9 33.4-123.9z"/></symbol><symbol class="hesvg-inline--fa hefa-users" viewBox="0 0 640 512" id="fas-users" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M144 0a80 80 0 1 1 0 160 80 80 0 1 1 0-160zm368 0a80 80 0 1 1 0 160 80 80 0 1 1 0-160zM0 298.7C0 239.8 47.8 192 106.7 192h42.7c15.9 0 31 3.5 44.6 9.7-1.3 7.2-1.9 14.7-1.9 22.3 0 38.2 16.8 72.5 43.3 96H21.3C9.6 320 0 310.4 0 298.7zM405.3 320h-.7c26.6-23.5 43.3-57.8 43.3-96 0-7.6-.7-15-1.9-22.3 13.6-6.3 28.7-9.7 44.6-9.7h42.7c58.9 0 106.7 47.8 106.7 106.7 0 11.8-9.6 21.3-21.3 21.3H405.3zM224 224a96 96 0 1 1 192 0 96 96 0 1 1-192 0zm-96 261.3c0-73.6 59.7-133.3 133.3-133.3h117.4c73.6 0 133.3 59.7 133.3 133.3 0 14.7-11.9 26.7-26.7 26.7H154.7c-14.7 0-26.7-11.9-26.7-26.7z"/></symbol><symbol class="hfsvg-inline--fa hffa-vector-square" viewBox="0 0 448 512" id="fas-vector-square" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M368 80h32v32h-32V80zm-16-48c-17.7 0-32 14.3-32 32H128c0-17.7-14.3-32-32-32H32C14.3 32 0 46.3 0 64v64c0 17.7 14.3 32 32 32v192c-17.7 0-32 14.3-32 32v64c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32h192c0 17.7 14.3 32 32 32h64c17.7 0 32-14.3 32-32v-64c0-17.7-14.3-32-32-32V160c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32h-64zM96 160c17.7 0 32-14.3 32-32h192c0 17.7 14.3 32 32 32v192c-17.7 0-32 14.3-32 32H128c0-17.7-14.3-32-32-32V160zM48 400h32v32H48v-32zm320 32v-32h32v32h-32zM48 112V80h32v32H48z"/></symbol><symbol class="hgsvg-inline--fa hgfa-vest" viewBox="0 0 448 512" id="fas-vest" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M207.1 237.4 151.2 69.7C168.6 79.7 192.6 88 224 88s55.4-8.3 72.8-18.3l-70.3 210.9c-1.6 4.9-2.5 10-2.5 15.2V464c0 26.5 21.5 48 48 48h128c26.5 0 48-21.5 48-48V270.5c0-9.5-2.8-18.7-8.1-26.6L392 172.1c-5.3-7.9-8.1-17.1-8.1-26.6V48c0-26.5-21.5-48-48-48h-6.3c-18.6 0-33.9 9.7-43.9 18.8C276.4 27.2 257.2 40 224 40s-52.4-12.8-61.7-21.2C152.3 9.7 137 0 118.3 0H112C85.5 0 64 21.5 64 48v97.5c0 9.5-2.8 18.7-8.1 26.6L8.1 243.9C2.8 251.8 0 261.1 0 270.5V464c0 26.5 21.5 48 48 48h128c9.9 0 19-3 26.7-8.1-6.8-11.7-10.7-25.4-10.7-39.9V295.8c0-8.6 1.4-17.1 4.1-25.3l11-33.1zm140.2 119.3 48 48c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0l-48-48c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0zm-294.6 48 48-48c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6l-48 48c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6z"/></symbol><symbol class="hhsvg-inline--fa hhfa-vial" viewBox="0 0 512 512" id="fas-vial" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M342.6 9.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l9.4 9.4L28.1 342.6C10.1 360.6 0 385 0 410.5v5.5c0 53 43 96 96 96h5.5c25.5 0 49.9-10.1 67.9-28.1L448 205.3l9.4 9.4c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3l-32-32-96-96-32-32zM205.3 256 352 109.3l50.7 50.7-96 96H205.3z"/></symbol><symbol class="hisvg-inline--fa hifa-video" viewBox="0 0 576 512" id="fas-video" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M0 128c0-35.3 28.7-64 64-64h256c35.3 0 64 28.7 64 64v256c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V128zm559.1-28.2c10.4 5.6 16.9 16.4 16.9 28.2v256c0 11.8-6.5 22.6-16.9 28.2s-23 5-32.9-1.6l-96-64-14.2-9.5V174.9l14.2-9.5 96-64c9.8-6.5 22.4-7.2 32.9-1.6z"/></symbol><symbol class="hjsvg-inline--fa hjfa-vihara" viewBox="0 0 640 512" id="fas-vihara" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="m281 22 24.8-17.3c1.3-.9 2.7-1.8 4.1-2.4C313.1.7 316.6 0 320 0s6.9.7 10.1 2.2c1.4.7 2.8 1.5 4.1 2.4L359 22c34 23.8 71.8 41.5 111.8 52.4l23 6.3c1.8.5 3.6 1.1 5.2 2 3.2 1.7 5.9 4 8.1 6.8 3.8 4.9 5.6 11.3 4.7 17.8-.4 2.8-1.2 5.4-2.5 7.8-1.7 3.2-4 5.9-6.8 8.1-4.3 3.2-9.6 5.1-15.1 4.9H480v56.1l6.4 5.1 5.2 4.1c21.1 16.7 45 29.6 70.5 38.1l28.9 9.6c1.6.5 3.2 1.2 4.6 2 3.1 1.7 5.8 4.1 7.8 6.9s3.5 6.1 4.1 9.6c.5 2.7.6 5.5.1 8.3s-1.4 5.4-2.7 7.8c-1.7 3.1-4.1 5.8-6.9 7.8s-6.1 3.5-9.6 4.1c-1.6.3-3.3.4-5 .4H544v65.9c20.5 22.8 47.4 39.2 77.4 46.7C632 403 640 412.6 640 424c0 13.3-10.7 24-24 24h-40v32c0 17.7-14.3 32-32 32s-32-14.3-32-32v-32H352v32c0 17.7-14.3 32-32 32s-32-14.3-32-32v-32H128v32c0 17.7-14.3 32-32 32s-32-14.3-32-32v-32H24c-13.3 0-24-10.7-24-24 0-11.4 8-21 18.6-23.4 30-7.6 56.9-23.9 77.4-46.7V288H56.6c-1.7 0-3.4-.1-5-.4-3.5-.7-6.8-2.1-9.6-4.1s-5.2-4.7-7-7.8c-1.3-2.4-2.3-5-2.7-7.8s-.4-5.6.1-8.3c.7-3.5 2.1-6.8 4.1-9.6s4.7-5.2 7.8-6.9c1.4-.8 3-1.5 4.6-2l28.9-9.6c25.5-8.5 49.4-21.4 70.5-38.1l5.2-4.1 6.4-5.1V128h-7.5c-5.5.1-10.8-1.7-15.1-4.9-2.8-2.1-5.1-4.8-6.8-8.1-1.2-2.4-2.1-5-2.5-7.8-.9-6.5.9-12.8 4.7-17.8 2.1-2.8 4.8-5.1 8.1-6.8 1.6-.8 3.4-1.5 5.2-2l23-6.3c40.2-10.8 78-28.5 112-52.3zm135 106H224v64h192v-64zM160 288v64h320v-64H160z"/></symbol><symbol class="hksvg-inline--fa hkfa-volume-high" viewBox="0 0 640 512" id="fas-volume-up" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M533.6 32.5C598.5 85.3 640 165.8 640 256s-41.5 170.8-106.4 223.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8c54.2-44 88.7-111 88.7-186.2s-34.5-142.2-88.7-186.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zM473.1 107c43.2 35.2 70.9 88.9 70.9 149s-27.7 113.8-70.9 149c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C475.3 341.3 496 301.1 496 256s-20.7-85.3-53.2-111.8c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zm-60.5 74.5c21.5 17.6 35.4 44.4 35.4 74.5s-13.9 56.9-35.4 74.5c-10.3 8.4-25.4 6.8-33.8-3.5s-6.8-25.4 3.5-33.8C393.1 284.4 400 271 400 256s-6.9-28.4-17.7-37.3c-10.3-8.4-11.8-23.5-3.5-33.8s23.5-11.8 33.8-3.5zM301.1 34.8C312.6 40 320 51.4 320 64v384c0 12.6-7.4 24-18.9 29.2s-25 3.1-34.4-5.3L131.8 352H64c-35.3 0-64-28.7-64-64v-64c0-35.3 28.7-64 64-64h67.8L266.7 40.1c9.4-8.4 22.9-10.4 34.4-5.3z"/></symbol><symbol class="hlsvg-inline--fa hlfa-check-to-slot" viewBox="0 0 576 512" id="fas-vote-yea" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M96 80c0-26.5 21.5-48 48-48h288c26.5 0 48 21.5 48 48v304H96V80zm313 47c-9.4-9.4-24.6-9.4-33.9 0l-111 111-47-47c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l64 64c9.4 9.4 24.6 9.4 33.9 0L409 161c9.4-9.4 9.4-24.6 0-33.9zM0 336c0-26.5 21.5-48 48-48h16v128h448V288h16c26.5 0 48 21.5 48 48v96c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48v-96z"/></symbol><symbol class="hmsvg-inline--fa hmfa-warehouse" viewBox="0 0 640 512" id="fas-warehouse" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M0 488V171.3c0-26.2 15.9-49.7 40.2-59.4L308.1 4.8c7.6-3.1 16.1-3.1 23.8 0l267.9 107.1c24.3 9.7 40.2 33.3 40.2 59.4V488c0 13.3-10.7 24-24 24h-48c-13.3 0-24-10.7-24-24V224c0-17.7-14.3-32-32-32H128c-17.7 0-32 14.3-32 32v264c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24zm488 24H152c-13.3 0-24-10.7-24-24v-56h384v56c0 13.3-10.7 24-24 24zM128 400v-64h384v64H128zm0-96v-80h384v80H128z"/></symbol><symbol class="hosvg-inline--fa hofa-weight-scale" viewBox="0 0 512 512" id="fas-weight" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M128 176a128 128 0 1 1 256 0 128 128 0 1 1-256 0zM391.8 64C359.5 24.9 310.7 0 256 0S152.5 24.9 120.2 64H64C28.7 64 0 92.7 0 128v320c0 35.3 28.7 64 64 64h384c35.3 0 64-28.7 64-64V128c0-35.3-28.7-64-64-64h-56.2zM296 224c0-10.6-4.1-20.2-10.9-27.4l33.6-78.3c3.5-8.1-.3-17.5-8.4-21s-17.5.3-21 8.4L255.7 184c-22 .1-39.7 18-39.7 40 0 22.1 17.9 40 40 40s40-17.9 40-40z"/></symbol><symbol class="hnsvg-inline--fa hnfa-weight-hanging" viewBox="0 0 512 512" id="fas-weight-hanging" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M224 96a32 32 0 1 1 64 0 32 32 0 1 1-64 0zm122.5 32c3.5-10 5.5-20.8 5.5-32 0-53-43-96-96-96s-96 43-96 96c0 11.2 1.9 22 5.5 32H120c-22 0-41.2 15-46.6 36.4l-72 288c-3.6 14.3-.4 29.5 8.7 41.2S33.2 512 48 512h416c14.8 0 28.7-6.8 37.8-18.5s12.3-26.8 8.7-41.2l-72-288C433.2 143 414 128 392 128h-45.5z"/></symbol><symbol class="hpsvg-inline--fa hpfa-wifi" viewBox="0 0 640 512" id="fas-wifi" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M54.2 202.9C123.2 136.7 216.8 96 320 96s196.8 40.7 265.8 106.9c12.8 12.2 33 11.8 45.2-.9s11.8-33-.9-45.2C549.7 79.5 440.4 32 320 32S90.3 79.5 9.8 156.7C-2.9 169-3.3 189.2 8.9 202s32.5 13.2 45.2.9zM320 256c56.8 0 108.6 21.1 148.2 56 13.3 11.7 33.5 10.4 45.2-2.8s10.4-33.5-2.8-45.2C459.8 219.2 393 192 320 192s-139.8 27.2-190.5 72c-13.3 11.7-14.5 31.9-2.8 45.2s31.9 14.5 45.2 2.8c39.5-34.9 91.3-56 148.2-56zm64 160a64 64 0 1 0-128 0 64 64 0 1 0 128 0z"/></symbol><symbol class="hqsvg-inline--fa hqfa-wine-bottle" viewBox="0 0 512 512" id="fas-wine-bottle" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M393.4 9.4c12.5-12.5 32.8-12.5 45.3 0l64 64c12.5 12.5 12.5 32.8 0 45.3-11.8 11.8-30.7 12.5-43.2 1.9l-9.5 9.5-48.8 48.8c-9.2 9.2-11.5 22.9-8.6 35.6 9.4 40.9-1.9 85.6-33.8 117.5L197.3 493.3c-25 25-65.5 25-90.5 0l-88-88c-25-25-25-65.5 0-90.5l161.4-161.5c31.9-31.9 76.6-43.1 117.5-33.8 12.6 2.9 26.4.5 35.5-8.6L382 62.1l9.5-9.5c-10.6-12.6-10-31.4 1.9-43.2zM99.3 347.3l65.4 65.4c6.2 6.2 16.4 6.2 22.6 0l97.4-97.4c6.2-6.2 6.2-16.4 0-22.6l-65.4-65.4c-6.2-6.2-16.4-6.2-22.6 0l-97.4 97.4c-6.2 6.2-6.2 16.4 0 22.6z"/></symbol><symbol class="hrsvg-inline--fa hrfa-yin-yang" viewBox="0 0 512 512" id="fas-yin-yang" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M256 64c53 0 96 43 96 96s-43 96-96 96-96 43-96 96 43 96 96 96c-106 0-192-86-192-192S150 64 256 64zm0 448a256 256 0 1 0 0-512 256 256 0 1 0 0 512zm32-352a32 32 0 1 0-64 0 32 32 0 1 0 64 0zm-64 192a32 32 0 1 1 64 0 32 32 0 1 1-64 0z"/></symbol></svg>
\ No newline at end of file
index 6e8e20ba68fe5deac22fbfa09a2e5b61a49f9e2f..0e51f34086a974478e44550921495494ba9f5359 100644 (file)
@@ -61,6 +61,14 @@ L.OSM.HOT = L.OSM.TileLayer.extend({
   }
 });
 
+L.OSM.TracestrackTopo = L.OSM.TileLayer.extend({
+  options: {
+    url: 'https://tile.tracestrack.com/topo__/{z}/{x}/{y}.png?key={apikey}',
+    maxZoom: 19,
+    attribution: '© <a href="https://www.openstreetmap.org/copyright" target="_blank">OpenStreetMap</a> contributors. Tiles courtesy of <a href="https://www.tracestrack.com/" target="_blank">Tracestrack Maps</a>'
+  }
+});
+
 L.OSM.GPS = L.OSM.TileLayer.extend({
   options: {
     url: 'https://gps.tile.openstreetmap.org/lines/{z}/{x}/{y}.png',
index 5ff60cd309f263db36b99d2d5011f7e4814e684a..bde99b23e26e3c4564fb8a8ff9de0f5da3601c09 100644 (file)
--- a/yarn.lock
+++ b/yarn.lock
     minimatch "^3.1.2"
     strip-json-comments "^3.1.1"
 
-"@eslint/js@^8.47.0":
-  version "8.47.0"
-  resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.47.0.tgz#5478fdf443ff8158f9de171c704ae45308696c7d"
-  integrity sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==
+"@eslint/js@8.50.0":
+  version "8.50.0"
+  resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.50.0.tgz#9e93b850f0f3fa35f5fa59adfd03adae8488e484"
+  integrity sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==
 
-"@humanwhocodes/config-array@^0.11.10":
-  version "0.11.10"
-  resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.10.tgz#5a3ffe32cc9306365fb3fd572596cd602d5e12d2"
-  integrity sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==
+"@humanwhocodes/config-array@^0.11.11":
+  version "0.11.11"
+  resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.11.tgz#88a04c570dbbc7dd943e4712429c3df09bc32844"
+  integrity sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==
   dependencies:
     "@humanwhocodes/object-schema" "^1.2.1"
     debug "^4.1.1"
@@ -224,15 +224,15 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4
   integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
 
 eslint@^8.0.0:
-  version "8.47.0"
-  resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.47.0.tgz#c95f9b935463fb4fad7005e626c7621052e90806"
-  integrity sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==
+  version "8.50.0"
+  resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.50.0.tgz#2ae6015fee0240fcd3f83e1e25df0287f487d6b2"
+  integrity sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==
   dependencies:
     "@eslint-community/eslint-utils" "^4.2.0"
     "@eslint-community/regexpp" "^4.6.1"
     "@eslint/eslintrc" "^2.1.2"
-    "@eslint/js" "^8.47.0"
-    "@humanwhocodes/config-array" "^0.11.10"
+    "@eslint/js" "8.50.0"
+    "@humanwhocodes/config-array" "^0.11.11"
     "@humanwhocodes/module-importer" "^1.0.1"
     "@nodelib/fs.walk" "^1.2.8"
     ajv "^6.12.4"
@@ -568,9 +568,9 @@ optionator@^0.9.3:
     type-check "^0.4.0"
 
 osm-community-index@^5.2.0:
-  version "5.5.4"
-  resolved "https://registry.yarnpkg.com/osm-community-index/-/osm-community-index-5.5.4.tgz#8e5ed12eed07206b507bfee594e264500f2d7cd3"
-  integrity sha512-n53euxtwFlJHaTkMCyRxPK+OZJnqkI4zwp9rmEbuzIV57kgkci7qaLDDjt44tszLcXfi8eCTLhKtykU0xIRpVQ==
+  version "5.6.0"
+  resolved "https://registry.yarnpkg.com/osm-community-index/-/osm-community-index-5.6.0.tgz#b2361fce7ded723844b0ed68d47bddfc4a8cb240"
+  integrity sha512-C5AqEWidBIgKeaJKQwuPWvDqSzm9CpZgDbHDi+k4+ZCHBazRQjnl7TpWVv2/fQWMqsJL3I5qzh19rXBTWMWL1A==
   dependencies:
     diacritics "^1.3.0"